14 #ifndef vtkDICOMMetaData_h
15 #define vtkDICOMMetaData_h
17 #include "vtkDataObject.h"
18 #include "vtkStdString.h"
19 #include "vtkDICOMModule.h"
20 #include "vtkDICOMConfig.h"
21 #include "vtkDICOMDataElement.h"
22 #include "vtkDICOMDictEntry.h"
25 #if defined(VTK_ABI_NAMESPACE_BEGIN)
26 VTK_ABI_NAMESPACE_BEGIN
31 #if defined(VTK_ABI_NAMESPACE_BEGIN)
53 void PrintSelf(ostream& os, vtkIndent indent) VTK_DICOM_OVERRIDE;
65 void SetNumberOfInstances(
int n);
77 int GetNumberOfDataElements() {
79 return this->NumberOfDataElements; }
83 return this->Head.Next; }
97 return (e !=
nullptr ? e : &this->Tail); }
104 return this->Has(tag); }
123 return this->Get(tag); }
125 return this->Get(p); }
140 return this->Get(idx, tag); }
142 return this->Get(idx, p); }
160 return this->Get(idx, frame, tag); }
163 return this->Get(idx, frame, p); }
176 int GetFileIndex(
int sliceIdx);
189 int GetFrameIndex(
int sliceIdx);
206 void Set(
int idx,
vtkDICOMTag tag,
const std::string& v);
208 this->Set(idx, tag, v); }
209 void SetAttributeValue(
int idx,
vtkDICOMTag tag,
double v) {
210 this->Set(idx, tag, v); }
211 void SetAttributeValue(
int idx,
vtkDICOMTag tag,
const std::string& v) {
212 this->Set(idx, tag, v); }
222 void SetAttributeValue(
vtkDICOMTag tag,
double v) {
224 void SetAttributeValue(
vtkDICOMTag tag,
const std::string& v) {
239 void SetAttributeValue(
241 this->Set(idx, tag, v); }
242 void SetAttributeValue(
244 this->Set(idx, tag, v); }
245 void SetAttributeValue(
247 this->Set(idx, tag, v); }
259 void SetAttributeValue(
const vtkDICOMTagPath& tag,
const std::string& v) {
276 int idx,
vtkDICOMTag ptag,
const std::string& creator);
289 int idx,
vtkDICOMTag ptag,
const std::string& creator);
312 void SetFileIndexArray(vtkIntArray *fileArray);
314 vtkIntArray *GetFileIndexArray() {
return this->FileIndexArray; }
318 void SetFrameIndexArray(vtkIntArray *frameArray);
320 vtkIntArray *GetFrameIndexArray() {
return this->FrameIndexArray; }
336 void ShallowCopy(vtkDataObject *source) VTK_DICOM_OVERRIDE;
338 void DeepCopy(vtkDataObject *source) VTK_DICOM_OVERRIDE;
352 int FindItemsOrInsert(
368 int NumberOfInstances;
380 int NumberOfDataElements;
383 vtkIntArray *FileIndexArray;
386 vtkIntArray *FrameIndexArray;
388 #ifdef VTK_DICOM_DELETE
A const iterator for a vtkDataElement list.
Definition: vtkDICOMDataElement.h:88
A data element in a DICOM data set.
Definition: vtkDICOMDataElement.h:30
An entry in the DICOM dictionary.
Definition: vtkDICOMDictEntry.h:24
An item in a DICOM sequence (type SQ).
Definition: vtkDICOMItem.h:34
A tag path for digging values out of sequence items.
Definition: vtkDICOMTagPath.h:27
A (group,element) identifier tag for DICOM attributes.
Definition: vtkDICOMTag.h:23
VRs (Value Representations)
Definition: vtkDICOMVR.h:22
A class to store attribute values for DICOM metadata.
Definition: vtkDICOMValue.h:51