[ITK-users] Set image pixel type and dimension through IOBase methods
Javier Juan Albarracín
javij1 at gmail.com
Thu Jun 2 11:39:08 EDT 2016
Hello,
I have to read a NIfTI file and I don't know which pixel type has (int,
double, char, etc). Thus, I am using an ImageIOBase object to retrieve
the image information before loading it. I have followed the code of the
ITK examples, which is something similar to
// NIfTI IO Factory
itk::NiftiImageIOFactory::RegisterOneFactory();
// Typedefs
typedef itk::ImageIOBase::IOComponentType PixelType;
itk::ImageIOBase::Pointer imageIO =
itk::ImageIOFactory::CreateImageIO(filename,
itk::ImageIOFactory::ReadMode);
imageIO->SetFileName(argv[1]);
imageIO->ReadImageInformation();
Here I know the pixel type and the image dimensio through
"imageIO->GetComponentType()" and "imageIO->GetDimensions()". Hence, I
wan to declare an image type with this parameters to work with it on my
methods.
I would know if there is some way to declare the image without
performing a long "switch - case double, case int, case ..." code to
declare the image type, i.e. something similar to this:
// I know this do not compile and it is wrong but something similar
typedef itk::Image<imageIO->GetComponentType(),
imageIO->GetDimensions()> ImageType;
Thank you.
Regards.
Javier.
More information about the Insight-users
mailing list