14 #ifndef ITKGDCMIMAGEIO2_H
15 #define ITKGDCMIMAGEIO2_H
17 #include "itkImageIOBase.h"
36 #if defined(WIN32) && defined(ITK_BUILD_SHARED_LIBS)
37 #if defined(itkgdcm2_EXPORTS)
38 #define ITK_GDCM_EXPORT __declspec( dllexport )
40 #define ITK_GDCM_EXPORT __declspec( dllimport )
43 #define ITK_GDCM_EXPORT
46 #define ITK_GDCM_EXPORT ITK_EXPORT
67 virtual bool CanReadFile(
const char*);
70 virtual void ReadImageInformation();
73 virtual void Read(
void* buffer);
79 virtual bool CanWriteFile(
const char*);
83 virtual void WriteImageInformation();
87 virtual void Write(
const void* buffer);
92 itkGetMacro(RescaleSlope,
double);
93 itkGetMacro(RescaleIntercept,
double);
99 itkGetStringMacro(UIDPrefix);
100 itkSetStringMacro(UIDPrefix);
103 itkGetStringMacro(StudyInstanceUID);
104 itkGetStringMacro(SeriesInstanceUID);
105 itkGetStringMacro(FrameOfReferenceInstanceUID);
109 itkSetMacro(KeepOriginalUID,
bool);
110 itkGetMacro(KeepOriginalUID,
bool);
111 itkBooleanMacro(KeepOriginalUID);
116 void GetPatientName(
char* name);
117 void GetPatientID(
char*
id);
118 void GetPatientSex(
char* sex);
119 void GetPatientAge(
char* age);
120 void GetStudyID(
char*
id);
121 void GetPatientDOB(
char* dob);
122 void GetStudyDescription(
char* desc);
123 void GetBodyPart(
char* part);
124 void GetNumberOfSeriesInStudy(
char* series);
125 void GetNumberOfStudyRelatedSeries(
char* series);
126 void GetStudyDate(
char* date);
127 void GetModality(
char* modality);
128 void GetManufacturer(
char* manu);
129 void GetInstitution(
char* ins);
130 void GetModel(
char* model);
131 void GetScanOptions(
char *options);
138 bool GetValueFromTag(
const std::string & tag, std::string & value);
146 static bool GetLabelFromTag(
const std::string & tag,
147 std::string & labelId );
155 itkSetMacro(MaxSizeLoadEntry,
long);
161 itkSetMacro(LoadSequences,
bool);
162 itkGetMacro(LoadSequences,
bool);
163 itkBooleanMacro(LoadSequences);
169 itkSetMacro(LoadPrivateTags,
bool);
170 itkGetMacro(LoadPrivateTags,
bool);
171 itkBooleanMacro(LoadPrivateTags);
196 typedef enum { JPEG = 0, JPEG2000 } TCompressionType;
197 itkSetEnumMacro(CompressionType,TCompressionType);
198 itkGetEnumMacro(CompressionType,TCompressionType);
203 void PrintSelf(std::ostream& os, Indent indent)
const;
205 void InternalReadImageInformation(std::ifstream&);
206 bool OpenGDCMFileForReading(std::ifstream&,
const char*);
207 bool OpenGDCMFileForWriting(std::ofstream&,
const char*);
221 void operator=(
const Self&);
225 unsigned int m_GlobalNumberOfDimensions;
229 bool m_LoadSequences;
230 bool m_LoadPrivateTags;
231 long m_MaxSizeLoadEntry;
237 #endif // ITKGDCMIMAGEIO2_H