MeVisLab Toolbox Reference
ml::DicomModifySubTreeSelectorFieldAddOn Class Reference

#include <mlDicomModifySubTreeSelectorFieldAddOn.h>

Inheritance diagram for ml::DicomModifySubTreeSelectorFieldAddOn:
ml::DicomModifyFieldAddOnBase ml::DicomModifyList ml::FieldAddOnBase ml::Base

Public Types

enum  SubTreeSelectionModes { DoNotModify = 0 , ModifyZTU_SMF_FrameSlices , ModifyZTU_SMF_Frames , ModifySequenceWithId }
 Available modes for subtree selection. More...
enum  { NumSubTreeSelectionModes = DicomModifySubTreeSelectorFieldAddOn::ModifySequenceWithId+1 }
 Defines the number of available modification modes. 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

 DicomModifySubTreeSelectorFieldAddOn (FieldContainer &fieldContainerRef)
 See DicomModifyFieldAddOnBase::DicomModifyFieldAddOnBase(fieldContainerRef, numInstances) for details.
void addFields () override
 Add fields to field container of module.
void handleFieldActivationChanges () override
 Handle class changes according to Module::activateAttachments.
FieldAddOnBase::FieldChangeState handleFieldChanges (Field *field) override
 Handle field changes and field validation.
std::string applyModifications (DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos) override
Public Member Functions inherited from ml::DicomModifyFieldAddOnBase
 DicomModifyFieldAddOnBase (FieldContainer &fieldContainerRef, size_t numInstances=1, bool createInputModifyTagsPluginBaseConnectorField=false, bool createOutputModifyTagsPluginBaseConnectorField=false)
 ~DicomModifyFieldAddOnBase () override
 Destructor resetting connector fields if they exist.
size_t getNumInstances () const
 Returns the number of instances to be created by derived fields.
virtual void inheritValues (DCMTree::Const_TreePtr)
 Can be used to implement the copy of tag values from the given dcmTree to the fields.
virtual std::string checkConsistency () const
 Checks for invalid parameters; return textual description on error, or empty string on success.
BaseFieldgetOutputModifierListFld () const
 Provide access to output base field if it was created.
BaseFieldgetInputModifierListFld () const
 Provide access to input base connector field if it was created.
Public Member Functions inherited from ml::DicomModifyList
 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.
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)
Public Member Functions inherited from ml::FieldAddOnBase
 FieldAddOnBase (FieldContainer &fieldContainerRef)
 Constructor, setting the reference of the FieldContainer managing the fields.
virtual ~FieldAddOnBase ()
 Destructor.
FieldContainergetFieldContainer ()
 Returns the referenced container.
const FieldContainergetFieldContainer () 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.

Protected Member Functions

std::vector< DCMTree::TreePtr_determineSubTreesToModify (DCMTree::TreePtr parentTree, DICOMTagTools::ZTUVector &ztuIndexes) const
std::string _applyPreModifications (DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos)
Protected Member Functions inherited from ml::FieldAddOnBase
void _addFieldPointer (Field *field)

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.

Detailed Description

DicomModifyFieldAddOnBase class managing fields to select DCMTree sequence or MeVis SMF subtrees which then can be modified by appended DicomModify instances.

Definition at line 30 of file mlDicomModifySubTreeSelectorFieldAddOn.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Defines the number of available modification modes.

Enumerator
NumSubTreeSelectionModes 

Definition at line 44 of file mlDicomModifySubTreeSelectorFieldAddOn.h.

◆ SubTreeSelectionModes

Available modes for subtree selection.

Enumerator
DoNotModify 

No modification is performed at all.

ModifyZTU_SMF_FrameSlices 

In the MeVis Structured multi-frame sequence the positions described in Z, T, and U frames are modified.

ModifyZTU_SMF_Frames 

The frames of the MeVis Structured multi-frame sequence which are described in _ztuFramesFld are modified.

ModifySequenceWithId 

The entries described in sequenceEntries of the sequence tag with ID subTreeSelectorTagId are modified.

Definition at line 35 of file mlDicomModifySubTreeSelectorFieldAddOn.h.

Constructor & Destructor Documentation

◆ DicomModifySubTreeSelectorFieldAddOn()

ml::DicomModifySubTreeSelectorFieldAddOn::DicomModifySubTreeSelectorFieldAddOn ( FieldContainer & fieldContainerRef)
inline

See DicomModifyFieldAddOnBase::DicomModifyFieldAddOnBase(fieldContainerRef, numInstances) for details.

Definition at line 47 of file mlDicomModifySubTreeSelectorFieldAddOn.h.

References ml::DicomModifyFieldAddOnBase::DicomModifyFieldAddOnBase().

Referenced by _applyPreModifications().

Member Function Documentation

◆ _applyPreModifications()

std::string ml::DicomModifySubTreeSelectorFieldAddOn::_applyPreModifications ( DCMTree::TreePtr dcmTree,
const FieldContainer * treeInfos )
protected

Apply all plugins from _preInputModifierListFld to dcmTree.

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

References DicomModifySubTreeSelectorFieldAddOn().

◆ _determineSubTreesToModify()

std::vector< DCMTree::TreePtr > ml::DicomModifySubTreeSelectorFieldAddOn::_determineSubTreesToModify ( DCMTree::TreePtr parentTree,
DICOMTagTools::ZTUVector & ztuIndexes ) const
protected

Returns the array of subtrees of parentTree which are described by the fields; the corresponding index positions are returned in ztuIndexes.

◆ addFields()

void ml::DicomModifySubTreeSelectorFieldAddOn::addFields ( )
overridevirtual

Add fields to field container of module.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ applyModifications()

std::string ml::DicomModifySubTreeSelectorFieldAddOn::applyModifications ( DCMTree::TreePtr dcmTree,
const FieldContainer * treeInfos )
overridevirtual

Apply all DicomModify from getModifierList to dcmTree as well as all connected ones.

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

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ handleFieldActivationChanges()

void ml::DicomModifySubTreeSelectorFieldAddOn::handleFieldActivationChanges ( )
overridevirtual

Handle class changes according to Module::activateAttachments.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ handleFieldChanges()

FieldAddOnBase::FieldChangeState ml::DicomModifySubTreeSelectorFieldAddOn::handleFieldChanges ( Field * field)
overridevirtual

Handle field changes and field validation.

Reimplemented from ml::DicomModifyFieldAddOnBase.


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