junyuchen245 / TransMorph_Transformer_for_Medical_Image_Registration

TransMorph: Transformer for Unsupervised Medical Image Registration (PyTorch)
MIT License
453 stars 76 forks source link

Voxel correspondance between Non-Linearly aligned Volumes #59

Closed jrdimale closed 1 year ago

jrdimale commented 1 year ago

Greetings!

I am working on my PhD using 3D Brain MRI Data. I'm using dipy to perform linear and non-linear registration between my volumes and a template brain (colin_27).

For each of my volumes I first perform affine registration.

Afterwards, I perform deformations to register all brain MRI images perfectly.

As a result, I have a group of linearly aligned volumes, and another group of non-linearly aligned volumes, all referred to the same 3D brain MRI Template.

To perform a voxel-wise comparison between my volumes, I would like to, for each voxel on the template, obtain the corresponding voxel of each of my linearly-aligned volumes. I believe this correspondence can be somehow obtained by using the deformation map obtained for each of the transformations?

Thus, my objective is for each voxel (x, y, z), obtain the corresponding voxel (x + dx, y + dy, z + dz ) for each of the linearly aligned volumes.

Thanks in advance for any solutions.

junyuchen245 commented 1 year ago

Hi @jrdimale

What you need is essentially the displacement field. The majority of registration algorithms utilize a trilinear sampling scheme, meaning the registered image is obtained by sampling the moving image based on the deformed image grid. After registration, the pixel value M(x, y, z) transitions to M(x+dx, y+dy, z+dz), aligning with the pixel value of the fixed image at (x, y, z) i.e., F(x, y, z). Here, the mapping (dx, dy, dz) is the displacement field.

-Junyu