19 #pragma warning(disable:4786)
36 #include "DICOMCallback.h"
55 m_Parser =
new itkdicomparser::DICOMParser();
69 bool open =
m_Parser->OpenFile( filename);
74 bool magic =
m_Parser->IsDICOMFile();
80 itkdicomparser::DICOMParser::VRTypes,
89 if (len < static_cast<int>( imageBytes ) )
98 m_Parser->ClearAllDICOMTagCallbacks();
112 imagePosition[0] =
m_AppHelper->GetImagePositionPatient()[0];
113 imagePosition[1] =
m_AppHelper->GetImagePositionPatient()[1];
114 imagePosition[2] =
m_AppHelper->GetImagePositionPatient()[2];
121 itkdicomparser::DICOMParser::VRTypes newType;
122 unsigned long imageDataLength = 0;
125 m_AppHelper->GetImageData(newData, newType, imageDataLength);
126 memcpy(buffer, newData, imageDataLength);
138 m_Parser->ClearAllDICOMTagCallbacks();
150 imagePosition[0] =
m_AppHelper->GetImagePositionPatient()[0];
151 imagePosition[1] =
m_AppHelper->GetImagePositionPatient()[1];
152 imagePosition[2] =
m_AppHelper->GetImagePositionPatient()[2];
155 imageSpacing[0] =
m_AppHelper->GetPixelSpacing()[0];
156 imageSpacing[1] =
m_AppHelper->GetPixelSpacing()[1];
157 imageSpacing[2] =
m_AppHelper->GetPixelSpacing()[2];
165 for (
int i = 0; i < 3; i++)
171 for (
int i = 0; i < 2; i++)
178 bool sign =
m_AppHelper->RescaledImageDataIsSigned();
180 bool isFloat =
m_AppHelper->RescaledImageDataIsFloat();
181 int num_comp =
m_AppHelper->GetNumberOfComponents();
188 else if (num_comp == 3)
216 else if (numBits == 16)
247 os << indent <<
"Spacing: ( ";
253 os << indent <<
"Origin: ( ";
258 os <<
" )" << std::endl;
266 m_AppHelper->GetPatientName(name);
274 m_AppHelper->GetPatientID(
id);
281 m_AppHelper->GetPatientSex(sex);
288 m_AppHelper->GetPatientAge(age);
295 m_AppHelper->GetPatientDOB(dob);
302 m_AppHelper->GetStudyID(
id);
310 m_AppHelper->GetStudyDescription(desc);
317 m_AppHelper->GetBodyPart(part);
324 m_AppHelper->GetNumberOfSeriesInStudy(series);
332 m_AppHelper->GetNumberOfStudyRelatedSeries(series);
339 m_AppHelper->GetStudyDate(date);
346 m_AppHelper->GetModality(modality);
353 m_AppHelper->GetManufacturer(manu);
360 m_AppHelper->GetInstitution(ins);
367 m_AppHelper->GetModel(model);