MeVisLab Toolbox Reference
mlDicomEnhancedSave.h
Go to the documentation of this file.
1// Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2// **InsertLicense** code
3//----------------------------------------------------------------------------------
5
23//----------------------------------------------------------------------------------
24#pragma once
25
26// Local includes
28
29#include <mlModuleIncludes.h>
30#include <mlDicomSaveBase.h>
33
34// DICOM tree etc.
35#include <DCMTree_Tree.h>
36
37ML_START_NAMESPACE
38
40class DicomEnhancedSaveAddOnPointers;
41
44
45//----------------------------------------------------------------------------------
46// See above.
47//----------------------------------------------------------------------------------
49{
50public:
51
52#if defined(_USE_ENHANCED_SAVE_COMMON_INSTANCE_REFERENCE)
54 enum { NumDerivationModes = 4 };
55
57 enum DerivationModes {
58 Automatic = 0,
59 DerivationImageAndFrameOfReference,
61 OnlyFrameOfReference,
62 OnlyDerivationImage
63 };
64
66 static const char * const DerivationModeStrings[NumDerivationModes];
67#endif
70
73
75 enum { NumSupportedIODs = 1 };
76
81
83 static const char * const SupportedIODsStrings[NumSupportedIODs];
84
85protected:
86
88 void handleNotification(Field *field) override;
89
92 void activateAttachments() override;
93
96 std::string _checkConsistency() const override;
97
100
102 void _removeTags(DCMTree::TreePtr dcmTree, bool alsoSMFStuff);
103
106
108 void _updateInputState() override;
109
116 std::string _setEnhancedIODTags(DCMTree::TreePtr resultTree,
117 PagedImage &inputPagedImage,
118 DCMTree::Const_TreePtr inputDcmTree);
119
122
127 PagedImage &inputPagedImage);
128
131 std::string _setUpTreeContent() override;
132
133#if defined(_USE_ENHANCED_SAVE_COMMON_INSTANCE_REFERENCE)
135 EnumField *_derivationModeFld;
136#endif
137
140
143
148
153
156
159};
160
161ML_END_NAMESPACE
Project global and OS specific declarations.
#define MLDICOMOUTPUTS_EXPORT
DLL export macro definition.
_EnhancedFieldAddOnListType _fieldAddOnList
Container which handles all internally used DicomModifyFieldAddOns.
void activateAttachments() override
std::string _setEnhancedIODTags(DCMTree::TreePtr resultTree, PagedImage &inputPagedImage, DCMTree::Const_TreePtr inputDcmTree)
EnumField * _supportedIODsFld
Selector for the IOD to export.
void handleNotification(Field *field) override
Handles field changes of the field field.
EnumField * _compressionFld
Selector for supported lossless compressions.
void _inheritFieldValuesFromDCMTree(DCMTree::Const_TreePtr dcmTree) override
Overloads base class field inheritance and adds the additional tags needed by this class.
SupportedIODs
Enumerators for supported IODs.
@ LegacyConvertedEnhancedMR
According to A.71 Legacy Converted Enhanced MR Image IOD in DICOM Standard.
std::string _checkConsistency() const override
virtual ~DicomEnhancedSave()
Destructor.
void _updateInputState() override
Overwrites base class and sets up additional stuff in commonInstanceReferenceModuleTags.
static const char *const SupportedIODsStrings[NumSupportedIODs]
String representations of supported IODs.
void _addAndSetEnhancedPixelDataTag(DCMTree::TreePtr resultTree, PagedImage &inputPagedImage)
std::string _setUpTreeContent() override
DicomEnhancedSave()
Constructor.
ML_MODULE_CLASS_HEADER(DicomEnhancedSave)
Implements interface for the runtime type system of the ML.
void _setUpCompression(DCMTree::TreePtr resultTree)
Add tags configuring the compression scheme.
virtual void _handleCommonInstanceReferenceFieldChanges(Field *field)
Handles possible changes for CommonInstanceReference fields if compiled.
void _removeTags(DCMTree::TreePtr dcmTree, bool alsoSMFStuff)
Removes tags not needed or not permitted in the IOD; remove SMF tree sequence only if alsoSMFStuff is...
BoolField * _suppressUnassignedContentWriteFld
DicomSaveBase(int numInputs=1, int numOutputs=0)
Constructor, currently 0-3 input images are allowed to be set by derived modules.
Header file of a class managing many DicomModifFieldAddOns to simplify usage of multiple AddOns.
Header file for the ML module base class DicomSaveBase.
boost::shared_ptr< const Tree > Const_TreePtr
Definition DCMTree_Lib.h:67
boost::shared_ptr< Tree > TreePtr
Shared pointer to a DCMTree::Tree.
Definition DCMTree_Lib.h:66
DicomModifyFieldAddOnList< DicomModifyFieldAddOnBase, DicomEnhancedSaveAddOnPointers * > _EnhancedFieldAddOnListType
Container type which handles all internally used DicomModifyFieldAddOns.