J'ai un tableau numérique et je veux le convertir en une image ITK pour un traitement ultérieur. Comment faire ceci sans utiliser l'extension PyBuffer à WrapITK. Je ne peux pas l'utiliser parce que je reçois un tas d'erreurs lors de la compilation:Passage d'un tableau numpy à un itk Image
.../ExternalProjects/PyBuffer/itkPyBuffer.txx: In static member function ‘static PyObject* itk::PyBuffer<TImage>::GetArrayFromImage(TImage*) [with TImage = itk::Image<float, 2u>]’:
.../ExternalProjects/PyBuffer/wrap_itkPyBufferPython.cxx:1397: instantiated from here
.../ExternalProjects/PyBuffer/itkPyBuffer.txx:64: error: cannot convert ‘int*’ to ‘npy_intp*’ in argument passing
je pourrais utiliser une idée sur la façon de corriger soit les erreurs de compilation ou d'une autre façon de convertir mes objets python.
Il semble que vous ayez trouvé la réponse, http://www.polyatomic.org/2010/10/28/doing-the-obvious/. Vous devriez probablement soit répondre à la question vous-même et l'accepter, ou simplement supprimer la question afin que les autres personnes ne perdent pas de temps dessus. En passant, j'ai trouvé que c'est probablement un problème sur les systèmes 64 bits en raison de la différence de taille de 'int'. –
Depuis que npy_intp existe depuis si longtemps, j'ai pensé qu'ils l'auraient changé dans la source ITK maintenant si c'était le problème. Je ne peux pas être la seule personne à venir contre ce bug. – tkerwin
Non, j'ai vu une autre personne qui est tombée dessus, mais ils ont fait quelque chose de légèrement différent - utilisé une fonction alternative ou autre. –