Bspline grid size per level

Does SimpleITK support specifying bspline transform grid size per level?
For example, for the first level use a 4x4 grid, and for the second level use a 8x8 grid.


It seems like SimpleITK doesn’t support BSplineTransformParametersAdaptor. I made a quick attempt to resample the images from GetCoefficientImages() and running a second/separate registration, but disappointing results.

1 Like

Currently the adapting of BSpline transforms to different sizes is not part of the SimpleITK RegistrationMethod.

In ITK you can find how the BSplineTransformParameters are adapted here. Unlike the displacement field transforms which must match the image (fixed) across the different scales of registration, the BSpline transformation resolution can vary independently from the shrink factors of the multi-scale resolution. So it was assumed that the “adapting” of the BSpline transform could easily done outside the registration frame work.

Unfortunately there appear to be some missing components to easily do this. From the ITK, we can see the method utilizes the ResampleImageFilter with the BSplineResampleImageFunction, and then the BSplineDecompositionImageFilter. Neither of these component are currently wrapped.

Could you please create a feature request issue on Github?


created an issue on github:

1 Like