MeVisLab Toolbox Reference
mlDicomModifyImageTagsFieldAddOn.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
8 
13 //----------------------------------------------------------------------------------
14 #pragma once
15 
16 // Local includes
17 #include "MLDicomModifySystem.h"
19 
20 ML_START_NAMESPACE
21 
22 namespace MLToDicomTools {
23  // Forward declaration of an internally used class.
25 }
26 
27 //----------------------------------------------------------------------------------
31 //----------------------------------------------------------------------------------
33 {
34 public:
35 
41  InputConnectorField *inField);
42 
44  void addFields() override;
45 
51  std::string applyModifications(DCMTree::TreePtr dcmTree,
52  const FieldContainer *treeInfos=nullptr) override;
53 
54 private:
60  std::string _setUpNMArgs(DCMTree::TreePtr &dcmTree,
62 
65  InputConnectorField *_inputImageFld;
66 
68  BoolField *_skipOutrangedTSlicesFld;
69 
71  BoolField *_skipOutrangedUSlicesFld;
72 
74  enum ReplacementModes {
75  GlobalReplace = 0,
76  AdjustSliceWise,
81  };
82 
84  enum { NumReplacementModes = AdjustSliceWise+1 };
85 
87  static const char * const ReplacementModesStrings[NumReplacementModes];
88 
90  EnumField *_replacementModeFld;
91 
93  EnumField *_imageTypeValue3Fld;
94 
96  EnumField *_zDimIndexVectorFld;
97 
99  EnumField *_tDimIndexVectorFld;
100 
102  EnumField *_uDimIndexVectorFld;
103 
105  ML_ABSTRACT_CLASS_HEADER(DicomModifyImageTagsFieldAddOn);
106 };
107 
108 ML_END_NAMESPACE
Project global and OS specific declarations.
#define ML_DICOM_MODIFY_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...
DicomModifyImageTagsFieldAddOn replaces the image pixel tag in DICOM trees with image data from the i...
DicomModifyImageTagsFieldAddOn(FieldContainer &fieldContainerRef, InputConnectorField *inField)
Constructor creating also an image connector, and connectors for concatenating DicomModifyLists.
void addFields() override
Add fields to the FieldContainer.
std::string applyModifications(DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos=nullptr) override
Apply all DicomModify objects to dcmTree as well as all connected ones.
Defines the class FieldContainer to encapsulate a vector of fields for (see class Field).
Field to encapsulate a pointer to an input connector which represents a module input.
Definition: mlFields.h:1140
Some dedicated parameters for advanced tag setups when setting pixel data and related tags in DICOM f...
#define ML_ABSTRACT_CLASS_HEADER(className)
Same like ML_ABSTRACT_CLASS_HEADER_EXPORTED with a non existing export symbol.
Header file of the DicomModifyFieldAddOnBase class dedicated to manage fields for ML modules and inst...
boost::shared_ptr< Tree > TreePtr
shared pointer to a DCMTree::Tree
Definition: DCMTree_Lib.h:70