[Insight-users] Read series DICOM files by itkImageSeriesReader

jiang jiang at TI . Uni-Trier . DE
Thu, 28 Aug 2003 16:35:27 +0200


Hello all,
I want to build 3d image volume by a serie of DICOM files. So I write the
following code according to the example
\Insight\Testing\Code\IO\itkDICOMImageSeriesTest.cxx

#include "itkDICOMImageIO2Factory.h"
#include "itkDICOMImageIO2.h"
#include "itkImageSeriesReader.h"
#include "itkDICOMSeriesFileNames.h"
#include "../Testing/Code/BasicFilters/itkFilterWatcher.h"

int main(int argc, char **argv)
{

  typedef itk::Image<unsigned short,5> ImageNDType;
  typedef itk::ImageSeriesReader<ImageNDType> ReaderType;
  ReaderType::Pointer reader = ReaderType::New();

 itk::DICOMImageIO2::Pointer io = itk::DICOMImageIO2::New();

  // Get the DICOM filenames from the directory
  itk::DICOMSeriesFileNames::Pointer names =
itk::DICOMSeriesFileNames::New();
  names->SetDirectory(s);//s is the directory path

  reader->SetFileNames(names->GetFileNames());
  reader->SetImageIO(io);
  std::cout << names;

  try
    {
    if (atoi(argv[2]))
      {
      reader->ReverseOrderOn();
      }
    reader->Update();
    reader->GetOutput()->Print(std::cout);
    }
  catch (itk::ExceptionObject &ex)
    {
    std::cout << ex;
    return EXIT_FAILURE;
    }


	return EXIT_SUCCESS;
}


However this code can not work. I debug it and find that most codes are
correct. But the program stops at reader->Update();
What is the problem? How can I realize the series DICOM files reading?
I use the latest ITK tarball.



Thanks!


Chunyan