Python wheels supported image types

Hi @mafuentes, not a python expert, but have you tried to use itk.ImageFileReader? It probably casts the pixels to an available type.

import itk
input_image_path="/path/image.xxx"
reader = itk.ImageFileReader.New(FileName=input_image_path)
reader.Update()
img = reader.GetOutput()

You can check the types that are available by default from python using:

itk.ImageFileReader.GetTypesAsList()
["(<class 'itkImagePython.itkImageCF2'>,)",
 "(<class 'itkImagePython.itkImageCF3'>,)",
 "(<class 'itkImagePython.itkImageCVF22'>,)",
 "(<class 'itkImagePython.itkImageCVF23'>,)",
 "(<class 'itkImagePython.itkImageCVF32'>,)",
 "(<class 'itkImagePython.itkImageCVF33'>,)",
 "(<class 'itkImagePython.itkImageCVF42'>,)",
 "(<class 'itkImagePython.itkImageCVF43'>,)",
 "(<class 'itkImagePython.itkImageF2'>,)",
 "(<class 'itkImagePython.itkImageF3'>,)",
 "(<class 'itkImagePython.itkImageRGBAUC2'>,)",
 "(<class 'itkImagePython.itkImageRGBAUC3'>,)",
 "(<class 'itkImagePython.itkImageRGBUC2'>,)",
 "(<class 'itkImagePython.itkImageRGBUC3'>,)",
 "(<class 'itkImagePython.itkImageSS2'>,)",
 "(<class 'itkImagePython.itkImageSS3'>,)",
 "(<class 'itkImagePython.itkImageUC2'>,)",
 "(<class 'itkImagePython.itkImageUC3'>,)",
 "(<class 'itkImagePython.itkImageVF22'>,)",
 "(<class 'itkImagePython.itkImageVF23'>,)",
 "(<class 'itkImagePython.itkImageVF32'>,)",
 "(<class 'itkImagePython.itkImageVF33'>,)",
 "(<class 'itkImagePython.itkImageVF42'>,)",
 "(<class 'itkImagePython.itkImageVF43'>,)",
 "(<class 'itkVectorImagePython.itkVectorImageF2'>,)",
 "(<class 'itkVectorImagePython.itkVectorImageF3'>,)",
 "(<class 'itkVectorImagePython.itkVectorImageSS2'>,)",
 "(<class 'itkVectorImagePython.itkVectorImageSS3'>,)",
 "(<class 'itkVectorImagePython.itkVectorImageUC2'>,)",
 "(<class 'itkVectorImagePython.itkVectorImageUC3'>,)"]

Maybe UC2 suits your purposes?

1 Like