MeVisLab Toolbox Reference
mlDicomCopyGroupsTagInterface.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 #include <DCMTree_Lib.h>
18 
19 ML_START_NAMESPACE
20 
21 //----------------------------------------------------------------------------------
23 //----------------------------------------------------------------------------------
25 {
26 public:
31  const std::string &fieldSuffix="");
32 
34  void addFields() override;
35 
37  void inheritValues(DCMTree::Const_TreePtr dcmTree) override;
38 
41 
43  std::string applyModifications(DCMTree::TreePtr dcmTree,
44  const FieldContainer *treeInfos=nullptr) override;
45 
47  std::string checkConsistency() const override;
48 
51 
52  // Patient Study C.7.2.2. Still in GeneralStudyTagInterface.
53  //DicomCopyTagSetInterface Tags;
54 
57 
60 
63 
64  // Enhanced General Equipment C.7.5.2. Only changes to Type 1.
65  //DicomCopyTagSetInterface Tags;
66 
69 
72 
73  // Multi-frame Dimension C.7.6.17. Done with tool functions, generated from the scratch.
74  //DicomCopyTagSetInterface Tags;
75 
78 
81 
84 
87 
90 
91  // Common Instance Reference C.12.2. To check, but there is a corresponding TagInterface available.
92  //DicomCopyTagSetInterface commonInstanceReferenceTags;
93 
95  std::vector<DicomCopyTagSetInterface*> allTagSetInterfaces;
96 };
97 
98 ML_END_NAMESPACE
Project global and OS specific declarations.
#define MLDICOMTAGINTERFACES_EXPORT
DLL export macro definition.
Manages the module field interface according to DICOM General Equipment, C.7.5.1.
DicomCopyTagSetInterface deviceTags
Device C.7.6.12.
DicomCopyTagSetInterface clinicalTrialStudyTags
Clinical Trial Study C.7.2.3.
void addFields() override
Add fields to field container of module.
std::string checkConsistency() const override
Checks for invalid parameters; return textual description on error, or empty string on success.
DicomCopyTagSetInterface bulkMotionSynchronizationTags
Bulk Motion Synchronization C.7.6.18.3.
DicomCopyTagSetInterface respiratorySynchronizationTags
Respiratory Synchronization C.7.6.18.2.
std::string applyModifications(DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr) override
See DicomModifyFieldAddOnBase::applyModifications() for documentation.
DicomCopyTagSetInterface specimenTags
Specimen C.7.6.22.
DicomCopyTagSetInterface cardiacSynchronizationTags
Cardiac Synchronization C.7.6.18.1.
void inheritValues(DCMTree::Const_TreePtr dcmTree) override
Implements the copy of tag values from the given dcmTree to the fields.
DicomCopyTagSetInterface synchronizationTags
Synchronization C.7.4.2.
DicomCopyTagSetInterface contrastBolusTags
Contrast/Bolus C.7.6.4.
DicomCopyTagSetInterface enhancedContrastBolusTags
Enhanced Contrast/Bolus C.7.6.4b.
DicomCopyTagSetInterface clinicalTrialSeriesTags
Clinical Trial Series C.7.3.2.
DicomCopyGroupsTagInterface(Module &modRef, const std::string &fieldSuffix="")
Constructor, setting the reference of the module for which the fields shall be managed and and option...
std::vector< DicomCopyTagSetInterface * > allTagSetInterfaces
Vector referencing all members to traverse them in loops.
DicomCopyTagSetInterface clinicalTrialSubjectTags
Clinical Trial Subject C.7.1.3.
FieldAddOnBase::FieldChangeState handleFieldChanges(Field *field) override
Handle field notifications.
Provides control to copy/inherit a set of tag (values) from an input DCMTree, buffer it,...
The class DicomModifyFieldAddOnBase is dedicated to manage fields for ML modules and instances derive...
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
Header file for the ML module base class DicomCopyTagSetInterface which provides control to copy/inhe...
Header file of the DicomModifyFieldAddOnBase class dedicated to manage fields for ML modules and inst...
Header file for the FieldAddOn supporting inheritance and auto creating tag values (for example DICOM...
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