MeVisLab Toolbox Reference
ml::DicomModifyList Class Reference

Class which manages a list of DicomModifyBase or derived objects, with an input for concatenation to another DicomModifyList object and which can apply their operations according to their parameters to DCMTrees. More...

#include <mlDicomModifyList.h>

Inheritance diagram for ml::DicomModifyList:
ml::Base ml::DicomModifyFieldAddOnBase ml::FieldAddOnList< DicomModifyFieldAddOnBase, DicomDOCSaveAddOnPointers * > ml::FieldAddOnList< DicomModifyFieldAddOnBase, DicomEnhancedSaveAddOnPointers * > ml::FieldAddOnList< DicomModifyFieldAddOnBase, DicomSEGSaveAddOnPointers * > ml::DicomAcquisitionContextModuleTagInterface ml::DicomBoolInheritAndWriteTagInterface ml::DicomCIDEditTagInterface ml::DicomCIDSingleEntryEditTagInterface ml::DicomCommonInstanceReferenceModuleTagInterface ml::DicomContentDateTimeTagInterface ml::DicomContentIdentificationMacroTagInterface ml::DicomCopyGroupsTagInterface ml::DicomCopyTagSetInterface ml::DicomDeformableSpatialRegistrationModuleTagInterface ml::DicomEncapsulatedDocumentModuleTagInterface ml::DicomEncapsulatedDocumentSeriesModuleTagInterface ml::DicomEnhancedMRImageModuleTagInterface ml::DicomFrameOfReferenceModuleTagInterface ml::DicomGeneralEquipmentModuleTagInterface ml::DicomGeneralImageModuleTagInterface ml::DicomGeneralSeriesModuleTagInterface ml::DicomGeneralStudyModuleTagInterface ml::DicomImageDescriptionTagInterface ml::DicomImagePlaneModuleTagInterface ml::DicomImageTypeTagInterface ml::DicomMRSeriesModuleTagInterface ml::DicomManufacturing3DModelModuleTagInterface ml::DicomModifyImageTagsFieldAddOn ml::DicomModifyModuleFieldAddOnBase ml::DicomModifyOrdinaryFieldAddOn ml::DicomModifyOtherTagOperationsFieldAddOn ml::DicomModifyPrivateAddFieldAddOn ml::DicomModifyPrivateRemoveFieldAddOn ml::DicomModifySequenceFieldAddOn ml::DicomModifySubTreeSelectorFieldAddOn ml::DicomModifyTagsVariousFieldAddOns ml::DicomPatientModuleTagInterface ml::DicomReferencedImageSequenceTagInterface ml::DicomSCEquipmentModuleTagInterface ml::DicomSCMultiframeImageModuleTagInterface ml::DicomSOPCommonModuleTagInterface ml::DicomSOPInstanceReferenceMacroTagInterface ml::DicomSegmentSequenceTagInterface ml::DicomSegmentationImageModuleTagInterface ml::DicomSegmentationSeriesModuleAttributesTagInterface ml::DicomSeriesAndInstanceReferenceMacroTagInterface ml::DicomSpatialFiducialsModuleTagInterface ml::DicomValueComboBoxSelectorTagInterface ml::DicomValueInheritAndCreateTagInterface

Public Member Functions

 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.
 
virtual std::string applyModifications (DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr)
 Apply all DicomModify objects to dcmTree; the operations optionally defined with the input are performed after those from _modfiers list.
 
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.
 
DicomModifyListgetInputPlugin () const
 Returns the optional plugin to be called by applyModififcations.
 
- Public Member Functions inherited from ml::Base
 Base ()
 Constructor.
 
virtual ~Base ()
 Destructor.
 
virtual BasedeepCopy () const
 Set addStateToTree version number that can be accessed via getAddStateVersion()
 
bool isOfAllowedType (const std::vector< const RuntimeType * > &types) const
 Check if this object's type is equal to or derived from one of the types given in the argument.
 
virtual bool isRefCountedBase () const
 Returns if the instance is derived from RefCountedBase.
 
virtual std::string detailString () const
 Return 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
 Write the objects state to the data stream object.
 
virtual void readFrom (AbstractPersistenceInputStream *, int)
 Read the objects state from the data stream object.
 

Additional Inherited Members

- Public Types inherited from ml::Base
enum  PersistenceInterface { PersistenceByString , PersistenceByTreeNode , PersistenceByStream }
 This enum describes the different persistence interfaces available. More...
 

Detailed Description

Class which manages a list of DicomModifyBase or derived objects, with an input for concatenation to another DicomModifyList object and which can apply their operations according to their parameters to DCMTrees.

Definition at line 28 of file mlDicomModifyList.h.

Constructor & Destructor Documentation

◆ DicomModifyList()

ml::DicomModifyList::DicomModifyList ( )

Constructor creating an empty list of tag modifiers and setting the optional input plugin with a concatenated DicomModifyList.


◆ ~DicomModifyList()

ml::DicomModifyList::~DicomModifyList ( )
override

Destructor also destroying all of its stored Modifiers.

Member Function Documentation

◆ addModifier()

void ml::DicomModifyList::addModifier ( DicomModifyBase * modifier,
bool atEnd = true )

Add an object derived from DicomModifyBase which then will be owned (and on destruction deleted) by this.

If atEnd is true the object is appended at the end, otherwise it will be inserted as first element.

◆ applyModifications()

virtual std::string ml::DicomModifyList::applyModifications ( DCMTree::TreePtr dcmTree,
const FieldContainer * treeInfos = nullptr )
virtual

Apply all DicomModify objects to dcmTree; the operations optionally defined with the input are performed after those from _modfiers list.

In derived versions the tag changes alternatively can also be implemented directly without modifiers.

Parameters
dcmTreeThe DICOM tree to be modified.
treeInfosA FieldContainer which - if not nullptr - can contain additional user defined information fields about dcmTree and the changes to be done.
Returns
An empty string on success, otherwise a cumulative descriptive string of all problems.

Reimplemented in ml::DicomModifySubTreeSelectorFieldAddOn, ml::DicomModifyApprovalModuleFieldAddOn, ml::DicomModifyCalculatedDoseReferenceRecordModuleFieldAddOn, ml::DicomModifyCineModuleFieldAddOn, ml::DicomModifyClinicalTrialSeriesModuleFieldAddOn, ml::DicomModifyClinicalTrialStudyModuleFieldAddOn, ml::DicomModifyClinicalTrialSubjectModuleFieldAddOn, ml::DicomModifyContrastBolusModuleFieldAddOn, ml::DicomModifyDeviceModuleFieldAddOn, ml::DicomModifyFrameOfReferenceModuleFieldAddOn, ml::DicomModifyGeneralEquipmentModuleFieldAddOn, ml::DicomModifyGeneralImageModuleFieldAddOn, ml::DicomModifyGeneralStudyModuleFieldAddOn, ml::DicomModifyImagePixelModuleFieldAddOn, ml::DicomModifyImagePlaneModuleFieldAddOn, ml::DicomModifyMeasuredDoseReferenceRecordModuleFieldAddOn, ml::DicomModifyModalityLUTModuleFieldAddOn, ml::DicomModifyMultiFrameModuleFieldAddOn, ml::DicomModifyMultiFrameOverlayModuleFieldAddOn, ml::DicomModifyOverlayPlaneModuleFieldAddOn, ml::DicomModifyPatientModuleFieldAddOn, ml::DicomModifyPatientStudyModuleFieldAddOn, ml::DicomModifyROIContourModuleFieldAddOn, ml::DicomModifyRTBeamsModuleFieldAddOn, ml::DicomModifyRTBrachyApplicationSetupsModuleFieldAddOn, ml::DicomModifyRTDoseModuleFieldAddOn, ml::DicomModifyRTDoseROIModuleFieldAddOn, ml::DicomModifyRTDVHModuleFieldAddOn, ml::DicomModifyRTFractionSchemeModuleFieldAddOn, ml::DicomModifyRTGeneralPlanModuleFieldAddOn, ml::DicomModifyRTGeneralTreatmentRecordModuleFieldAddOn, ml::DicomModifyRTImageModuleFieldAddOn, ml::DicomModifyRTIonBeamsModuleFieldAddOn, ml::DicomModifyRTIonBeamsSessionRecordModuleFieldAddOn, ml::DicomModifyRTIonToleranceTablesModuleFieldAddOn, ml::DicomModifyRTPatientSetupModuleFieldAddOn, ml::DicomModifyRTPrescriptionModuleFieldAddOn, ml::DicomModifyRTROIObservationsModuleFieldAddOn, ml::DicomModifyRTSeriesModuleFieldAddOn, ml::DicomModifyRTToleranceTablesModuleFieldAddOn, ml::DicomModifyRTTreatmentMachineRecordModuleFieldAddOn, ml::DicomModifyRTTreatmentSummaryRecordModuleFieldAddOn, ml::DicomModifySOPCommonModuleFieldAddOn, ml::DicomModifyStructureSetModuleFieldAddOn, ml::DicomModifyVOILUTModuleFieldAddOn, ml::DicomModifyFieldAddOnBase, ml::DicomModifyImageTagsFieldAddOn, ml::DicomModifyTagsVariousFieldAddOns, ml::DicomAcquisitionContextModuleTagInterface, ml::DicomBoolInheritAndWriteTagInterface, ml::DicomCIDEditTagInterface, ml::DicomCIDSingleEntryEditTagInterface, ml::DicomCommonInstanceReferenceModuleTagInterface, ml::DicomContentDateTimeTagInterface, ml::DicomContentIdentificationMacroTagInterface, ml::DicomCopyGroupsTagInterface, ml::DicomCopyTagSetInterface, ml::DicomDeformableSpatialRegistrationModuleTagInterface, ml::DicomEncapsulatedDocumentModuleTagInterface, ml::DicomEncapsulatedDocumentSeriesModuleTagInterface, ml::DicomEnhancedMRImageModuleTagInterface, ml::DicomFrameOfReferenceModuleTagInterface, ml::DicomGeneralEquipmentModuleTagInterface, ml::DicomGeneralImageModuleTagInterface, ml::DicomGeneralSeriesModuleTagInterface, ml::DicomGeneralStudyModuleTagInterface, ml::DicomImageDescriptionTagInterface, ml::DicomImagePlaneModuleTagInterface, ml::DicomImageTypeTagInterface, ml::DicomManufacturing3DModelModuleTagInterface, ml::DicomMRSeriesModuleTagInterface, ml::DicomPatientModuleTagInterface, ml::DicomPresentationStateIdentificationTagInterface, ml::DicomReferencedImageSequenceTagInterface, ml::DicomSCEquipmentModuleTagInterface, ml::DicomSCMultiframeImageModuleTagInterface, ml::DicomSegmentationImageModuleTagInterface, ml::DicomSegmentationSeriesModuleAttributesTagInterface, ml::DicomSegmentSequenceTagInterface, ml::DicomSeriesAndInstanceReferenceMacroTagInterface, ml::DicomSOPCommonModuleTagInterface, ml::DicomSOPInstanceReferenceMacroTagInterface, ml::DicomSpatialFiducialsModuleTagInterface, ml::DicomValueComboBoxSelectorTagInterface, and ml::DicomValueInheritAndCreateTagInterface.

◆ clear()

void ml::DicomModifyList::clear ( )

Makes modifier array empty and deletes all of them.

◆ getInputPlugin()

DicomModifyList * ml::DicomModifyList::getInputPlugin ( ) const
inline

Returns the optional plugin to be called by applyModififcations.

Definition at line 71 of file mlDicomModifyList.h.

◆ getModifierList() [1/2]

std::vector< DicomModifyBase * > & ml::DicomModifyList::getModifierList ( )
inline

Get direct access to internal list to allow callers direct manipulations which, however, must obey the restriction that ownership belongs to *this, i.e.

inserting or deleting must also handle addition and deleting of the DicomModifyBase objects correctly.

Definition at line 61 of file mlDicomModifyList.h.

◆ getModifierList() [2/2]

const std::vector< DicomModifyBase * > & ml::DicomModifyList::getModifierList ( ) const
inline

Same as getModifierList() only for constant access.

Definition at line 64 of file mlDicomModifyList.h.

◆ setInputPlugin()

void ml::DicomModifyList::setInputPlugin ( DicomModifyList * inputPlugin = nullptr)
inline

Sets an optional plugin to be called by applyModififcations or resets it to nullptr; the input is called after the objects in _modfiers list.

Definition at line 68 of file mlDicomModifyList.h.

References mlrange_cast().


The documentation for this class was generated from the following file: