-
Hi, I am considering an application where one 3D image is geometrically warped relative to another, but only along a single dimension. The goal is to perform a non-rigid registration of the two images. For the best result I am seeking to constrain the registration to reflect the prior knowledge that deformation can only occur in 1D. Is it possible to do this in elastix? For example, can the BSplineTransform be used to model strictly 1D deformation on 3D image data? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
Hi @artoews, sorry for the late reply. As far as I know there is no "official" way to do this ie. in the sense of a separate BSpline transform implementation specialized for that. The first solution that came to my mind was to use the I think the best solution would be to set the I expect that there will be some naunces about whether you need to match the image size exactly or if the bspline grid should be slightly bigger than the image in the two dimensions. Could you take a look and let us know how it goes? I think some people might have the same request in the future. Thanks! |
Beta Was this translation helpful? Give feedback.
-
Hi @ntatsisk, thanks for your reply. I did try your suggestion to modify the GridSpacing for dimensions that are not geometrically distorted. However I realized that this will not do what I want, as this will only impact how the deformation vector field varies in space. What I actually want is to constrain the direction of the deformation vectors in this field. I suppose there is no way to do this right now. Fortunately I am finding reasonably good results with the default b-spline non-rigid 3D registration even though it is over-parameterized. |
Beta Was this translation helpful? Give feedback.
Hi @artoews, sorry for the late reply. As far as I know there is no "official" way to do this ie. in the sense of a separate BSpline transform implementation specialized for that.
The first solution that came to my mind was to use the
Scales
to constrain the registration (https://github.com/InsightSoftwareConsortium/ITKElastix/blob/main/examples/ITK_Example21_ConstrainedRegistration.ipynb). However, I quickly realized that this approach is only feasible for affine-type transforms because the scales are not used at all for BSplines. So, not applicable in your situtation.I think the best solution would be to set the
FinalGridSpacing
(in voxels or physical units) to match the image dimensio…