16 #ifndef DicomImageReader_H 17 #define DicomImageReader_H 19 #include "itkImageFileReader.h" 20 #include "itkGDCMImageIO.h" 21 #include "itkGDCMSeriesFileNames.h" 22 #include "itkImageFileWriter.h" 23 #include "itkCastImageFilter.h" 24 #include <itkMapContainer.h> 30 typedef itk::Image< float, 3 > ImageType3DFloat;
31 typedef itk::GDCMSeriesFileNames NamesGeneratorType;
32 typedef itk::GDCMImageIO ImageIOType;
33 typedef std::vector<std::string> FileNamesContainer;
39 void SetDirectoryPath(std::string path);
48 template <
class TInputImage>
61 ImageType3DFloat::Pointer m_image3dfloat;
65 template<
class TInputImage>
69 typedef itk::ImageFileReader< TInputImage> DicomReaderType;
70 auto reader = DicomReaderType::New();
71 auto dicomIO = ImageIOType::New();
72 auto nameGenerator = NamesGeneratorType::New();
74 nameGenerator->SetInputDirectory(this->m_dir);
75 reader->SetImageIO(dicomIO);
76 std::vector<std::string> fileNames = nameGenerator->GetInputFileNames();
77 reader->SetFileName(fileNames.at(0));
83 catch (itk::ExceptionObject &ex)
86 std::cout <<
"unsupported dicom" << std::endl;
87 std::cout << ex << std::endl;
92 return reader->GetOutput();
116 #endif // DicomImageReader_H TInputImage::Pointer ReadDicomImage(bool &readStatus)
Read dicom series.
Definition: DicomImageReader.h:66
Definition: DicomImageReader.h:26