MeVisLab Toolbox Reference
mlDicomReferencedImageSequenceTagInterface.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
5 
10 //----------------------------------------------------------------------------------
11 #pragma once
12 
16 
17 ML_START_NAMESPACE
18 
19 //----------------------------------------------------------------------------------
21 //----------------------------------------------------------------------------------
23 {
24 public:
27 
30 
32  void addFields() override;
33 
36 
38  void inheritValues(DCMTree::Const_TreePtr dcmTree) override;
39 
42  std::string applyModifications(DCMTree::TreePtr dcmTree,
43  const FieldContainer *treeInfos=nullptr) override;
44 
48  std::string checkConsistency() const override;
49 
52 
56  void setStudyInstanceUIDFieldPointer(StringField *studyInstanceUIDFldPointer);
57 
60 
62  virtual bool areAllFieldsEmpty() const;
63 
65  virtual void clearFields();
66 
67 protected:
69 
72 
75 
79 
82 
85 
86 private:
88  Module &_modRef;
89 
91  PagedImage *_inImg;
92 
95  DicomSeriesAndInstanceReferenceMacroTagInterface _referencedImageSequenceFieldAddOn;
96 };
97 
98 ML_END_NAMESPACE
Project global and OS specific declarations.
#define MLDICOMTAGINTERFACES_EXPORT
DLL export macro definition.
Field to encapsulate a boolean value.
Definition: mlFields.h:62
The class DicomModifyFieldAddOnBase is dedicated to manage fields for ML modules and instances derive...
Manages the module field interface according to Common Instance Reference Module in DICOM Part 3.
void setStudyInstanceUIDFieldPointer(StringField *studyInstanceUIDFldPointer)
Stores the StudyInstanceUID field created somewhere else; in handle field changes it can be used whet...
void inheritValues(DCMTree::Const_TreePtr dcmTree) override
Implements the copy of tag values from the given dcmTree to the fields.
virtual void clearFields()
Make all fields empty.
NotifyField * _clearReferencedImageSequenceFieldsFld
If notified then all fields are reset to empty strings.
BoolField & getMakeGUIInsensitiveFld()
Return reference to _makeGUIInsensitiveFld to allow modules hosting this add to change sensitivity.
StringField * _referencedSegmentNumbersFld
Values to be written into Referenced Segment Number tags if non empty; otherwise not written at all.
void setInputPagedImage(PagedImage &inImg)
Sets the input image from which the DICOM information of the reference image shall be inherited.
StringField * _referencedFrameNumbersFld
Space separated values to be written into Referenced Frame Number tags if non empty; otherwise not wr...
void addFields() override
Add fields to field container of module.
NotifyField * _updateReferencedImageSequenceUIDInheritanceFld
If the _mainStudyInstanceUID has been changed then a manual update of the inherited UIDs may be requi...
DicomReferencedImageSequenceTagInterface(Module &modRef)
Constructor, setting the reference of the module for which the fields shall be managed.
std::string applyModifications(DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr) override
See DicomModifyFieldAddOnBase::applyModifications() for documentation; adds field values as tags to d...
std::string checkConsistency() const override
Checks for invalid parameters; return textual description on error, or empty string on success; requi...
virtual bool areAllFieldsEmpty() const
Returns true if all fields are empty, otherwise false.
StringField * getStudyInstanceUIDFieldPointer() const
Returns the pointer set with setStudyInstanceUIDFieldPointer or nullptr if still not set....
FieldAddOnBase::FieldChangeState handleFieldChanges(Field *field) override
Handle field notifications according to Module::handleNotification with a return of field change stat...
Manages the module field interface according to Series And Instance Reference Macro in DICOM Part 3.
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
Base class for an image processing module of the ML.
Definition: mlModule.h:156
Field without value for notifications.
Definition: mlFields.h:1049
Class which represents an image, which manages properties of an image and image data which is located...
Definition: mlPagedImage.h:70
Field to encapsulate a string value.
Definition: mlFields.h:1000
Header file of the DicomModifyFieldAddOnBase class dedicated to manage fields for ML modules and inst...
Header file for the tag interface which manages the Series And Instance Reference Macro in DICOM Part...
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