MeVisLab Toolbox Reference
ml::DicomModifyList Class Reference

#include <mlDicomModifyList.h>

Inheritance diagram for ml::DicomModifyList:
ml::Base ml::DicomModifyFieldAddOnBase 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 ()
 ~DicomModifyList () override
 Destructor also destroying all of its stored Modifiers.
void addModifier (DicomModifyBase *modifier, bool atEnd=true)
void clear ()
 Makes modifier array empty and deletes all of them.
virtual std::string applyModifications (DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr)
std::vector< DicomModifyBase * > & getModifierList ()
const std::vector< DicomModifyBase * > & getModifierList () const
 Same as getModifierList() only for constant access.
void setInputPlugin (DicomModifyList *inputPlugin=nullptr)
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
bool isOfAllowedType (const std::vector< const RuntimeType * > &types) const
virtual bool isRefCountedBase () const
 Returns whether the instance is derived from RefCountedBase.
virtual std::string detailString () const
virtual bool implementsPersistence (PersistenceInterface) const
virtual std::string persistentState () const
 Returns a string describing the object's internal state.
virtual void setPersistentState (const std::string &state)
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
virtual void readFrom (AbstractPersistenceInputStream *, int)

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.

Referenced by getInputPlugin(), and setInputPlugin().

◆ ~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::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::DicomModifyApprovalModuleFieldAddOn, ml::DicomModifyCalculatedDoseReferenceRecordModuleFieldAddOn, ml::DicomModifyCineModuleFieldAddOn, ml::DicomModifyClinicalTrialSeriesModuleFieldAddOn, ml::DicomModifyClinicalTrialStudyModuleFieldAddOn, ml::DicomModifyClinicalTrialSubjectModuleFieldAddOn, ml::DicomModifyContrastBolusModuleFieldAddOn, ml::DicomModifyDeviceModuleFieldAddOn, ml::DicomModifyFieldAddOnBase, ml::DicomModifyFrameOfReferenceModuleFieldAddOn, ml::DicomModifyGeneralEquipmentModuleFieldAddOn, ml::DicomModifyGeneralImageModuleFieldAddOn, ml::DicomModifyGeneralStudyModuleFieldAddOn, ml::DicomModifyImagePixelModuleFieldAddOn, ml::DicomModifyImagePlaneModuleFieldAddOn, ml::DicomModifyImageTagsFieldAddOn, 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::DicomModifySubTreeSelectorFieldAddOn, ml::DicomModifyTagsVariousFieldAddOns, ml::DicomModifyVOILUTModuleFieldAddOn, 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.

References DicomModifyList().

◆ 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 DicomModifyList().


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