Apply deformation to the 3D-CT image volume from mesh displacement

I have a reference mesh and a deformed version of it (they are unstrcuted grid saved in vtk file format). The reference mesh was acquired from a 3D-CT volume.
I would want to apply the same deformation to the reference 3D-CT volume so that it align with the deformed mesh configuration.

Any help/code would be appreciated.

I have herewith shared a sample reference mesh, deformed mesh and corresponding reference CT volume in the link given below for your further consideration.

Hello @lakmy,

To allow you to resample the reference CT on which the reference mesh is defined you need to estimate the transformation between the deformed mesh to the reference mesh, it maps the points from the deformed mesh onto the reference mesh. The only option in SimpleITK is to use the LandmarkBasedTransformInitializerFilter to compute a BSplineTransform.

In your case the points from the reference mesh are the MovingLandmarks and the corresponding points from the deformed mesh are the FixedLandmarks. Once you compute the BSplineTransform you can resample the reference CT using the ResampleImageFilter.

Before starting to write any code I would recommend looking into the use of 3D Slicer for this task.

1 Like