MeVisLab Toolbox Reference
ml::DicomSegmentationImageModuleTagInterface Class Reference

#include <mlDicomSegmentationImageModuleTagInterface.h>

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

Public Member Functions

 DicomSegmentationImageModuleTagInterface (Module &modRef)
 Constructor, setting the reference of the module for which the fields shall be managed.
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 notifications according to Module::activateAttachments with a return of field change state.
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
void _addSegmentationImageIODSpecificTags (DCMTree::TreePtr dcmTree)
 Add tags which exist only the Segmentation Image IOD and not in the Image IOD.
std::string checkConsistency () const override
DicomSegmentSequenceTagInterfacegetSegmentSequence ()
const DicomSegmentSequenceTagInterfacegetSegmentSequence () const
 Provides constant read access to sequence.
EnumFieldgetSegmentTypeField ()
 Provides modification access to the segmentation type field, the caller has to care for correct usage.
const EnumFieldgetSegmentTypeField () const
 Provides constant read access to the segmentation type field.
EnumFieldgetSegmentFractionalTypeField ()
 Provides modification access to the Segmentation Fractional Type field, the caller has to care for correct usage.
const EnumFieldgetSegmentFractionalTypeField () const
 Provides constant read access to the Segmentation Fractional Type field.
EnumFieldgetMaximumFractionalValueModeField ()
 Provides modification access to _maximumFractionalValueModeFld, the caller has to care for correct usage.
const EnumFieldgetMaximumFractionalValueModeField () const
 Provides constant read access to _maximumFractionalValueModeFld.
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.
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.

Static Public Member Functions

static const std::vector< std::string > & getMaximumFractionalValueModes ()
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 Attributes

DicomSegmentSequenceTagInterface _segmentSequence
 Segments sequence as part of Segmentation Image Module C.8.20.2.
EnumField_segmentationTypeFld
EnumField_segmentationFractionalTypeFld
EnumField_maximumFractionalValueModeFld

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...
Protected Member Functions inherited from ml::FieldAddOnBase
void _addFieldPointer (Field *field)

Detailed Description

Manages the module field interface according to DICOM Segmentation Image Module, C.8.20.2, however, it does not set the tags

Definition at line 29 of file mlDicomSegmentationImageModuleTagInterface.h.

Constructor & Destructor Documentation

◆ DicomSegmentationImageModuleTagInterface()

ml::DicomSegmentationImageModuleTagInterface::DicomSegmentationImageModuleTagInterface ( Module & modRef)

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

Member Function Documentation

◆ _addSegmentationImageIODSpecificTags()

void ml::DicomSegmentationImageModuleTagInterface::_addSegmentationImageIODSpecificTags ( DCMTree::TreePtr dcmTree)

Add tags which exist only the Segmentation Image IOD and not in the Image IOD.

◆ addFields()

void ml::DicomSegmentationImageModuleTagInterface::addFields ( )
overridevirtual

Add fields to field container of module.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ applyModifications()

std::string ml::DicomSegmentationImageModuleTagInterface::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::DicomSegmentationImageModuleTagInterface::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.

◆ getMaximumFractionalValueModeField() [1/2]

EnumField & ml::DicomSegmentationImageModuleTagInterface::getMaximumFractionalValueModeField ( )

Provides modification access to _maximumFractionalValueModeFld, the caller has to care for correct usage.

◆ getMaximumFractionalValueModeField() [2/2]

const EnumField & ml::DicomSegmentationImageModuleTagInterface::getMaximumFractionalValueModeField ( ) const

Provides constant read access to _maximumFractionalValueModeFld.

◆ getMaximumFractionalValueModes()

const std::vector< std::string > & ml::DicomSegmentationImageModuleTagInterface::getMaximumFractionalValueModes ( )
static

Returns currently supported values for getMaximumFractionalValueModeField(): [0]: USE_LARGEST_VOXEL_VALUE: Use the largest voxel value found in the input image. [1]: USE_255 : Always use 255, the default.

◆ getSegmentFractionalTypeField() [1/2]

EnumField & ml::DicomSegmentationImageModuleTagInterface::getSegmentFractionalTypeField ( )

Provides modification access to the Segmentation Fractional Type field, the caller has to care for correct usage.

◆ getSegmentFractionalTypeField() [2/2]

const EnumField & ml::DicomSegmentationImageModuleTagInterface::getSegmentFractionalTypeField ( ) const

Provides constant read access to the Segmentation Fractional Type field.

◆ getSegmentSequence() [1/2]

DicomSegmentSequenceTagInterface & ml::DicomSegmentationImageModuleTagInterface::getSegmentSequence ( )

Provides modification access to sequence; be aware that no change causes automatic updates, the caller has to care for it manually.

◆ getSegmentSequence() [2/2]

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

Provides constant read access to sequence.

◆ getSegmentTypeField() [1/2]

EnumField & ml::DicomSegmentationImageModuleTagInterface::getSegmentTypeField ( )

Provides modification access to the segmentation type field, the caller has to care for correct usage.

◆ getSegmentTypeField() [2/2]

const EnumField & ml::DicomSegmentationImageModuleTagInterface::getSegmentTypeField ( ) const

Provides constant read access to the segmentation type field.

◆ handleFieldActivationChanges()

void ml::DicomSegmentationImageModuleTagInterface::handleFieldActivationChanges ( )
overridevirtual

Handle class changes according to Module::activateAttachments.

Reimplemented from ml::DicomModifyFieldAddOnBase.

◆ handleFieldChanges()

FieldAddOnBase::FieldChangeState ml::DicomSegmentationImageModuleTagInterface::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::DicomSegmentationImageModuleTagInterface::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

◆ _maximumFractionalValueModeFld

EnumField* ml::DicomSegmentationImageModuleTagInterface::_maximumFractionalValueModeFld
protected

Determines how the Maximum Fractional Value (0062,000E) is calculated; see MaximumFractionalValueMode for details.

Definition at line 111 of file mlDicomSegmentationImageModuleTagInterface.h.

◆ _segmentationFractionalTypeFld

EnumField* ml::DicomSegmentationImageModuleTagInterface::_segmentationFractionalTypeFld
protected

Enumerated Values of Segmentation Fractional Type (0062,0010): PROBABILITY Defines the probability, as a percentage, that the segmented property occupies the spatial area defined by the voxel. OCCUPANCY Defines the percentage of the voxel area occupied by the segmented property.

Definition at line 107 of file mlDicomSegmentationImageModuleTagInterface.h.

◆ _segmentationTypeFld

EnumField* ml::DicomSegmentationImageModuleTagInterface::_segmentationTypeFld
protected

A Segmentation Type (0062,0001) of BINARY indicates the segmented property is present with a value of 1 and absent with a value of 0; for a Segmentation Type (0062,0001) of FRACTIONAL the segmented property is defined as a value from zero to the Maximum Fractional Value (0062,000E); a FRACTIONAL segmentation shall be further specified via Segmentation Fractional Type (0062,0010).

Definition at line 101 of file mlDicomSegmentationImageModuleTagInterface.h.

◆ _segmentSequence

DicomSegmentSequenceTagInterface ml::DicomSegmentationImageModuleTagInterface::_segmentSequence
protected

Segments sequence as part of Segmentation Image Module C.8.20.2.

Definition at line 93 of file mlDicomSegmentationImageModuleTagInterface.h.


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