Question

I'm using ITK 4.2 with Qt Creator.

Trying to read several images, I always get the same:

itk::ImageFileReaderException (0x1efccb0) Location: "void itk::ImageFileReader::GenerateOutputInformation() [with TOutputImage = itk::Image; ConvertPixelTraits = itk::DefaultConvertPixelTraits]"

File: /usr/local/include/ITK-4.2/itkImageFileReader.hxx Line: 143

Description: Could not create IO object for file /home/marcos/d2.dcm

Tried to create one of the following: You probably failed to set a file suffix, or set the suffix to an unsupported type.

I've successfully readed it with

vtkGDCMImageReader* reader = vtkGDCMImageReader::New();
reader->SetFileName(fileName);
reader->Update();
vtkImageData* imageData = reader->GetOutput();
cout << "imageData->GetScalarTypeAsString(): " << imageData->GetScalarTypeAsString() << endl;

And GetScalarTypeAsString() returns unsigned short. Anyway, I tried with unsigned long, unsigned int, double, int, short, short unsigned int, unsigned char... I got the same.

This is the code:

typedef itk::Image <unsigned short> ImageType;
typedef itk::ImageFileReader<ImageType> ReaderType;
ReaderType::Pointer reader = ReaderType::New();
try
{
    reader->SetFileName(nombreFichero);
}
catch (itk::ExceptionObject& excep)
{
    cerr << excep << endl;
    return;
}
Was it helpful?

Solution 2

set image IO as gdcmImageIO for reader then you can read .dcm file. code to add gdcmImageIO is following:

typedef itk::ImageFileReader< InputImageType > ReaderType;

ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName( argv[1] );

typedef itk::GDCMImageIO ImageIOType;

ImageIOType::Pointer gdcmImageIO = ImageIOType::New();

reader->SetImageIO( gdcmImageIO );

OTHER TIPS

Like vtk, itk also has specific class based on gdcm to read DICOM series. Take a look: http://www.itk.org/Doxygen/html/classitk_1_1GDCMImageIO.html

Make sure to use CMake even when building with Qt. If you do not use CMake, the special code that registers the ImageIO factory objects will not be generated. See

http://doc.qt.digia.com/qtcreator-2.4/creator-project-cmake.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top