[Insight-users] Passing ITK objects from Python to C code of a Python extension

Gaëtan Lehmann gaetan.lehmann at jouy.inra.fr
Wed Jun 20 15:22:47 EDT 2007


Hi Sven,

You should use WrapITK to do that. Extending WrapITK is very easy in  
python, and you can find several examples in the ExternalProjects  
directory, and in my contributions to the insight journal.

Regards,

Gaëtan


Le 20 juin 07 à 04:32, Sven Prevrhal a écrit :

> Since there are apparently some issues with converting strings and  
> vectors
> of strings to/from Python and ITK and I have not figured out how  
> to, from
> Python,
> 	- use DICOMSeriesFileNames to get a set of file names pertaining to
> one SeriesUID
> 	- read it with ImageSeriesReader
> 	- Use ConnectITKToVTK to transfer the images over to VTK for
> visualization
>
> I thought I would write a Python extension that would accept a  
> SeriesUID,
> execute those steps and return a vtkImageData object to Python for  
> further
> processing. But I fail to figure out how to pass an ITK object to my
> Python/C code.
>
> I was thinking something like this for Python extension .cxx file -
>
> static PyObject *
> PyITKHelloWorld_ITKHelloWorld(PyObject *self, PyObject *args)
> {
> 	ImageType::Pointer argImage;
> 	PyObject * arg1;
>
>     if (!PyArg_ParseTuple(args, "O", &arg1))
>         return NULL;
> 	
> 	// THIS LINE DOES NOT COMPILE
> 	argImage= (itk::Image< unsigned short, 3 >::Pointer) arg1;
> ...
>
>
> and in Python,
>
> im = itkImageUS3_New()
> PyITKHelloWorld.ITKHelloWorld(im.GetPointer())
>
> ...
>
>
> Needless to say, the code does not compile (can import my extension  
> though,
> and I have a very simple method without passing an ITK object that  
> works
> just fine, so the basics are OK). Am I completely off? Or what do I  
> need to
> do?
>
> Thanks!
>
> Sven
>
>
>
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users

--
Gaëtan Lehmann
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
http://voxel.jouy.inra.fr



-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: =?ISO-8859-1?Q?Ceci_est_une_signature_=E9lectronique_PGP?=
Url : http://public.kitware.com/pipermail/insight-users/attachments/20070620/e56731d0/PGP.pgp


More information about the Insight-users mailing list