MeVisLab Toolbox Reference
mlDicomSegmentSequenceTagInterface.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
6 
11 //----------------------------------------------------------------------------------
12 
13 #pragma once
14 
17 #include <mlDicomSegmentItem.h>
18 
19 ML_START_NAMESPACE
20 
24 {
25 public:
28 
30 
32  void addFields() override;
33 
36 
39 
41  void inheritValues(DCMTree::Const_TreePtr dcmTree) override;
42 
45  std::string applyModifications(DCMTree::TreePtr dcmTree,
46  const FieldContainer *treeInfos=nullptr) override;
47 
51  std::string checkConsistency() const override;
52 
55 
58 
59 protected:
62 
65 
68 
71 
74 
77 
80 
83 
86 
91 
94 
97 
100 
103 
106 };
107 
108 ML_END_NAMESPACE
Project global and OS specific declarations.
#define MLDICOMTAGINTERFACES_EXPORT
DLL export macro definition.
Field to encapsulate a vector of 3 float values representing an (rgb) color with all properties of Ve...
Definition: mlFields.h:2065
The class DicomModifyFieldAddOnBase is dedicated to manage fields for ML modules and instances derive...
Class managing the module field interface according to DICOM Segmentation Image Module Attributes,...
NotifyField * _removeSegmentFld
Remove currently selected segment.
IntField * _currentSegmentFld
Segment counter to index the currently shown segment in segementSequence.
DoubleField * _segmentImageValueRangeMinFld
[Min,Max[ interval in which input image values are considered as part of the segment; interval border...
FieldAddOnBase::FieldChangeState handleFieldChanges(Field *field) override
Handle field notifications according to Module::activateAttachments with a return of field change sta...
StringField * _segmentAlgorithmNameFld
Segment Algorithm Name(if type is not MANUAL).
DicomSegmentSequenceTagInterface(Module &modRef)
Constructor, setting the reference of the module for which the fields shall be managed.
std::string checkConsistency() const override
Checks for invalid parameters; return textual description on error, or empty string on success; requi...
void addFields() override
Add fields to field container of module.
IntField * _numberOfSegmentsFld
The number of currently available segments.
StringField * _segmentDescriptionFld
Segment Description.
Vector3Field * _recommendedDisplayCIELabValueFld
Value of RecommendedDisplayCIELabValue tag of currently selected volume or (0,0,0) if not available o...
EnumField * _segmentAlgorithmTypeFld
Segment Algorithm Type (one of AUTOMATIC, SEMIAUTOMATIC, MANUAL).
const DicomSegmentItemVector & getSegmentSequence() const
Allows read access to the segment sequence.
void handleFieldActivationChanges() override
Handle class changes according to Module::activateAttachments.
NotifyField * _appendSegmentFld
Append a new segment at end.
ColorField * _rgbFld
A reduced quality version of the RecommendedDisplayCIELabValue as rgb.
void _updateSegmentNumbers()
Small helper function setting all segmentNumbers of all segments.
StringField * _codedSegmentSequenceFld
Internal, non-user, field to store the content of the segment sequence as coded string.
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
See DicomModifyFieldAddOnBase::applyModifications() for documentation; adds field values as tags to d...
DicomSegmentItemVector _segmentSequence
Stores the segment sequence;.
DicomSegmentItemVector & getSegmentSequence()
Allows read-write access to the segment sequence.
Field to encapsulate a double value.
Definition: mlFields.h:806
Field to encapsulate an enumerated value.
Definition: mlFields.h:363
FieldChangeState
Describes the type of a field changes detected in handleFieldChanges(Field *field).
Defines the class FieldContainer to encapsulate a vector of fields for (see class Field).
Base class for all fields used in the ML.
Definition: mlField.h:73
Field to encapsulate an integer value.
Definition: mlFields.h:161
Base class for an image processing module of the ML.
Definition: mlModule.h:156
Field without value for notifications.
Definition: mlFields.h:1049
Field to encapsulate a string value.
Definition: mlFields.h:1000
Field to encapsulate a vector of 3 double values.
Definition: mlFields.h:1538
Header file of the DicomModifyFieldAddOnBase class dedicated to manage fields for ML modules and inst...
Header file of the class implementing a segmentation item according to the DICOM Segmentation Image M...
boost::shared_ptr< const Tree > Const_TreePtr
Definition: DCMTree_Lib.h:73
boost::shared_ptr< Tree > TreePtr
shared pointer to a DCMTree::Tree
Definition: DCMTree_Lib.h:70
std::vector< DicomSegmentItem > DicomSegmentItemVector
Type describing a sequence of SegmentItems similar to its description in the DICOM standard under SEG...