28 #ifndef itkGDCMImageIO_h
29 #define itkGDCMImageIO_h
33 #include "ITKIOGDCMExport.h"
38 #if !defined(ITK_LEGACY_REMOVE)
39 # define ITKIO_DEPRECATED_GDCM1_API
66 extern ITKIOGDCM_EXPORT std::ostream &
108 class InternalHeader;
131 CanReadFile(
const char *)
override;
135 ReadImageInformation()
override;
139 Read(
void * pointer)
override;
153 CanWriteFile(
const char *)
override;
158 WriteImageInformation()
override;
163 Write(
const void * buffer)
override;
166 itkGetConstMacro(RescaleSlope,
double);
167 itkGetConstMacro(RescaleIntercept,
double);
173 itkGetStringMacro(UIDPrefix);
174 itkSetStringMacro(UIDPrefix);
178 itkGetStringMacro(StudyInstanceUID);
179 itkGetStringMacro(SeriesInstanceUID);
180 itkGetStringMacro(FrameOfReferenceInstanceUID);
184 itkSetMacro(KeepOriginalUID,
bool);
185 itkGetConstMacro(KeepOriginalUID,
bool);
186 itkBooleanMacro(KeepOriginalUID);
191 itkSetMacro(LoadPrivateTags,
bool);
192 itkGetConstMacro(LoadPrivateTags,
bool);
193 itkBooleanMacro(LoadPrivateTags);
198 itkSetMacro(ReadYBRtoRGB,
bool);
199 itkGetConstMacro(ReadYBRtoRGB,
bool);
200 itkBooleanMacro(ReadYBRtoRGB);
203 #if defined(ITKIO_DEPRECATED_GDCM1_API)
210 GetPatientName(
char * name,
size_t len = 512);
213 GetPatientID(
char * name,
size_t len = 512);
216 GetPatientSex(
char * name,
size_t len = 512);
219 GetPatientAge(
char * name,
size_t len = 512);
222 GetStudyID(
char * name,
size_t len = 512);
225 GetPatientDOB(
char * name,
size_t len = 512);
228 GetStudyDescription(
char * name,
size_t len = 512);
231 GetBodyPart(
char * name,
size_t len = 512);
234 GetNumberOfSeriesInStudy(
char * name,
size_t len = 512);
237 GetNumberOfStudyRelatedSeries(
char * name,
size_t len = 512);
240 GetStudyDate(
char * name,
size_t len = 512);
243 GetModality(
char * name,
size_t len = 512);
246 GetManufacturer(
char * name,
size_t len = 512);
249 GetInstitution(
char * name,
size_t len = 512);
252 GetModel(
char * name,
size_t len = 512);
255 GetScanOptions(
char * name,
size_t len = 512);
261 GetValueFromTag(
const std::string & tag, std::string & value);
270 GetLabelFromTag(
const std::string & tag, std::string & labelId);
272 #if defined(ITKIO_DEPRECATED_GDCM1_API)
280 SetMaxSizeLoadEntry(
const long)
288 SetLoadSequences(
const bool)
291 GetLoadSequences()
const
311 SetLoadSequencesDefault(
bool)
314 LoadSequencesDefaultOn()
317 LoadSequencesDefaultOff()
320 GetLoadSequencesDefault()
334 SetLoadPrivateTagsDefault(
bool)
337 LoadPrivateTagsDefaultOn()
340 LoadPrivateTagsDefaultOff()
343 GetLoadPrivateTagsDefault()
352 #if !defined(ITK_LEGACY_REMOVE)
365 InternalSetCompressor(
const std::string & _compressor)
override;
371 PrintSelf(std::ostream & os,
Indent indent)
const override;
374 InternalReadImageInformation();
376 double m_RescaleSlope{};
378 double m_RescaleIntercept{};
380 std::string m_UIDPrefix{};
382 std::string m_StudyInstanceUID{};
384 std::string m_SeriesInstanceUID{};
386 std::string m_FrameOfReferenceInstanceUID{};
388 bool m_KeepOriginalUID{};
390 bool m_LoadPrivateTags{};
392 bool m_ReadYBRtoRGB{};
395 #if defined(ITKIO_DEPRECATED_GDCM1_API)
396 std::string m_PatientName{};
398 std::string m_PatientID{};
400 std::string m_PatientDOB{};
402 std::string m_StudyID{};
404 std::string m_StudyDescription{};
406 std::string m_BodyPart{};
408 std::string m_NumberOfSeriesInStudy{};
410 std::string m_NumberOfStudyRelatedSeries{};
412 std::string m_PatientSex{};
414 std::string m_PatientAge{};
416 std::string m_StudyDate{};
418 std::string m_Modality{};
420 std::string m_Manufacturer{};
422 std::string m_Institution{};
424 std::string m_Model{};
426 std::string m_ScanOptions{};
429 unsigned int m_GlobalNumberOfDimensions{};
437 InternalHeader * m_DICOMHeader{};
442 #endif // itkGDCMImageIO_h