16 #ifndef DICOMSERIESREADER_H 17 #define DICOMSERIESREADER_H 19 #include "itkImageSeriesReader.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;
42 DicomSeriesReader::ImageType3DFloat::Pointer
GetITKImage();
48 template <
class TInputImage>
61 ImageType3DFloat::Pointer m_image3dfloat;
65 template<
class TInputImage>
69 typedef itk::ImageSeriesReader< 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->SetFileNames(fileNames);
83 catch (itk::ExceptionObject &ex)
86 std::cout <<
"unsupported dicom" << std::endl;
87 std::cout << ex << std::endl;
92 return reader->GetOutput();
116 #endif // DICOMSERIESREADER_H DicomSeriesReader::ImageType3DFloat::Pointer GetITKImage()
get the read dicom data as 3D float ITK image
TInputImage::Pointer ReadDicomSeries(bool &readStatus)
Read dicom series.
Definition: DicomSeriesReader.h:66
Definition: DicomSeriesReader.h:26
bool LoadDicom()
load dicom data
void SetDirectoryPath(std::string path)
set the input directory containing dicom series