MeVisLab Toolbox Reference
mlDicomModifySubTreeSelectorFieldAddOn.h
Go to the documentation of this file.
1// Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2// **InsertLicense** code
3//----------------------------------------------------------------------------------
7
12//----------------------------------------------------------------------------------
13#pragma once
14
15#include "MLDicomModifySystem.h"
17#include <mlZTUIndex.h>
18
19ML_START_NAMESPACE
20
21// Forward to internally used classes.
22class UInt32MultiField;
23class StringLineMultiField;
24
25//----------------------------------------------------------------------------------
29//----------------------------------------------------------------------------------
31{
32public:
33
42
45
48 DicomModifyFieldAddOnBase(fieldContainerRef, 1, true, true){};
49
51 void addFields() override;
52
55
58
65 const FieldContainer *treeInfos) override;
66
67protected:
68
71 std::vector<DCMTree::TreePtr> _determineSubTreesToModify(DCMTree::TreePtr parentTree,
72 DICOMTagTools::ZTUVector &ztuIndexes) const;
79 const FieldContainer *treeInfos);
80
81private:
82
84
86 BaseField *_preInputModifierListFld;
87
89 EnumField *_subTreeSelectionModeFld;
90
92 StringField *_zSlicesEntriesFld;
93
95 StringField *_tSlicesEntriesFld;
96
98 StringField *_uSlicesEntriesFld;
99
101 UInt32MultiField *_ztuFramesFld;
102
104 StringLineMultiField *_ztuFrameValueListFld;
105
107 StringField *_tagIdFld;
108
110 BoolField *_isValidIdFld;
111
114 StringField *_sequenceEntriesFld;
115
117
122};
123
124ML_END_NAMESPACE
Project global and OS specific declarations.
#define ML_DICOM_MODIFY_EXPORT
DLL export macro definition.
DicomModifyFieldAddOnBase(FieldContainer &fieldContainerRef, size_t numInstances=1, bool createInputModifyTagsPluginBaseConnectorField=false, bool createOutputModifyTagsPluginBaseConnectorField=false)
void addFields() override
Add fields to field container of module.
std::string _applyPreModifications(DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos)
@ ModifySequenceWithId
The entries described in sequenceEntries of the sequence tag with ID subTreeSelectorTagId are modifie...
@ ModifyZTU_SMF_Frames
The frames of the MeVis Structured multi-frame sequence which are described in _ztuFramesFld are modi...
FieldAddOnBase::FieldChangeState handleFieldChanges(Field *field) override
Handle field changes and field validation.
std::string applyModifications(DCMTree::TreePtr dcmTree, const FieldContainer *treeInfos) override
void handleFieldActivationChanges() override
Handle class changes according to Module::activateAttachments.
DicomModifySubTreeSelectorFieldAddOn(FieldContainer &fieldContainerRef)
See DicomModifyFieldAddOnBase::DicomModifyFieldAddOnBase(fieldContainerRef, numInstances) for details...
std::vector< DCMTree::TreePtr > _determineSubTreesToModify(DCMTree::TreePtr parentTree, DICOMTagTools::ZTUVector &ztuIndexes) const
FieldChangeState
Describes the type of a field changes detected in handleFieldChanges(Field *field).
Class UInt32MultiField. See MultiField for documentation.
#define ML_ABSTRACT_CLASS_HEADER(className)
Header file of class ZTUIndex managing a multi-frame Z, T, and U-dimension plus a string value.
boost::shared_ptr< Tree > TreePtr
Shared pointer to a DCMTree::Tree.
Definition DCMTree_Lib.h:66
std::vector< ZTUIndex > ZTUVector
Definition mlZTUIndex.h:70