Skip to content

Commit

Permalink
ENH: antsTransform.apply_to_image on displacement field transforms
Browse files Browse the repository at this point in the history
  • Loading branch information
cookpa committed Aug 7, 2024
1 parent 4079ac1 commit 9541cc6
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions src/antsTransform.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ AntsTransform<TransformType> antsTransformFromDisplacementField( AntsImage<Vecto
}

template <typename TransformType, typename VectorImageType, typename PrecisionType, unsigned int Dimension>
AntsImage<VectorImageType> antsTransformToDisplacementField( AntsTransform<TransformType> & xfrm,
AntsImage<VectorImageType> antsTransformToDisplacementField( AntsTransform<TransformType> & xfrm,
AntsImage<itk::Image<PrecisionType, Dimension>> & ref )
{
//typedef itk::Transform<PrecisionType,Dimension,Dimension> TransformType;
Expand Down Expand Up @@ -246,6 +246,16 @@ void local_antsTransform(nb::module_ &m) {
m.def("transformImage", &transformImage<itk::Transform<double,3, 3>, itk::Image<double, 3>>);
m.def("transformImage", &transformImage<itk::Transform<double,4, 4>, itk::Image<double, 4>>);

// displacement field transforms
m.def("transformImage", &transformImage<itk::DisplacementFieldTransform<float, 2>, itk::Image<unsigned char, 2>>);
m.def("transformImage", &transformImage<itk::DisplacementFieldTransform<float, 3>, itk::Image<unsigned char, 3>>);
m.def("transformImage", &transformImage<itk::DisplacementFieldTransform<float, 2>, itk::Image<unsigned int, 2>>);
m.def("transformImage", &transformImage<itk::DisplacementFieldTransform<float, 3>, itk::Image<unsigned int, 3>>);
m.def("transformImage", &transformImage<itk::DisplacementFieldTransform<float, 2>, itk::Image<float, 2>>);
m.def("transformImage", &transformImage<itk::DisplacementFieldTransform<float, 3>, itk::Image<float, 3>>);
m.def("transformImage", &transformImage<itk::DisplacementFieldTransform<float, 2>, itk::Image<double, 2>>);
m.def("transformImage", &transformImage<itk::DisplacementFieldTransform<float, 3>, itk::Image<double, 3>>);

m.def("inverseTransform", &inverseTransform<itk::Transform<float, 2, 2>, itk::Transform<float, 2, 2>>);
m.def("inverseTransform", &inverseTransform<itk::Transform<float, 3, 3>, itk::Transform<float, 3, 3>>);
m.def("inverseTransform", &inverseTransform<itk::Transform<float, 4, 4>, itk::Transform<float, 4, 4>>);
Expand Down Expand Up @@ -286,7 +296,7 @@ void local_antsTransform(nb::module_ &m) {
m.def("antsTransformToDisplacementField", &antsTransformToDisplacementField<itk::DisplacementFieldTransform<float,2>, itk::VectorImage<float,2>,float,2>);
m.def("antsTransformToDisplacementField", &antsTransformToDisplacementField<itk::DisplacementFieldTransform<float,3>, itk::VectorImage<float,3>,float,3>);


nb::class_<AntsTransform<itk::DisplacementFieldTransform<float,2>>>(m, "AntsTransformDF2");
nb::class_<AntsTransform<itk::DisplacementFieldTransform<float,3>>>(m, "AntsTransformDF3");
nb::class_<AntsTransform<itk::Transform<float, 2, 2>>>(m, "AntsTransformF22");
Expand Down

0 comments on commit 9541cc6

Please sign in to comment.