18 #ifndef __itkDICOMImageIO2_h
19 #define __itkDICOMImageIO2_h
20 #if !defined( ITK_LEGACY_REMOVE )
25 #include "DICOMParser.h"
26 #include "DICOMAppHelper.h"
36 class ITK_EXPORT DICOMImageIO2:
public ImageIOBase
41 typedef DICOMImageIO2 Self;
42 typedef ImageIOBase Superclass;
43 typedef SmartPointer< Self > Pointer;
49 itkTypeMacro(DICOMImageIO2, Superclass);
55 virtual bool CanReadFile(
const char *);
58 virtual void ReadImageInformation();
64 virtual void Read(
void *buffer);
75 virtual bool CanWriteFile(
const char *) {
return false; }
78 virtual void WriteImageInformation() {}
82 virtual void Write(
const void *) {}
85 void GetPatientName(
char *name);
87 void GetPatientID(
char *
id);
89 void GetPatientSex(
char *sex);
91 void GetPatientAge(
char *age);
93 void GetStudyID(
char *
id);
95 void GetPatientDOB(
char *dob);
97 void GetStudyDescription(
char *desc);
99 void GetBodyPart(
char *part);
101 void GetNumberOfSeriesInStudy(
char *series);
103 void GetNumberOfStudyRelatedSeries(
char *series);
105 void GetStudyDate(
char *date);
107 void GetModality(
char *modality);
109 void GetManufacturer(
char *manu);
111 void GetInstitution(
char *ins);
113 void GetModel(
char *model);
117 virtual ~DICOMImageIO2();
118 void PrintSelf(std::ostream & os, Indent indent)
const;
120 itkdicomparser::DICOMParser *m_Parser;
121 itkdicomparser::DICOMAppHelper *m_AppHelper;
123 void ReadDataCallback(doublebyte group,
125 itkdicomparser::DICOMParser::VRTypes type,
129 unsigned char *m_ImageDataBuffer;
132 DICOMImageIO2(
const Self &);
133 void operator=(
const Self &);
137 #endif //#if !defined( ITK_LEGACY_REMOVE )
138 #endif // __itkDICOMImageIO2_h