MeVisLab Toolbox Reference
mlDcmDRTFractionGroupSequenceInterface.h
Go to the documentation of this file.
1 // Copyright (c) Fraunhofer MEVIS, Germany. All rights reserved.
2 // **InsertLicense** code
3 //----------------------------------------------------------------------------------
4 //
5 // NOTE:
6 // This file has been generated automatically by
7 // FMEwork/ReleaseMeVis/Configuration/CodeGenerators/dcmtkToMLConverter/convertDcmtkToML.py
8 // using the template file
9 // FMEwork/ReleaseMeVis/Configuration/CodeGenerators/dcmtkToMLConverter/MLDcmtkAccessoriesNew/templates/DcmSequenceInterface.h
10 //
11 // Destination project:
12 // FMEwork/ReleaseMeVis/Sources/Shared/MLDcmtkAccessoriesNew/DcmSequenceInterfaces
13 //
14 //----------------------------------------------------------------------------------
16 
21 //----------------------------------------------------------------------------------
22 
23 #ifndef __mlDcmDRTFractionGroupSequenceInterface_H
24 #define __mlDcmDRTFractionGroupSequenceInterface_H
25 
26 // Local includes
27 #include "mlDcmtkAccessories.h"
28 
29 // Dcmtk includes
30 //#include "mlDcmDRTFractionGroupSequenceInterface.h" //DRTFractionGroupSequence
31 #include "mlDcmDRTReferencedBeamSequenceInRTFractionSchemeModuleInterface.h" //DRTReferencedBeamSequenceInRTFractionSchemeModule
32 #include "mlDcmDRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModuleInterface.h" //DRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModule
33 #include "mlDcmDRTReferencedDoseReferenceSequenceInRTFractionSchemeModuleInterface.h" //DRTReferencedDoseReferenceSequenceInRTFractionSchemeModule
34 #include "mlDcmDRTReferencedDoseSequenceInterface.h" //DRTReferencedDoseSequence
35 
36 
37 // ML includes
38 #ifndef __mlModuleIncludes_H
39 #include "mlModuleIncludes.h"
40 #endif
41 
42 ML_START_NAMESPACE
43 
44 // ------------------------------------------------------------------
46 // ------------------------------------------------------------------
48 {
49  public:
50 
52  {
53  public:
54 
55  Item() { _dcmItem = DcmtkAccessories::createNewDicomTree(); }
56 
57  Item(DCMTree::TreePtr dcmItem) : _dcmItem(dcmItem) {}
58 
59  Item(const Item &copyDcmItem) : _dcmItem(copyDcmItem.getTreePtr()) {}
60 
61  Item &operator=(const Item &copyDcmItem){ _dcmItem = copyDcmItem.getTreePtr(); return *this; }
62 
63  virtual ~Item() {}
64 
65  DCMTree::TreePtr getTreePtr() const { return _dcmItem; }
66 
67  bool isValid() const { return _dcmItem.get() != nullptr; }
68 
69 
70  // FractionGroupDescription (300a,0072) vr=LO, vm=1, type=3
71  bool getFractionGroupDescription(std::string& parameter) const;
72  std::string getFractionGroupDescriptionTag() const { return "(300a,0072)"; }
73  bool setFractionGroupDescription(std::string parameter);
74 
75  // FractionGroupNumber (300a,0071) vr=IS, vm=1, type=1
76  bool getFractionGroupNumber(std::string& parameter) const;
77  std::string getFractionGroupNumberTag() const { return "(300a,0071)"; }
78  bool setFractionGroupNumber(std::string parameter);
79 
80  // FractionPattern (300a,007b) vr=LT, vm=1, type=3
81  bool getFractionPattern(std::string& parameter) const;
82  std::string getFractionPatternTag() const { return "(300a,007b)"; }
83  bool setFractionPattern(std::string parameter);
84 
85  // NumberOfBeams (300a,0080) vr=IS, vm=1, type=1
86  bool getNumberOfBeams(std::string& parameter) const;
87  std::string getNumberOfBeamsTag() const { return "(300a,0080)"; }
88  bool setNumberOfBeams(std::string parameter);
89 
90  // NumberOfBrachyApplicationSetups (300a,00a0) vr=IS, vm=1, type=1
91  bool getNumberOfBrachyApplicationSetups(std::string& parameter) const;
92  std::string getNumberOfBrachyApplicationSetupsTag() const { return "(300a,00a0)"; }
93  bool setNumberOfBrachyApplicationSetups(std::string parameter);
94 
95  // NumberOfFractionPatternDigitsPerDay (300a,0079) vr=IS, vm=1, type=3
96  bool getNumberOfFractionPatternDigitsPerDay(std::string& parameter) const;
97  std::string getNumberOfFractionPatternDigitsPerDayTag() const { return "(300a,0079)"; }
98  bool setNumberOfFractionPatternDigitsPerDay(std::string parameter);
99 
100  // NumberOfFractionsPlanned (300a,0078) vr=IS, vm=1, type=2
101  bool getNumberOfFractionsPlanned(std::string& parameter) const;
102  std::string getNumberOfFractionsPlannedTag() const { return "(300a,0078)"; }
103  bool setNumberOfFractionsPlanned(std::string parameter);
104 
105  // RepeatFractionCycleLength (300a,007a) vr=IS, vm=1, type=3
106  bool getRepeatFractionCycleLength(std::string& parameter) const;
107  std::string getRepeatFractionCycleLengthTag() const { return "(300a,007a)"; }
108  bool setRepeatFractionCycleLength(std::string parameter);
109 
110  // ReferencedBeamSequence (300c,0004) vr=SQ, vm=1, type=1C
112  std::string getReferencedBeamSequenceTag() const { return std::string("(300c,0004)"); }
114 
115  // ReferencedBrachyApplicationSetupSequence (300c,000a) vr=SQ, vm=1, type=1C
117  std::string getReferencedBrachyApplicationSetupSequenceTag() const { return std::string("(300c,000a)"); }
119 
120  // ReferencedDoseReferenceSequence (300c,0050) vr=SQ, vm=1, type=3
122  std::string getReferencedDoseReferenceSequenceTag() const { return std::string("(300c,0050)"); }
124 
125  // ReferencedDoseSequence (300c,0080) vr=SQ, vm=1, type=3
127  std::string getReferencedDoseSequenceTag() const { return std::string("(300c,0080)"); }
129 
130 
131  private:
132 
133  DCMTree::TreePtr _dcmItem;
134 
135  };
136 
138 
140  DcmDRTFractionGroupSequenceInterface(std::vector<DcmDRTFractionGroupSequenceInterface::Item> dcmSequence) : _itemVec(dcmSequence) {}
141 
143  for(size_t i=0; i < treePtrSeq.size(); i++)
144  {
145  _itemVec.push_back(DcmDRTFractionGroupSequenceInterface::Item(treePtrSeq[i]));
146  }
147  }
148 
151  // FractionGroupDescription (300a,0072) vr=LO, vm=1, type=3
152  bool getFractionGroupDescription(unsigned long idx, std::string& parameter) const;
153  bool getFractionGroupDescription(DCMTree::TreePtr item, std::string& parameter) const;
154  std::string getFractionGroupDescriptionTag() const { return "(300a,0072)"; }
155  bool setFractionGroupDescription(unsigned long idx, std::string parameter);
156 
157  // FractionGroupNumber (300a,0071) vr=IS, vm=1, type=1
158  bool getFractionGroupNumber(unsigned long idx, std::string& parameter) const;
159  bool getFractionGroupNumber(DCMTree::TreePtr item, std::string& parameter) const;
160  std::string getFractionGroupNumberTag() const { return "(300a,0071)"; }
161  bool setFractionGroupNumber(unsigned long idx, std::string parameter);
162 
163  // FractionPattern (300a,007b) vr=LT, vm=1, type=3
164  bool getFractionPattern(unsigned long idx, std::string& parameter) const;
165  bool getFractionPattern(DCMTree::TreePtr item, std::string& parameter) const;
166  std::string getFractionPatternTag() const { return "(300a,007b)"; }
167  bool setFractionPattern(unsigned long idx, std::string parameter);
168 
169  // NumberOfBeams (300a,0080) vr=IS, vm=1, type=1
170  bool getNumberOfBeams(unsigned long idx, std::string& parameter) const;
171  bool getNumberOfBeams(DCMTree::TreePtr item, std::string& parameter) const;
172  std::string getNumberOfBeamsTag() const { return "(300a,0080)"; }
173  bool setNumberOfBeams(unsigned long idx, std::string parameter);
174 
175  // NumberOfBrachyApplicationSetups (300a,00a0) vr=IS, vm=1, type=1
176  bool getNumberOfBrachyApplicationSetups(unsigned long idx, std::string& parameter) const;
177  bool getNumberOfBrachyApplicationSetups(DCMTree::TreePtr item, std::string& parameter) const;
178  std::string getNumberOfBrachyApplicationSetupsTag() const { return "(300a,00a0)"; }
179  bool setNumberOfBrachyApplicationSetups(unsigned long idx, std::string parameter);
180 
181  // NumberOfFractionPatternDigitsPerDay (300a,0079) vr=IS, vm=1, type=3
182  bool getNumberOfFractionPatternDigitsPerDay(unsigned long idx, std::string& parameter) const;
183  bool getNumberOfFractionPatternDigitsPerDay(DCMTree::TreePtr item, std::string& parameter) const;
184  std::string getNumberOfFractionPatternDigitsPerDayTag() const { return "(300a,0079)"; }
185  bool setNumberOfFractionPatternDigitsPerDay(unsigned long idx, std::string parameter);
186 
187  // NumberOfFractionsPlanned (300a,0078) vr=IS, vm=1, type=2
188  bool getNumberOfFractionsPlanned(unsigned long idx, std::string& parameter) const;
189  bool getNumberOfFractionsPlanned(DCMTree::TreePtr item, std::string& parameter) const;
190  std::string getNumberOfFractionsPlannedTag() const { return "(300a,0078)"; }
191  bool setNumberOfFractionsPlanned(unsigned long idx, std::string parameter);
192 
193  // RepeatFractionCycleLength (300a,007a) vr=IS, vm=1, type=3
194  bool getRepeatFractionCycleLength(unsigned long idx, std::string& parameter) const;
195  bool getRepeatFractionCycleLength(DCMTree::TreePtr item, std::string& parameter) const;
196  std::string getRepeatFractionCycleLengthTag() const { return "(300a,007a)"; }
197  bool setRepeatFractionCycleLength(unsigned long idx, std::string parameter);
198 
199  // ReferencedBeamSequence (300c,0004) vr=SQ, vm=1, type=1C
201  std::string getReferencedBeamSequenceTag() const { return std::string("(300c,0004)"); }
203 
204  // ReferencedBrachyApplicationSetupSequence (300c,000a) vr=SQ, vm=1, type=1C
206  std::string getReferencedBrachyApplicationSetupSequenceTag() const { return std::string("(300c,000a)"); }
208 
209  // ReferencedDoseReferenceSequence (300c,0050) vr=SQ, vm=1, type=3
211  std::string getReferencedDoseReferenceSequenceTag() const { return std::string("(300c,0050)"); }
213 
214  // ReferencedDoseSequence (300c,0080) vr=SQ, vm=1, type=3
216  std::string getReferencedDoseSequenceTag() const { return std::string("(300c,0080)"); }
218 
219 
222  void setSequence(std::vector<DcmDRTFractionGroupSequenceInterface::Item> dcmSequence) {
223  _itemVec = dcmSequence;
224  }
225 
228  std::vector<DcmDRTFractionGroupSequenceInterface::Item> getSequence() const {
229  return _itemVec;
230  }
231 
234  bool hasSequence() const {
235  return (_itemVec.size() != 0);
236  }
237 
241  return static_cast<MLint>(_itemVec.size());
242  }
243 
247  if (_itemVec.size() > idx) {
248  return _itemVec[idx];
249  }
251  }
252 
256  _itemVec.push_back(DcmDRTFractionGroupSequenceInterface::Item());
257  return _itemVec[_itemVec.size()-1];
258  }
259 
261  _itemVec.push_back(newItem);
262  }
263 
266  bool insertItem(const size_t idx) {
267  if (_itemVec.size() > idx) {
268  std::vector<DcmDRTFractionGroupSequenceInterface::Item>::iterator it = _itemVec.begin();
269  std::advance(it, idx);
270  _itemVec.insert(it, DcmDRTFractionGroupSequenceInterface::Item());
271  return true;
272  }
273  return false;
274  }
275 
278  bool removeItem(const size_t idx) {
279  if ( _itemVec.size() > idx ) {
280  std::vector<DcmDRTFractionGroupSequenceInterface::Item>::iterator it = _itemVec.begin();
281  std::advance(it, idx);
282  _itemVec.erase(it);
283  return true;
284  }
285  return false;
286  }
287 
288  protected:
290  std::vector<DcmDRTFractionGroupSequenceInterface::Item> _itemVec;
291 };
292 
293 ML_END_NAMESPACE
294 
295 #endif // __mlDcmDRTFractionGroupSequenceInterface_H
296 
297 /* MeVis-Hidden-Components-Start */
298 /* MeVis-Hidden-Components-End */
#define MLDCMTKACCESSORIES_EXPORT
bool setNumberOfBeams(std::string parameter)
void setReferencedDoseSequence(DcmDRTReferencedDoseSequenceInterface seq)
bool setNumberOfFractionsPlanned(std::string parameter)
DcmDRTReferencedDoseReferenceSequenceInRTFractionSchemeModuleInterface getReferencedDoseReferenceSequence() const
bool setRepeatFractionCycleLength(std::string parameter)
bool setFractionGroupNumber(std::string parameter)
bool getNumberOfFractionPatternDigitsPerDay(std::string &parameter) const
bool getNumberOfBrachyApplicationSetups(std::string &parameter) const
void setReferencedBrachyApplicationSetupSequence(DcmDRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModuleInterface seq)
bool setNumberOfBrachyApplicationSetups(std::string parameter)
DcmDRTReferencedDoseSequenceInterface getReferencedDoseSequence() const
bool setNumberOfFractionPatternDigitsPerDay(std::string parameter)
bool setFractionPattern(std::string parameter)
bool getRepeatFractionCycleLength(std::string &parameter) const
bool getFractionGroupDescription(std::string &parameter) const
bool getNumberOfBeams(std::string &parameter) const
bool getFractionPattern(std::string &parameter) const
bool setFractionGroupDescription(std::string parameter)
bool getNumberOfFractionsPlanned(std::string &parameter) const
void setReferencedDoseReferenceSequence(DcmDRTReferencedDoseReferenceSequenceInRTFractionSchemeModuleInterface seq)
DcmDRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModuleInterface getReferencedBrachyApplicationSetupSequence() const
DcmDRTReferencedBeamSequenceInRTFractionSchemeModuleInterface getReferencedBeamSequence() const
bool getFractionGroupNumber(std::string &parameter) const
void setReferencedBeamSequence(DcmDRTReferencedBeamSequenceInRTFractionSchemeModuleInterface seq)
Class to provide access to DRTFractionGroupSequence.
bool getNumberOfFractionsPlanned(DCMTree::TreePtr item, std::string &parameter) const
bool getFractionGroupNumber(unsigned long idx, std::string &parameter) const
bool getRepeatFractionCycleLength(DCMTree::TreePtr item, std::string &parameter) const
std::vector< DcmDRTFractionGroupSequenceInterface::Item > getSequence() const
Return the DRTFractionGroupSequence this interface class provides access to.
bool setNumberOfFractionPatternDigitsPerDay(unsigned long idx, std::string parameter)
MLint getNumberOfItems() const
Return number of items the internal sequence consists of.
DcmDRTReferencedDoseReferenceSequenceInRTFractionSchemeModuleInterface getReferencedDoseReferenceSequence(unsigned long idx) const
bool getNumberOfFractionPatternDigitsPerDay(unsigned long idx, std::string &parameter) const
bool getFractionPattern(unsigned long idx, std::string &parameter) const
bool removeItem(const size_t idx)
Removes the indicated item from the sequence.
void addItem(DcmDRTFractionGroupSequenceInterface::Item newItem)
DcmDRTReferencedBeamSequenceInRTFractionSchemeModuleInterface getReferencedBeamSequence(unsigned long idx) const
bool getNumberOfBeams(DCMTree::TreePtr item, std::string &parameter) const
bool getNumberOfBrachyApplicationSetups(DCMTree::TreePtr item, std::string &parameter) const
bool setRepeatFractionCycleLength(unsigned long idx, std::string parameter)
bool getNumberOfFractionsPlanned(unsigned long idx, std::string &parameter) const
void setReferencedDoseSequence(DcmDRTReferencedDoseSequenceInterface seq, unsigned long idx)
DcmDRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModuleInterface getReferencedBrachyApplicationSetupSequence(unsigned long idx) const
DcmDRTReferencedDoseSequenceInterface getReferencedDoseSequence(unsigned long idx) const
bool getRepeatFractionCycleLength(unsigned long idx, std::string &parameter) const
bool setNumberOfBrachyApplicationSetups(unsigned long idx, std::string parameter)
bool getFractionGroupDescription(unsigned long idx, std::string &parameter) const
std::vector< DcmDRTFractionGroupSequenceInterface::Item > _itemVec
Reference to the wrapped DICOM tree pointer vector.
bool getFractionPattern(DCMTree::TreePtr item, std::string &parameter) const
void setReferencedDoseReferenceSequence(DcmDRTReferencedDoseReferenceSequenceInRTFractionSchemeModuleInterface seq, unsigned long idx)
bool setNumberOfFractionsPlanned(unsigned long idx, std::string parameter)
DcmDRTFractionGroupSequenceInterface::Item getItem(const size_t idx) const
Gets the item at the indicated position.
bool hasSequence() const
Check if the DRTFractionGroupSequence is set.
bool setFractionPattern(unsigned long idx, std::string parameter)
bool getNumberOfFractionPatternDigitsPerDay(DCMTree::TreePtr item, std::string &parameter) const
DcmDRTFractionGroupSequenceInterface(DCMTree::TreePtrVector treePtrSeq)
DcmDRTFractionGroupSequenceInterface(std::vector< DcmDRTFractionGroupSequenceInterface::Item > dcmSequence)
Default Constructor.
void setReferencedBeamSequence(DcmDRTReferencedBeamSequenceInRTFractionSchemeModuleInterface seq, unsigned long idx)
void setSequence(std::vector< DcmDRTFractionGroupSequenceInterface::Item > dcmSequence)
Set the DRTFractionGroupSequence this interface class provides access to.
bool insertItem(const size_t idx)
Insert an item at the indicated position.
bool setNumberOfBeams(unsigned long idx, std::string parameter)
bool setFractionGroupNumber(unsigned long idx, std::string parameter)
void setReferencedBrachyApplicationSetupSequence(DcmDRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModuleInterface seq, unsigned long idx)
bool getFractionGroupNumber(DCMTree::TreePtr item, std::string &parameter) const
bool getNumberOfBrachyApplicationSetups(unsigned long idx, std::string &parameter) const
DcmDRTFractionGroupSequenceInterface::Item & addItem()
Adds a new item to the sequence.
bool setFractionGroupDescription(unsigned long idx, std::string parameter)
bool getNumberOfBeams(unsigned long idx, std::string &parameter) const
virtual ~DcmDRTFractionGroupSequenceInterface()
Default virtual Destructor.
bool getFractionGroupDescription(DCMTree::TreePtr item, std::string &parameter) const
Class to provide access to DRTReferencedBeamSequenceInRTFractionSchemeModule.
Class to provide access to DRTReferencedDoseSequence.
Class to provide access to DRTReferencedBeamSequenceInRTFractionSchemeModule.
Class to provide access to DRTReferencedBrachyApplicationSetupSequenceInRTFractionSchemeModule.
Class to provide access to DRTReferencedDoseReferenceSequenceInRTFractionSchemeModule.
Class to provide access to DRTReferencedDoseSequence.
Class collecting some DICOM helper functionality explicitly for dcmtk.
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
Definition: mlTypeDefs.h:578
std::vector< TreePtr > TreePtrVector
a vector of TreePtr - used for sequences
Definition: DCMTree_Lib.h:85
boost::shared_ptr< Tree > TreePtr
shared pointer to a DCMTree::Tree
Definition: DCMTree_Lib.h:70