[Insight-users] WrapITK python bindings and
GradientAnisotropicDiffusion with 3D float input
Kalle Pahajoki
kalpaha at st.jyu.fi
Tue Apr 18 10:39:44 EDT 2006
Gaetan Lehmann wrote:
>
> Hi Kalle,
>
> The type you are using is not the right one: vtktoitk will give you an
> image with unsigned char pixel, while diff requires an image with
> float pixel.
Oh course, how stupid of me!
>
> you can convert the image from vtktoitk with a CastImageFilter:
>
> cast = itk.CastImageFilter.IUC3IUF3.New(vtktoitk)
> diff.SetInput(cast.GetOutput())
I did use the vtkImageCast to give me floats, but used the wrong type of
vtkImageToImage-filter.
>
> PS: Note that you should import itkvtk rather than ItkVtkGlue: it add
> the VTKImageToImageFilter and ImageToVTKImageFilter in the itk module,
> so it's more simple to use :-)
Ok. Although I do that a lot, to try to cut down on the load time, i.e.
import ITKBasicAlgorithmsA (or somethng like that) and then use
ITKBasicAlgorithmsA.something instead of itk.something. If they all add
the classes to the itk module, then it would indeed be cleaner to use that.
>
> PS2: Your usage of itk types is quite strange: we generally use the
> dict notation or the short name notation, but not both at the same time:
>
> dim = 3
> PixelType = itk.UC
> ImageType = itk.Image[PixelType, dim]
> vtktoitk=itk.VTKImageToImageFilter[ImageType].New()
>
> or
>
> vtktoitk=itk.VTKImageToImageFilter.IUC3.New()
Thanks for the pointer. I'm only just trying to get very basic stuff
working and I generally learn by trying stuff in the interpreter and
just sticked with what works :-)
Thank you for the quick and veyr useful answers!
Kalle
--
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by
definition not smart enough to debug it. -- Brian W. Kerninghan
More information about the Insight-users
mailing list