How to apply a BSpline Transformation Field(produced by a registration) to another volume image(for DeepLearning Data Augmentation)?

Operating system: window10
Slicer version:4.8.1
Expected behavior:
Actual behavior:
I’m now ongoing a project of medical image analysis based on deep learning,but the dataset I can obtain is really limited,so I want augment the dataset by applying non-rigid transformation on the dataset I now have to obtain new volumes with different shape.
I use registration two volumes to get a transformation grid field,but when I apply this transformation to another volumes,I notice that the volume does not match the field of transformation grid field:
How can I move the volume to the field of transformation field?
I’ve tried to translate the volume, but it seem strange that the volume looks not translated after I reload the saved the translated volume.

If you only want to apply non-rigid transformation then you need to align the images first with rigid transformation and harden the transform on the moving volume. If you register these rigidly aligned images using deformable registration, then the resulting transform will only contain the deformable component.

1 Like

Thank you so much,I’ve solve this according to your helpful advice:
It didn’t work because I did not resample the rigidly aligned volumes.After I resample the rigidly aligned volumes and then reload the volume,I found that the volume is cropped outside the volume field,and then I solved this problem according to your advice from : :

For most resample modules you can specify an output geometry (by selecting a reference volume), you just have to set that output geometry to avoid any undesired cropping


I have another question:
I want enlarge the scale factor of the BSpline Transformation to make the volumes deform larger,I’ve notice there is a option under the “Advance”:
but enlarge the scale factor here does not actually make the volumes deform larger.I’ve also save the BSpline transformation after enlarge the scale factor,and then reload the transform,it looks that the transform does not change at all.
What should I do,any hints?
Thank you.