MeVisLabToolboxReference
mlDcmDRTCodingSchemeIdentificationSequenceInterface.h
Go to the documentation of this file.
1 /*
2 // Copyright (c) Fraunhofer MEVIS, Bremen, Germany
3 // All rights reserved.
4 // **InsertLicense** code
5 */
6 //----------------------------------------------------------------------------------
7 //
8 // NOTE:
9 // This file has been generated automatically by
10 // FMEwork/ReleaseMeVis/Configuration/CodeGenerators/dcmtkToMLConverter/convertDcmtkToML.py
11 // using the template file
12 // FMEwork/ReleaseMeVis/Configuration/CodeGenerators/dcmtkToMLConverter/MLDcmtkAccessoriesNew/templates/DcmSequenceInterface.h
13 //
14 // Destination project:
15 // FMEwork/ReleaseMeVis/Sources/Shared/MLDcmtkAccessoriesNew/DcmSequenceInterfaces
16 //
17 //----------------------------------------------------------------------------------
19 
24 //----------------------------------------------------------------------------------
25 
26 #ifndef __mlDcmDRTCodingSchemeIdentificationSequenceInterface_H
27 #define __mlDcmDRTCodingSchemeIdentificationSequenceInterface_H
28 
29 // Local includes
30 #include "mlDcmtkAccessories.h"
31 
32 // Dcmtk includes
33 //#include "mlDcmDRTCodingSchemeIdentificationSequenceInterface.h" //DRTCodingSchemeIdentificationSequence
34 
35 
36 // ML includes
37 #ifndef __mlModuleIncludes_H
38 #include "mlModuleIncludes.h"
39 #endif
40 
41 ML_START_NAMESPACE
42 
43 // ------------------------------------------------------------------
45 // ------------------------------------------------------------------
47 {
48  public:
49 
51  {
52  public:
53 
54  Item() { _dcmItem = DcmtkAccessories::createNewDicomTree(); }
55 
56  Item(DCMTree::TreePtr dcmItem) : _dcmItem(dcmItem) {}
57 
58  Item(Item &copyDcmItem) : _dcmItem(copyDcmItem.getTreePtr()) {}
59 
60  virtual ~Item() {}
61 
62  DCMTree::TreePtr getTreePtr() { return _dcmItem; }
63 
64 
65  // CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
66  bool getCodingSchemeDesignator(std::string& parameter) const;
67  std::string getCodingSchemeDesignatorTag() const { return "(0008,0102)"; }
68  bool setCodingSchemeDesignator(std::string parameter);
69 
70  // CodingSchemeExternalID (0008,0114) vr=ST, vm=1, type=2C
71  bool getCodingSchemeExternalID(std::string& parameter) const;
72  std::string getCodingSchemeExternalIDTag() const { return "(0008,0114)"; }
73  bool setCodingSchemeExternalID(std::string parameter);
74 
75  // CodingSchemeName (0008,0115) vr=ST, vm=1, type=3
76  bool getCodingSchemeName(std::string& parameter) const;
77  std::string getCodingSchemeNameTag() const { return "(0008,0115)"; }
78  bool setCodingSchemeName(std::string parameter);
79 
80  // CodingSchemeRegistry (0008,0112) vr=LO, vm=1, type=1C
81  bool getCodingSchemeRegistry(std::string& parameter) const;
82  std::string getCodingSchemeRegistryTag() const { return "(0008,0112)"; }
83  bool setCodingSchemeRegistry(std::string parameter);
84 
85  // CodingSchemeResponsibleOrganization (0008,0116) vr=ST, vm=1, type=3
86  bool getCodingSchemeResponsibleOrganization(std::string& parameter) const;
87  std::string getCodingSchemeResponsibleOrganizationTag() const { return "(0008,0116)"; }
88  bool setCodingSchemeResponsibleOrganization(std::string parameter);
89 
90  // CodingSchemeUID (0008,010c) vr=UI, vm=1, type=1C
91  bool getCodingSchemeUID(std::string& parameter) const;
92  std::string getCodingSchemeUIDTag() const { return "(0008,010c)"; }
93  bool setCodingSchemeUID(std::string parameter);
94 
95  // CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=3
96  bool getCodingSchemeVersion(std::string& parameter) const;
97  std::string getCodingSchemeVersionTag() const { return "(0008,0103)"; }
98  bool setCodingSchemeVersion(std::string parameter);
99 
100 
101  private:
102 
103  DCMTree::TreePtr _dcmItem;
104 
105  };
106 
108 
110  DcmDRTCodingSchemeIdentificationSequenceInterface(std::vector<DcmDRTCodingSchemeIdentificationSequenceInterface::Item*> dcmSequence) : _itemPtrVec(dcmSequence) {}
111 
113  _itemPtrVec.clear();
114  for(size_t i=0; i < treePtrSeq.size(); i++)
115  {
116  _itemPtrVec.push_back(new DcmDRTCodingSchemeIdentificationSequenceInterface::Item(treePtrSeq[i]));
117  }
118  }
119 
122  // CodingSchemeDesignator (0008,0102) vr=SH, vm=1, type=1
123  bool getCodingSchemeDesignator(unsigned long idx, std::string& parameter) const;
124  bool getCodingSchemeDesignator(DCMTree::TreePtr item, std::string& parameter) const;
125  std::string getCodingSchemeDesignatorTag() const { return "(0008,0102)"; }
126  bool setCodingSchemeDesignator(unsigned long idx, std::string parameter);
127 
128  // CodingSchemeExternalID (0008,0114) vr=ST, vm=1, type=2C
129  bool getCodingSchemeExternalID(unsigned long idx, std::string& parameter) const;
130  bool getCodingSchemeExternalID(DCMTree::TreePtr item, std::string& parameter) const;
131  std::string getCodingSchemeExternalIDTag() const { return "(0008,0114)"; }
132  bool setCodingSchemeExternalID(unsigned long idx, std::string parameter);
133 
134  // CodingSchemeName (0008,0115) vr=ST, vm=1, type=3
135  bool getCodingSchemeName(unsigned long idx, std::string& parameter) const;
136  bool getCodingSchemeName(DCMTree::TreePtr item, std::string& parameter) const;
137  std::string getCodingSchemeNameTag() const { return "(0008,0115)"; }
138  bool setCodingSchemeName(unsigned long idx, std::string parameter);
139 
140  // CodingSchemeRegistry (0008,0112) vr=LO, vm=1, type=1C
141  bool getCodingSchemeRegistry(unsigned long idx, std::string& parameter) const;
142  bool getCodingSchemeRegistry(DCMTree::TreePtr item, std::string& parameter) const;
143  std::string getCodingSchemeRegistryTag() const { return "(0008,0112)"; }
144  bool setCodingSchemeRegistry(unsigned long idx, std::string parameter);
145 
146  // CodingSchemeResponsibleOrganization (0008,0116) vr=ST, vm=1, type=3
147  bool getCodingSchemeResponsibleOrganization(unsigned long idx, std::string& parameter) const;
148  bool getCodingSchemeResponsibleOrganization(DCMTree::TreePtr item, std::string& parameter) const;
149  std::string getCodingSchemeResponsibleOrganizationTag() const { return "(0008,0116)"; }
150  bool setCodingSchemeResponsibleOrganization(unsigned long idx, std::string parameter);
151 
152  // CodingSchemeUID (0008,010c) vr=UI, vm=1, type=1C
153  bool getCodingSchemeUID(unsigned long idx, std::string& parameter) const;
154  bool getCodingSchemeUID(DCMTree::TreePtr item, std::string& parameter) const;
155  std::string getCodingSchemeUIDTag() const { return "(0008,010c)"; }
156  bool setCodingSchemeUID(unsigned long idx, std::string parameter);
157 
158  // CodingSchemeVersion (0008,0103) vr=SH, vm=1, type=3
159  bool getCodingSchemeVersion(unsigned long idx, std::string& parameter) const;
160  bool getCodingSchemeVersion(DCMTree::TreePtr item, std::string& parameter) const;
161  std::string getCodingSchemeVersionTag() const { return "(0008,0103)"; }
162  bool setCodingSchemeVersion(unsigned long idx, std::string parameter);
163 
164 
167  void setSequence(std::vector<DcmDRTCodingSchemeIdentificationSequenceInterface::Item*> dcmSequence) {
168  _itemPtrVec = dcmSequence;
169  }
170 
173  std::vector<DcmDRTCodingSchemeIdentificationSequenceInterface::Item*> getSequence() const {
174  return _itemPtrVec;
175  }
176 
179  bool hasSequence() const {
180  return (_itemPtrVec.size() != 0);
181  }
182 
186  return static_cast<MLint>(_itemPtrVec.size());
187  }
188 
192  if (_itemPtrVec.size() > idx) {
193  return _itemPtrVec[idx];
194  }
196  }
197 
201  if (_itemPtrVec.size() > idx) {
202  return _itemPtrVec[idx];
203  }
205  }
206 
211  _itemPtrVec.push_back(newItem);
212  return _itemPtrVec[_itemPtrVec.size()-1];
213  }
214 
216  _itemPtrVec.push_back(newItem);
217  }
218 
221  bool insertItem(const size_t idx) {
222  if (_itemPtrVec.size() > idx) {
224  std::vector<DcmDRTCodingSchemeIdentificationSequenceInterface::Item*>::iterator it = _itemPtrVec.begin();
225  std::advance(it, idx);
226  _itemPtrVec.insert(it, newItem);
227  return true;
228  }
229  return false;
230  }
231 
234  bool removeItem(const size_t idx) {
235  if ( _itemPtrVec.size() > idx ) {
236  std::vector<DcmDRTCodingSchemeIdentificationSequenceInterface::Item*>::iterator it = _itemPtrVec.begin();
237  std::advance(it, idx);
238  _itemPtrVec.erase(it);
239  return true;
240  }
241  return false;
242  }
243 
244  protected:
246  std::vector<DcmDRTCodingSchemeIdentificationSequenceInterface::Item*> _itemPtrVec;
247 };
248 
249 ML_END_NAMESPACE
250 
251 #endif // __mlDcmDRTCodingSchemeIdentificationSequenceInterface_H
252 
253 /* MeVis-Hidden-Components-Start */
254 /* MeVis-Hidden-Components-End */
Class collecting some DICOM helper functionality explicitly for dcmtk.
const DcmDRTCodingSchemeIdentificationSequenceInterface::Item * getItem(const size_t idx) const
Gets the item at the indicated position.
bool removeItem(const size_t idx)
Removes the indicated item from the sequence.
std::vector< DcmDRTCodingSchemeIdentificationSequenceInterface::Item * > _itemPtrVec
Reference to the wrapped DICOM tree pointer vector.
DcmDRTCodingSchemeIdentificationSequenceInterface(std::vector< DcmDRTCodingSchemeIdentificationSequenceInterface::Item * > dcmSequence)
Default Constructor.
#define MLDCMTKACCESSORIES_EXPORT
bool insertItem(const size_t idx)
Insert an item at the indicated position.
DcmDRTCodingSchemeIdentificationSequenceInterface::Item * getItem(const size_t idx)
Gets the item at the indicated position.
void addItem(DcmDRTCodingSchemeIdentificationSequenceInterface::Item *newItem)
MLint64 MLint
A signed ML integer type with at least 64 bits used for index calculations on very large images even ...
Definition: mlTypeDefs.h:576
std::vector< TreePtr > TreePtrVector
a vector of TreePtr - used for sequences
Definition: DCMTree_Lib.h:83
std::vector< DcmDRTCodingSchemeIdentificationSequenceInterface::Item * > getSequence() const
Return the DRTCodingSchemeIdentificationSequence this interface class provides access to...
DcmDRTCodingSchemeIdentificationSequenceInterface::Item * addItem()
Adds a new item to the sequence.
bool hasSequence() const
Check if the DRTCodingSchemeIdentificationSequence is set.
MLint getNumberOfItems() const
Return number of items the internal sequence consists of.
This file includes most files needed to implement new ML modules.
void setSequence(std::vector< DcmDRTCodingSchemeIdentificationSequenceInterface::Item * > dcmSequence)
Set the DRTCodingSchemeIdentificationSequence this interface class provides access to...
Class to provide access to DRTCodingSchemeIdentificationSequence.
boost::shared_ptr< Tree > TreePtr
shared pointer to a DCMTree::Tree
Definition: DCMTree_Lib.h:68