|
MeVisLab Toolbox Reference
|
FieldAddOn class supporting inheritance and auto creating tag values (for example DICOM UIDs or tag values). More...
#include <mlDicomValueInheritAndCreateTagInterface.h>
Public Types | |
| enum | { NumInheritModes = 7 } |
| Number of available InheritModes. More... | |
| enum | { DoNotInherit =0 , InheritFromTopLevel , InheritRecursively , CreateNew , CreateNewIfNeeded , InheritFromTopLevelOnlyIfExists , InheritRecursivelyOnlyIfExists } |
| Enumerator for the _inheritValueFld. More... | |
| enum | { NumAutoCreateValueModes = 3 } |
| Number of available _autoCreateValueFld values. More... | |
| enum | { DoNotAutoCreate =0 , AutoCreateAlways , CreateIfNeeded } |
| Enumerator for the _autoCreateFld. More... | |
Public Types inherited from ml::Base | |
| enum | PersistenceInterface { PersistenceByString , PersistenceByTreeNode , PersistenceByStream } |
| This enum describes the different persistence interfaces available. More... | |
Public Types inherited from ml::FieldAddOnBase | |
| enum | FieldChangeState { NoChange = 0 , StatusOnlyChange , RecalculationRequired } |
| Describes the type of a field changes detected in handleFieldChanges(Field *field). More... | |
Public Member Functions | |
| DicomValueInheritAndCreateTagInterface (Module &modRef, DCMTree::RawTagId tagId, const std::string &valueFieldName, const std::string &fieldSuffix, bool valueIsType1, const std::string &dicomModuleInfoString, const bool useDefaultField=false, const std::string &defaultFieldValue="") | |
| Constructor, setting the reference of the module for which the fields shall be managed. | |
| ~DicomValueInheritAndCreateTagInterface () override | |
| Destructor. | |
| void | addFields () override |
| Add fields to field container of module. | |
| void | inheritValues (DCMTree::Const_TreePtr dcmTree) override |
| Implements the copy of tag values from the given dcmTree to the fields. | |
| std::string | applyModifications (DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr) override |
| See DicomModifyFieldAddOnBase::applyModifications() for documentation. | |
| FieldAddOnBase::FieldChangeState | handleFieldChanges (Field *field) override |
| Handle field notifications. | |
| std::string | checkConsistency () const override |
| Checks for invalid parameters; return textual description on error, or empty string on success. | |
| virtual StringField & | getValueFld () |
| See _valueFld. | |
| virtual const StringField & | getValueFld () const |
| Constant read-only access, see _valueFld. | |
| virtual EnumField & | getInheritModeFld () |
| See _inheritModeFld. | |
| virtual const EnumField & | getInheritModeFld () const |
| Constant read-only access, see _inheritModeFld. | |
| virtual StringField * | getDefaultFieldFld () |
| See _defaultFieldFld, returns nullptr if not available. | |
| virtual const StringField * | getDefaultFieldFld () const |
| Constant read-only access, see _defaultFieldFld, returns nullptr if not available. | |
| virtual EnumField & | getAutoCreateValueFld () |
| See _autoCreateValueFld. | |
| virtual const EnumField & | getAutoCreateValueFld () const |
| Constant read-only access, see _autoCreateValueFld. | |
| virtual bool | isDefaultFieldUsed () const |
| See _useDefaultField. | |
| virtual void | setUseDefaultField (bool useDefaultField) |
| On true sets the default field is used or otherwise the default value function. | |
| virtual NotifyField & | getCreateValueFld () |
| See _createValueFld. | |
| virtual const NotifyField & | getCreateValueFld () const |
| Constant read-only access, see _createValueFld. | |
| virtual void | setDefaultCreateFunction (DefaultValueCreatorBase *newDefaultCreator) |
| Sets a new object to create default values if not nullptr, otherwise a CreateDefaultDICOMUID instance is automatically created instead; the passed object must be created with new and ownership is passed to the DicomValueInheritAndCreateTagInterface instance. | |
| virtual const DefaultValueCreatorBase & | getDefaultCreateFunction () const |
| Returns the current default value creator; returned pointer is never nullptr. | |
| virtual void | createValue () |
| Set _valueFld to a new value according to settings of isDefaultFieldUsed() and getDefaultCreatFunction(): if isDefaultFieldUsed and a default field exists then _valueField is set to the value given in getDefaultFieldFld(), otherwise it is set to the value created with getDefautCreateFunction. | |
| virtual void | createValueIfNeeded () |
| Same as createValue() but creates a value only if getValueFld() is empty. | |
Public Member Functions inherited from ml::DicomModifyFieldAddOnBase | |
| DicomModifyFieldAddOnBase (FieldContainer &fieldContainerRef, size_t numInstances=1, bool createInputModifyTagsPluginBaseConnectorField=false, bool createOutputModifyTagsPluginBaseConnectorField=false) | |
| Constructor, setting the reference of the FieldContainer managing the fields, the number of field instances to create and optionally input and output fields to create modification pipelines. | |
| ~DicomModifyFieldAddOnBase () override | |
| Destructor resetting connector fields if they exist. | |
| size_t | getNumInstances () const |
| Returns the number of instances to be created by derived fields. | |
| void | handleFieldActivationChanges () override |
| Handle class changes according to Module::activateAttachments. | |
| BaseField * | getOutputModifierListFld () const |
| Provide access to output base field if it was created. | |
| BaseField * | getInputModifierListFld () const |
| Provide access to input base connector field if it was created. | |
Public Member Functions inherited from ml::DicomModifyList | |
| DicomModifyList () | |
| Constructor creating an empty list of tag modifiers and setting the optional input plugin with a concatenated DicomModifyList. | |
| ~DicomModifyList () override | |
| Destructor also destroying all of its stored Modifiers. | |
| void | addModifier (DicomModifyBase *modifier, bool atEnd=true) |
| Add an object derived from DicomModifyBase which then will be owned (and on destruction deleted) by this. | |
| void | clear () |
| Makes modifier array empty and deletes all of them. | |
| std::vector< DicomModifyBase * > & | getModifierList () |
| Get direct access to internal list to allow callers direct manipulations which, however, must obey the restriction that ownership belongs to *this, i.e. | |
| const std::vector< DicomModifyBase * > & | getModifierList () const |
| Same as getModifierList() only for constant access. | |
| void | setInputPlugin (DicomModifyList *inputPlugin=nullptr) |
| Sets an optional plugin to be called by applyModififcations or resets it to nullptr; the input is called after the objects in _modfiers list. | |
| DicomModifyList * | getInputPlugin () const |
| Returns the optional plugin to be called by applyModififcations. | |
Public Member Functions inherited from ml::Base | |
| Base () | |
| Constructor. | |
| virtual | ~Base () |
| Destructor. | |
| virtual Base * | deepCopy () const |
| Creates a deep copy of the given object. | |
| bool | isOfAllowedType (const std::vector< const RuntimeType * > &types) const |
| Checks whether this object's type is equal to or derived from one of the types given in the argument. | |
| virtual bool | isRefCountedBase () const |
| Returns whether the instance is derived from RefCountedBase. | |
| virtual std::string | detailString () const |
| Returns a string describing this object. | |
| virtual bool | implementsPersistence (PersistenceInterface) const |
| Override this method to declare which persistence interfaces are implemented by your derived class. | |
| virtual std::string | persistentState () const |
| Returns a string describing the object's internal state. | |
| virtual void | setPersistentState (const std::string &state) |
| Restores the object's internal state from a string that had been previously generated using persistentState(). | |
| virtual void | addStateToTree (TreeNode *) const |
| Attaches the object state as children of the given parent node. | |
| virtual void | readStateFromTree (TreeNode *) |
| Reads the object state from the children of the given parent node. | |
| virtual void | writeTo (AbstractPersistenceOutputStream *) const |
| Writes the objects state to the data stream object. | |
| virtual void | readFrom (AbstractPersistenceInputStream *, int) |
| Reads the objects state from the data stream object. | |
Public Member Functions inherited from ml::FieldAddOnBase | |
| FieldAddOnBase (FieldContainer &fieldContainerRef) | |
| Constructor, setting the reference of the FieldContainer managing the fields. | |
| virtual | ~FieldAddOnBase () |
| Destructor. | |
| FieldContainer & | getFieldContainer () |
| Returns the referenced container. | |
| const FieldContainer & | getFieldContainer () const |
| Returns the referenced container. | |
| std::vector< Field * > & | getFields () |
| Return modification access to the list of managed fields, use at own risk! | |
| const std::vector< Field * > & | getFields () const |
| Return constant access to the list of managed fields! | |
| virtual FieldChangeState | getMergedFieldChangeState (FieldChangeState state1, FieldChangeState state2) const |
| Returns a FieldChangeState which best represents a merge of the two given states. | |
| virtual bool | hasField (Field *field) const |
| Returns true if the passed fieldPtr is in _fieldPointers, otherwise false. | |
Static Public Attributes | |
| static const char *const | InheritModeStrings [NumInheritModes] |
| String representations for the _inheritModeFld. | |
| static const char *const | AutoCreateValueModeStrings [NumAutoCreateValueModes] |
| String representations for the _autoCreateValueFld. | |
Protected Attributes | |
| StringField * | _valueFld |
| The (tag) value to be managed. | |
| const DCMTree::RawTagId | _tagId |
| Stores the ID of the DICOM tag to be managed. | |
| const std::string | _valueFieldName |
| Name of the value field. | |
| const std::string | _fieldSuffix |
| Field suffix. | |
| EnumField * | _inheritModeFld |
| Controls whether or how the value is inherited. | |
| EnumField * | _autoCreateValueFld |
| Controls whether or when a new value is generated. | |
| NotifyField * | _createValueFld |
| If notified a new value is created. | |
| const bool | _valueIsType1 |
| If true then the value is handled as Type 1 (mandatory and not empty) tag, otherwise it is allowed to be empty (only for backward compatibility and not recommended). | |
| const std::string | _dicomModuleInfoString |
| Stores the description of the DICOM module for error message generation. | |
| bool | _useDefaultField |
| If enabled then a hidden default field is generated and/or used its value is used instead of a generated default. | |
| const std::string | _defaultInitValue |
| Default value passed to constructor. | |
| StringField * | _defaultFieldFld |
| Used as default value for the hidden default field if _useDefaultFieldFld is true, otherwise not generated. | |
| DefaultValueCreatorBase * | _createDefaultValuePtr |
| The function to create default values if no default field is available. | |
Additional Inherited Members | |
Static Public Member Functions inherited from ml::DicomModifyFieldAddOnBase | |
| static bool | isIn (const std::string &str, const char *const *values, size_t numValues) |
| Static helper function which checks whether str is part of the given list of values which has numValues entries. | |
Protected Member Functions inherited from ml::FieldAddOnBase | |
| void | _addFieldPointer (Field *field) |
| Helper routine to add a Field pointer to _fieldPointers, empty pointers and pointers added more than once will be handled fatally. | |
FieldAddOn class supporting inheritance and auto creating tag values (for example DICOM UIDs or tag values).
Definition at line 25 of file mlDicomValueInheritAndCreateTagInterface.h.
| anonymous enum |
Number of available InheritModes.
| Enumerator | |
|---|---|
| NumInheritModes | |
Definition at line 31 of file mlDicomValueInheritAndCreateTagInterface.h.
| anonymous enum |
Enumerator for the _inheritValueFld.
| Enumerator | |
|---|---|
| DoNotInherit | Do not inherit value from input. |
| InheritFromTopLevel | Inherit value from top level of DCMTree or set empty if not found. |
| InheritRecursively | Inherit value from recursively search in DCMTree or set empty if not found. |
| CreateNew | Create a new value on inheritance instead of inheriting one. |
| CreateNewIfNeeded | Same as CreateNew but only if value field is empty. |
| InheritFromTopLevelOnlyIfExists | Inherit value from top level of DCMTree only if there the tag exists. |
| InheritRecursivelyOnlyIfExists | Inherit value from first recursively found and readable tag or leave it unchanged. |
Definition at line 34 of file mlDicomValueInheritAndCreateTagInterface.h.
| anonymous enum |
Number of available _autoCreateValueFld values.
| Enumerator | |
|---|---|
| NumAutoCreateValueModes | |
Definition at line 48 of file mlDicomValueInheritAndCreateTagInterface.h.
| anonymous enum |
Enumerator for the _autoCreateFld.
Definition at line 51 of file mlDicomValueInheritAndCreateTagInterface.h.
| ml::DicomValueInheritAndCreateTagInterface::DicomValueInheritAndCreateTagInterface | ( | Module & | modRef, |
| DCMTree::RawTagId | tagId, | ||
| const std::string & | valueFieldName, | ||
| const std::string & | fieldSuffix, | ||
| bool | valueIsType1, | ||
| const std::string & | dicomModuleInfoString, | ||
| const bool | useDefaultField = false, |
||
| const std::string & | defaultFieldValue = "" |
||
| ) |
Constructor, setting the reference of the module for which the fields shall be managed.
| modRef | The reference to the ML Module instance in which this FieldAdddOn will be inserted. |
| tagId | The 32 bit tag id of the DICOM tag to be managed. |
| valueFieldName | The name of the value field itself. |
| fieldSuffix | The suffix for all other fields to make the multiply usable without name collisions. |
| valueIsType1 | If true then the tag value is handled as type 1 (mandatory and not empty) value. |
| dicomModuleInfoString | Optional information string explaining from which DICOM module or macro the tag comes from; will be used for error message generation and can be left empty. |
| useDefaultField | if enabled then a hidden default field is generated and its value is used instead of a generated default. |
| defaultFieldValue | used as default value for the hidden default field if useDefaultField is true, otherwise ignored. |
|
override |
Destructor.
|
overridevirtual |
Add fields to field container of module.
Reimplemented from ml::DicomModifyFieldAddOnBase.
|
overridevirtual |
See DicomModifyFieldAddOnBase::applyModifications() for documentation.
Reimplemented from ml::DicomModifyFieldAddOnBase.
|
overridevirtual |
Checks for invalid parameters; return textual description on error, or empty string on success.
Reimplemented from ml::DicomModifyFieldAddOnBase.
|
virtual |
Set _valueFld to a new value according to settings of isDefaultFieldUsed() and getDefaultCreatFunction(): if isDefaultFieldUsed and a default field exists then _valueField is set to the value given in getDefaultFieldFld(), otherwise it is set to the value created with getDefautCreateFunction.
|
virtual |
Same as createValue() but creates a value only if getValueFld() is empty.
|
inlinevirtual |
See _autoCreateValueFld.
Definition at line 121 of file mlDicomValueInheritAndCreateTagInterface.h.
|
inlinevirtual |
Constant read-only access, see _autoCreateValueFld.
Definition at line 123 of file mlDicomValueInheritAndCreateTagInterface.h.
|
inlinevirtual |
See _createValueFld.
Definition at line 131 of file mlDicomValueInheritAndCreateTagInterface.h.
|
inlinevirtual |
Constant read-only access, see _createValueFld.
Definition at line 133 of file mlDicomValueInheritAndCreateTagInterface.h.
|
virtual |
Returns the current default value creator; returned pointer is never nullptr.
|
inlinevirtual |
See _defaultFieldFld, returns nullptr if not available.
Definition at line 116 of file mlDicomValueInheritAndCreateTagInterface.h.
|
inlinevirtual |
Constant read-only access, see _defaultFieldFld, returns nullptr if not available.
Definition at line 118 of file mlDicomValueInheritAndCreateTagInterface.h.
|
inlinevirtual |
See _inheritModeFld.
Definition at line 111 of file mlDicomValueInheritAndCreateTagInterface.h.
|
inlinevirtual |
Constant read-only access, see _inheritModeFld.
Definition at line 113 of file mlDicomValueInheritAndCreateTagInterface.h.
|
inlinevirtual |
See _valueFld.
Definition at line 106 of file mlDicomValueInheritAndCreateTagInterface.h.
|
inlinevirtual |
Constant read-only access, see _valueFld.
Definition at line 108 of file mlDicomValueInheritAndCreateTagInterface.h.
|
overridevirtual |
Handle field notifications.
Reimplemented from ml::DicomModifyFieldAddOnBase.
|
overridevirtual |
Implements the copy of tag values from the given dcmTree to the fields.
Reimplemented from ml::DicomModifyFieldAddOnBase.
|
inlinevirtual |
See _useDefaultField.
Definition at line 126 of file mlDicomValueInheritAndCreateTagInterface.h.
|
virtual |
Sets a new object to create default values if not nullptr, otherwise a CreateDefaultDICOMUID instance is automatically created instead; the passed object must be created with new and ownership is passed to the DicomValueInheritAndCreateTagInterface instance.
|
inlinevirtual |
On true sets the default field is used or otherwise the default value function.
Definition at line 128 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
Controls whether or when a new value is generated.
Definition at line 168 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
The function to create default values if no default field is available.
Definition at line 191 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
If notified a new value is created.
Definition at line 171 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
Used as default value for the hidden default field if _useDefaultFieldFld is true, otherwise not generated.
Definition at line 188 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
Default value passed to constructor.
Definition at line 185 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
Stores the description of the DICOM module for error message generation.
Definition at line 179 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
Field suffix.
Definition at line 162 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
Controls whether or how the value is inherited.
Definition at line 165 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
Stores the ID of the DICOM tag to be managed.
Definition at line 156 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
If enabled then a hidden default field is generated and/or used its value is used instead of a generated default.
Definition at line 182 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
Name of the value field.
Definition at line 159 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
The (tag) value to be managed.
Definition at line 153 of file mlDicomValueInheritAndCreateTagInterface.h.
|
protected |
If true then the value is handled as Type 1 (mandatory and not empty) tag, otherwise it is allowed to be empty (only for backward compatibility and not recommended).
Definition at line 176 of file mlDicomValueInheritAndCreateTagInterface.h.
|
static |
String representations for the _autoCreateValueFld.
Definition at line 58 of file mlDicomValueInheritAndCreateTagInterface.h.
|
static |
String representations for the _inheritModeFld.
Definition at line 45 of file mlDicomValueInheritAndCreateTagInterface.h.