Apply a smooth dense deformation

Hi all,

I need to do the data augmentation used by the 3-D Unet work (paper link): “Besides rotation, scaling and gray value augmentation, we apply a smooth dense deformation field on both data and ground truth labels. For this, we sample random vectors from a normal distribution with standard deviation of 4 in a grid with a spacing of 32 voxels in each direction and then apply a B-spline interpolation.”

Can I achieve this with any Slicer module? Hope for some advice. Thanks a lot.

Crayon

HI -

Yes, you should be able to just create a grid transform for that. This code might help get you started.

You may also create a thin-plate spline transform using SlicerIGT extension’s Fiducial Registration Wizard module. You just need to specify two markups fiducial point lists and the module creates a transform that transform each point to a corresponding point in the other list and smoothly interpolates between them. This way, you can very easily create a smoothly changing dense displacement field by just specifying a few displacement vectors.

Thanks a lot. I have done the data augmentation with Fiducial Registration Wizard module following your advice. The deformed images are satisfactory. Now I am preparing the scientific paper. I am not sure how to describe this operation as data augmentation step. Hope for some suggestions. Your help is highly appreciated!

Sincerely,

Crayon

If you use SlicerIGT modules then please cite this paper:
Ungi T, Lasso A, Fichtinger G. Open-source platforms for navigated image-guided interventions. Med Image Anal. 2016 Oct;33:181-6. doi: 10.1016/j.media.2016.06.011.

If possible, please also cite 3D Slicer as described here.

Internally, Fiducial registration wizard module uses VTK’s thin-plate spline transform implementation. Algorithm details are described in this paper: https://doi.org/10.1016/S0895-6111(02)00091-5

1 Like