MeVisLab Toolbox Reference
mlDicomSOPCommonModuleTagInterface.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 
17 
18 ML_START_NAMESPACE
19 
20 //----------------------------------------------------------------------------------
22 //----------------------------------------------------------------------------------
24 {
25 public:
26 
28  enum { NumSpecialCharacterSetStrings = 15 };
29 
31  static const char * const SpecialCharacterSetStrings[NumSpecialCharacterSetStrings];
32 
38  DicomSOPCommonModuleTagInterface(Module &modRef, const std::string &sopClassUID);
39 
41  void addFields() override;
42 
45 
48 
50  void inheritValues(DCMTree::Const_TreePtr dcmTree) override;
51 
54  std::string applyModifications(DCMTree::TreePtr dcmTree,
55  const FieldContainer *treeInfos=nullptr) override;
56 
60  std::string checkConsistency() const override;
61 
63  StringField &getSopClassUIDFld() { return *_sopClassUIDFld; }
64  const StringField &getSopClassUIDFld() const { return *_sopClassUIDFld; }
65  StringField &getSopInstanceUIDFld() { return *_sopInstanceUIDFld; }
66  const StringField &getSopInstanceUIDFld() const { return *_sopInstanceUIDFld; }
67  BoolField &getWriteSpecificCharacterSetFld() { return *_writeSpecificCharacterSetFld; }
68  const BoolField &getWriteSpecificCharacterSetFld() const { return *_writeSpecificCharacterSetFld; }
69  BoolField &getInheritSpecificCharacterSetFld() { return *_inheritSpecificCharacterSetFld; }
70  const BoolField &getInheritSpecificCharacterSetFld() const { return *_inheritSpecificCharacterSetFld; }
71  NotifyField &getSetDefaultSpecificCharacterSetFld() { return *_setDefaultSpecificCharacterSetFld; }
72  const NotifyField &getSetDefaultSpecificCharacterSetFld() const { return *_setDefaultSpecificCharacterSetFld; }
73  BoolField &getUseMMSUIDPrefixFld() { return *_useMMSUIDPrefixFld; }
74  const BoolField &getUseMMSUIDPrefixFld() const { return *_useMMSUIDPrefixFld; }
75  DicomGeneralEquipmentModuleTagInterface &getGeneralEquipmentForContributingEquipmentSettings() { return _generalEquipmentForContributingEquipmentSettings; }
76  const DicomGeneralEquipmentModuleTagInterface &getGeneralEquipmentForContributingEquipmentSettings() const { return _generalEquipmentForContributingEquipmentSettings; }
77  BoolField &getCreateOrExtendContributingEquipmentSequenceFld() { return *_createOrExtendContributingEquipmentSequenceFld; }
78  const BoolField &getCreateOrExtendContributingEquipmentSequenceFld() const { return *_createOrExtendContributingEquipmentSequenceFld; }
79  ContributingEquipmentSettings &getContributingEquipmentSettings() { return _contributingEquipmentSettings; }
80  const ContributingEquipmentSettings &getContributingEquipmentSettings() const { return _contributingEquipmentSettings; }
82 
83 protected:
84 
86  const std::string _sopClassUID;
87 
90 
93 
96 
99 
103 
106 
110 
113 
122 
125 };
126 
127 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
Manages the module field interface according to DICOM General Equipment, C.7.5.1.
The class DicomModifyFieldAddOnBase is dedicated to manage fields for ML modules and instances derive...
Manages the module field interface according to SOP Common Module shown in DICOM Table 12-1.
std::string checkConsistency() const override
Checks for invalid parameters; return textual description on error, or empty string on success; requi...
std::string applyModifications(DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr) override
See DicomModifyFieldAddOnBase::applyModifications() for documentation; adds field values as tags to d...
void inheritValues(DCMTree::Const_TreePtr dcmTree) override
Implements the copy of tag values from the given dcmTree to the fields.
StringField & getSopClassUIDFld()
Access interface to members; see corresponding member for details.
FieldAddOnBase::FieldChangeState handleFieldChanges(Field *field) override
Handle field notifications according to Module::activateAttachments with a return of field change sta...
StringField * _specificCharacterSetFld
The Specific Character Set (0008,0005) of the SOP Instance Reference Macro, Table 12-1.
BoolField * _useMMSUIDPrefixFld
Usually true but can be set false to create SOPInstanceUIDs with FMEGeneralUIDPrefixString instead of...
DicomGeneralEquipmentModuleTagInterface _generalEquipmentForContributingEquipmentSettings
Makes General Equipment configurable for the case that an entry in the ContributingEquipmentSequence ...
const DicomGeneralEquipmentModuleTagInterface & getGeneralEquipmentForContributingEquipmentSettings() const
DicomGeneralEquipmentModuleTagInterface & getGeneralEquipmentForContributingEquipmentSettings()
ContributingEquipmentSettings _contributingEquipmentSettings
Buffer object for the settings of the input DCMTree on inheritance.
StringField * _sopInstanceUIDFld
The SOP Instance UID tag of the SOP Instance Reference Macro, Table 12-1.
void handleFieldActivationChanges() override
Handle class changes according to Module::activateAttachments.
ContributingEquipmentSettings & getContributingEquipmentSettings()
StringField * _sopClassUIDFld
The SOP Class UID tag of the SOP Instance Reference Macro, Table 12-1.
const ContributingEquipmentSettings & getContributingEquipmentSettings() const
BoolField * _inheritSpecificCharacterSetFld
Inherit settings related to Specific Character Set (0008,0005); if true then _specificCharacterSetFld...
BoolField * _writeSpecificCharacterSetFld
Save Specific Character Set (0008,0005) value if true.
const NotifyField & getSetDefaultSpecificCharacterSetFld() const
const BoolField & getCreateOrExtendContributingEquipmentSequenceFld() const
void addFields() override
Add fields to field container of module.
NotifyField * _setDefaultSpecificCharacterSetFld
Sets the recommended "ISO_IR 192" character set as default which matches the internal UTF-8 coding in...
BoolField * _createOrExtendContributingEquipmentSequenceFld
If enabled then a new entry in the Contributing Equipment Sequence (0018,A001) is generated and fille...
DicomSOPCommonModuleTagInterface(Module &modRef, const std::string &sopClassUID)
Constructor, setting the reference of the module for which the fields shall be managed; the SOP CLass...
const std::string _sopClassUID
Stored sopClassUID constructor parameter.
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
Field to encapsulate a string value.
Definition: mlFields.h:1000
Helper class to inherit, buffer and set an entry of a Contributing Equipment Sequence (0018,...
Header file for the ML module base class DicomGeneralEquipmentModuleTagInterface.
Header file of the DicomModifyFieldAddOnBase class dedicated to manage fields for ML modules and inst...
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
Helper class to inherit, buffer and set an entry of a Contributing Equipment Sequence (0018,...