[ITK-users] CenteredTransformInitializer Python Wrapping

Bradley Lowekamp blowekamp at mail.nih.gov
Thu Aug 27 08:19:18 EDT 2015


Hello,

I would recommend using the "MatrixOffsetTransformBase" class for the template parameters. This enables the class to be used with any derived type.

This is they way I did it in SimpleITK [1].


Brad

[1] https://github.com/SimpleITK/SimpleITK/blob/master/Code/BasicFilters/src/sitkCenteredTransformInitializerFilter.cxx#L125-L126

On Aug 27, 2015, at 5:38 AM, Sami Koho <sami.koho at gmail.com> wrote:

> Hello again,
> 
> I fixed the wrapping issue. I thought that I might submit a patch to ITK, but I have a question. I am using the ITK version 4.8.0, which I obtained with a checkout from the GIT repository. Is it totally fine that I create the Patch for the 4.8.0 release, or should I switch to the main branch? 
> 
> Best,
> 
> Sami
> 
> 
>> On 27 Aug 2015, at 09:14, Sami Koho <sami.koho at gmail.com> wrote:
>> 
>> Hello,
>> 
>> I tried to convert a registration method that I have to use the CenteredSimilarity2DTransform instead of the CenteredRigid2DTransform in Python. There seems to be a problem however, as the CenteredTransformInitializer in Python only seems to work with the rigid transforms now. The wrapping file looks like this:
>> 
>> itk_wrap_include("itkVersorRigid3DTransform.h")
>> itk_wrap_include("itkCenteredRigid2DTransform.h")
>> itk_wrap_class("itk::CenteredTransformInitializer" POINTER)
>>    itk_wrap_filter_dims(d 3)
>>    if(d)
>>        foreach(t ${WRAP_ITK_SCALAR})
>>          itk_wrap_template("VR3DT${ITKM_D}${ITKM_I${t}${d}}${ITKM_I${t}${d}}" "itk::VersorRigid3DTransform< ${ITKT_D} >,${ITKT_I${t}${d}},${ITKT_I${t}${d}}")
>>        endforeach()
>>    endif(d)
>> 
>>    itk_wrap_filter_dims(d 2)
>>    if(d)
>>        foreach(t ${WRAP_ITK_SCALAR})
>>          itk_wrap_template("CR2DT${ITKM_D}${ITKM_I${t}${d}}${ITKM_I${t}${d}}" "itk::CenteredRigid2DTransform< ${ITKT_D} >,${ITKT_I${t}${d}},${ITKT_I${t}${d}}")
>>        endforeach()
>>    endif(d)
>> itk_end_wrap_class()
>> 
>> How would I go about fixing this? Should I just add a new line, like:
>> 
>> itk_wrap_template("CS2DT${ITKM_D}${ITKM_I${t}${d}}${ITKM_I${t}${d}}" "itk::CenteredSimilarity2DTransform< ${ITKT_D} >,${ITKT_I${t}${d}},${ITKT_I${t}${d}}")
>> 
>> inside the if(d)...endif(d) for the 2D images? I could of course just try, but I thought to ask, as compilation always takes a while with the Python wrapping :-)
>> 
>> Best,
>> 
>> Sami
> 
> _____________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
> 
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/insight-users



More information about the Insight-users mailing list