MeVisLab Toolbox Reference
ml::DicomSegmentSequenceTagInterface Class Reference

Class managing the module field interface according to DICOM Segmentation Image Module Attributes, C.8.20.2 without ContentIdentification Macro. More...

#include <mlDicomSegmentSequenceTagInterface.h>

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

Public Member Functions

 DicomSegmentSequenceTagInterface (Module &modRef)
 Constructor, setting the reference of the module for which the fields shall be managed. More...
 
 ~DicomSegmentSequenceTagInterface () override
 
void addFields () override
 Add fields to field container of module. More...
 
void handleFieldActivationChanges () override
 Handle class changes according to Module::activateAttachments. More...
 
FieldAddOnBase::FieldChangeState handleFieldChanges (Field *field) override
 Handle field notifications according to Module::activateAttachments with a return of field change state. More...
 
void inheritValues (DCMTree::Const_TreePtr dcmTree) override
 Implements the copy of tag values from the given dcmTree to the fields. More...
 
std::string applyModifications (DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr) override
 See DicomModifyFieldAddOnBase::applyModifications() for documentation; adds field values as tags to dcmTree. More...
 
std::string checkConsistency () const override
 Checks for invalid parameters; return textual description on error, or empty string on success; requires that setInputPagedImage was called with a valid image before for successful proper operation. More...
 
DicomSegmentItemVectorgetSegmentSequence ()
 Allows read-write access to the segment sequence. More...
 
const DicomSegmentItemVectorgetSegmentSequence () const
 Allows read access to the segment sequence. More...
 
- 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. More...
 
 ~DicomModifyFieldAddOnBase () override
 Destructor resetting connector fields if they exist. More...
 
size_t getNumInstances () const
 Returns the number of instances to be created by derived fields. More...
 
BaseFieldgetOutputModifierListFld () const
 Provide access to output base field if it was created. More...
 
BaseFieldgetInputModifierListFld () const
 Provide access to input base connector field if it was created. More...
 
- 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. More...
 
 ~DicomModifyList () override
 Destructor also destroying all of its stored Modifiers. More...
 
void addModifier (DicomModifyBase *modifier, bool atEnd=true)
 Add an object derived from DicomModifyBase which then will be owned (and on destruction deleted) by this. More...
 
void clear ()
 Makes modifier array empty and deletes all of them. More...
 
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. More...
 
const std::vector< DicomModifyBase * > & getModifierList () const
 Same as getModifierList() only for constant access. More...
 
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. More...
 
DicomModifyListgetInputPlugin () const
 Returns the optional plugin to be called by applyModififcations. More...
 
- Public Member Functions inherited from ml::Base
 Base ()
 Constructor. More...
 
virtual ~Base ()
 Destructor. More...
 
virtual BasedeepCopy () const
 Set addStateToTree version number that can be accessed via getAddStateVersion() More...
 
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. More...
 
virtual bool isRefCountedBase () const
 Returns if the instance is derived from RefCountedBase. More...
 
virtual std::string detailString () const
 Return a string describing this object. More...
 
virtual bool implementsPersistence (PersistenceInterface) const
 Override this method to declare which persistence interfaces are implemented by your derived class. More...
 
virtual std::string persistentState () const
 Returns a string describing the object's internal state. More...
 
virtual void setPersistentState (const std::string &state)
 Restores the object's internal state from a string that had been previously generated using persistentState(). More...
 
virtual void addStateToTree (TreeNode *) const
 Attaches the object state as children of the given parent node. More...
 
virtual void readStateFromTree (TreeNode *)
 Reads the object state from the children of the given parent node. More...
 
virtual void writeTo (AbstractPersistenceOutputStream *) const
 Write the objects state to the data stream object. More...
 
virtual void readFrom (AbstractPersistenceInputStream *, int)
 Read the objects state from the data stream object. More...
 
- Public Member Functions inherited from ml::FieldAddOnBase
 FieldAddOnBase (FieldContainer &fieldContainerRef)
 Constructor, setting the reference of the FieldContainer managing the fields. More...
 
virtual ~FieldAddOnBase ()
 Destructor. More...
 
FieldContainergetFieldContainer ()
 Returns the referenced container. More...
 
const FieldContainergetFieldContainer () const
 Returns the referenced container. More...
 
std::vector< Field * > & getFields ()
 Return modification access to the list of managed fields, use at own risk! More...
 
const std::vector< Field * > & getFields () const
 Return constant access to the list of managed fields! More...
 
virtual FieldChangeState getMergedFieldChangeState (FieldChangeState state1, FieldChangeState state2) const
 Returns a FieldChangeState which best represents a merge of the two given states. More...
 
virtual bool hasField (Field *field) const
 Returns true if the passed fieldPtr is in _fieldPointers, otherwise false. More...
 

Protected Member Functions

void _updateSegmentNumbers ()
 Small helper function setting all segmentNumbers of all segments. More...
 
- Protected Member Functions inherited from ml::Base
virtual char * getPersistentState () const
 Returns a C string describing the object's internal state. More...
 
virtual void setPersistentState (const char *)
 Restores the object's internal state from a string that had been previously generated using getPersistentState(). More...
 
virtual void clearPersistentState (char *) const
 Disposes a string previously allocated by getPersistentState(). More...
 
- 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. More...
 

Protected Attributes

IntField_numberOfSegmentsFld
 The number of currently available segments. More...
 
IntField_currentSegmentFld
 Segment counter to index the currently shown segment in segementSequence. More...
 
IntField_segmentNumberFld
 Segment Number >= 1. More...
 
StringField_segmentLabelFld
 Segment Label. More...
 
StringField_segmentDescriptionFld
 Segment Description. More...
 
EnumField_segmentAlgorithmTypeFld
 Segment Algorithm Type (one of AUTOMATIC, SEMIAUTOMATIC, MANUAL). More...
 
StringField_segmentAlgorithmNameFld
 Segment Algorithm Name(if type is not MANUAL). More...
 
Vector3Field_recommendedDisplayCIELabValueFld
 Value of RecommendedDisplayCIELabValue tag of currently selected volume or (0,0,0) if not available or empty. More...
 
ColorField_rgbFld
 A reduced quality version of the RecommendedDisplayCIELabValue as rgb. More...
 
DicomSegmentItemVector _segmentSequence
 Stores the segment sequence;. More...
 
StringField_codedSegmentSequenceFld
 Internal, non-user, field to store the content of the segment sequence as coded string. More...
 
NotifyField_appendSegmentFld
 Append a new segment at end. More...
 
NotifyField_removeSegmentFld
 Remove currently selected segment. More...
 
DoubleField_segmentImageValueRangeMinFld
 [Min,Max[ interval in which input image values are considered as part of the segment; interval borders are not stored in DICOM file. More...
 
DoubleField_segmentImageValueRangeMaxFld
 

Additional Inherited Members

- 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...
 
- 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. More...
 

Detailed Description

Class managing the module field interface according to DICOM Segmentation Image Module Attributes, C.8.20.2 without ContentIdentification Macro.

Definition at line 23 of file mlDicomSegmentSequenceTagInterface.h.

Constructor & Destructor Documentation

◆ DicomSegmentSequenceTagInterface()

ml::DicomSegmentSequenceTagInterface::DicomSegmentSequenceTagInterface ( Module modRef)

Constructor, setting the reference of the module for which the fields shall be managed.

◆ ~DicomSegmentSequenceTagInterface()

ml::DicomSegmentSequenceTagInterface::~DicomSegmentSequenceTagInterface ( )
override

Member Function Documentation

◆ _updateSegmentNumbers()

void ml::DicomSegmentSequenceTagInterface::_updateSegmentNumbers ( )
protected

Small helper function setting all segmentNumbers of all segments.

◆ addFields()

void ml::DicomSegmentSequenceTagInterface::addFields ( )
overridevirtual

Add fields to field container of module.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ applyModifications()

std::string ml::DicomSegmentSequenceTagInterface::applyModifications ( DCMTree::TreePtr  dcmTree,
const FieldContainer treeInfos = nullptr 
)
overridevirtual

See DicomModifyFieldAddOnBase::applyModifications() for documentation; adds field values as tags to dcmTree.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ checkConsistency()

std::string ml::DicomSegmentSequenceTagInterface::checkConsistency ( ) const
overridevirtual

Checks for invalid parameters; return textual description on error, or empty string on success; requires that setInputPagedImage was called with a valid image before for successful proper operation.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ getSegmentSequence() [1/2]

DicomSegmentItemVector& ml::DicomSegmentSequenceTagInterface::getSegmentSequence ( )

Allows read-write access to the segment sequence.

◆ getSegmentSequence() [2/2]

const DicomSegmentItemVector& ml::DicomSegmentSequenceTagInterface::getSegmentSequence ( ) const

Allows read access to the segment sequence.

◆ handleFieldActivationChanges()

void ml::DicomSegmentSequenceTagInterface::handleFieldActivationChanges ( )
overridevirtual

Handle class changes according to Module::activateAttachments.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ handleFieldChanges()

FieldAddOnBase::FieldChangeState ml::DicomSegmentSequenceTagInterface::handleFieldChanges ( Field field)
overridevirtual

Handle field notifications according to Module::activateAttachments with a return of field change state.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ inheritValues()

void ml::DicomSegmentSequenceTagInterface::inheritValues ( DCMTree::Const_TreePtr  dcmTree)
overridevirtual

Implements the copy of tag values from the given dcmTree to the fields.

Reimplemented from ml::DicomModifyFieldAddOnBase.

Member Data Documentation

◆ _appendSegmentFld

NotifyField* ml::DicomSegmentSequenceTagInterface::_appendSegmentFld
protected

Append a new segment at end.

Definition at line 102 of file mlDicomSegmentSequenceTagInterface.h.

◆ _codedSegmentSequenceFld

StringField* ml::DicomSegmentSequenceTagInterface::_codedSegmentSequenceFld
protected

Internal, non-user, field to store the content of the segment sequence as coded string.

Definition at line 99 of file mlDicomSegmentSequenceTagInterface.h.

◆ _currentSegmentFld

IntField* ml::DicomSegmentSequenceTagInterface::_currentSegmentFld
protected

Segment counter to index the currently shown segment in segementSequence.

Definition at line 67 of file mlDicomSegmentSequenceTagInterface.h.

◆ _numberOfSegmentsFld

IntField* ml::DicomSegmentSequenceTagInterface::_numberOfSegmentsFld
protected

The number of currently available segments.

Definition at line 64 of file mlDicomSegmentSequenceTagInterface.h.

◆ _recommendedDisplayCIELabValueFld

Vector3Field* ml::DicomSegmentSequenceTagInterface::_recommendedDisplayCIELabValueFld
protected

Value of RecommendedDisplayCIELabValue tag of currently selected volume or (0,0,0) if not available or empty.

Definition at line 85 of file mlDicomSegmentSequenceTagInterface.h.

◆ _removeSegmentFld

NotifyField* ml::DicomSegmentSequenceTagInterface::_removeSegmentFld
protected

Remove currently selected segment.

Definition at line 105 of file mlDicomSegmentSequenceTagInterface.h.

◆ _rgbFld

ColorField* ml::DicomSegmentSequenceTagInterface::_rgbFld
protected

A reduced quality version of the RecommendedDisplayCIELabValue as rgb.

Definition at line 93 of file mlDicomSegmentSequenceTagInterface.h.

◆ _segmentAlgorithmNameFld

StringField* ml::DicomSegmentSequenceTagInterface::_segmentAlgorithmNameFld
protected

Segment Algorithm Name(if type is not MANUAL).

Definition at line 82 of file mlDicomSegmentSequenceTagInterface.h.

◆ _segmentAlgorithmTypeFld

EnumField* ml::DicomSegmentSequenceTagInterface::_segmentAlgorithmTypeFld
protected

Segment Algorithm Type (one of AUTOMATIC, SEMIAUTOMATIC, MANUAL).

Definition at line 79 of file mlDicomSegmentSequenceTagInterface.h.

◆ _segmentDescriptionFld

StringField* ml::DicomSegmentSequenceTagInterface::_segmentDescriptionFld
protected

Segment Description.

Definition at line 76 of file mlDicomSegmentSequenceTagInterface.h.

◆ _segmentImageValueRangeMaxFld

DoubleField* ml::DicomSegmentSequenceTagInterface::_segmentImageValueRangeMaxFld
protected

Definition at line 89 of file mlDicomSegmentSequenceTagInterface.h.

◆ _segmentImageValueRangeMinFld

DoubleField* ml::DicomSegmentSequenceTagInterface::_segmentImageValueRangeMinFld
protected

[Min,Max[ interval in which input image values are considered as part of the segment; interval borders are not stored in DICOM file.

Definition at line 88 of file mlDicomSegmentSequenceTagInterface.h.

◆ _segmentLabelFld

StringField* ml::DicomSegmentSequenceTagInterface::_segmentLabelFld
protected

Segment Label.

Definition at line 73 of file mlDicomSegmentSequenceTagInterface.h.

◆ _segmentNumberFld

IntField* ml::DicomSegmentSequenceTagInterface::_segmentNumberFld
protected

Segment Number >= 1.

Definition at line 70 of file mlDicomSegmentSequenceTagInterface.h.

◆ _segmentSequence

DicomSegmentItemVector ml::DicomSegmentSequenceTagInterface::_segmentSequence
protected

Stores the segment sequence;.

Definition at line 96 of file mlDicomSegmentSequenceTagInterface.h.


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