[ITK-users] CenteredTransformInitializer Python Wrapping

Matt McCormick matt.mccormick at kitware.com
Thu Aug 27 11:41:12 EDT 2015


Hi Sami,

Any patches are welcome and appreciated!  Please see here [1] for Git
contribution instructions.  The patch can be based off the release
branch.  Including "release" in the topic name will help us know that
is a possible patch to include in the release branch.

Thanks,
Matt

[1] http://www.itk.org/Wiki/ITK/Git/Develop

On Thu, Aug 27, 2015 at 8:19 AM, Bradley Lowekamp
<blowekamp at mail.nih.gov> wrote:
> 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
>
> _____________________________________
> 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