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