finnlennartsson / kpum_noddi

repo for processing of DKI/NODDI data for preterm project at KPUM
0 stars 0 forks source link

Implement registration dMRI<=>JHU-neonatal #33

Open finnlennartsson opened 1 year ago

finnlennartsson commented 1 year ago

Instructions from Kenataro

How to transform JHU parcellation map

Start 「DiffeoMap」

Open the “byte format” templates of FA image and the trace image.

Open the subject of FA image and trace image.

Change data format to Byte.

Manual scalling : Set FA max to 0.8

Set trace max to 0.008

In the “Subject” window,

(1)Click the “AIR Liner” in the “transformation” box.

Choose “Rigid Body”

Name “AlignlinearOutput_rigid” and save.

(2) Choose “Traditional 9 parameter model”.

Name “AlignlinearOutput_9affine” and save

(3) Choose “Affine”.

Name “AlignlinearOutput_12affine”.

Get the “Invert Air file” of “rigid”, “9affine” and “12affine”.

Apply “Automatic Histogram matching” for FA not trace.

Apply “Multichannel” in the “Volume LDDMM” of “Transformation”.

The same order for FA and trace both in “Template Images” and “Subject Images”.

Set “0.005” for “Alpha”

Give the same name as the folder name which appears in the folder after sending the data for LDDMM, in order to identify the date from LDDMM.

After LDDMM

Download the data.

Open DiffeoMap

Open the images which have the same space of the parcellation map for the Template.

Open the parcellation map for the Subject.

In the “Subject” box,

Click “Combine matrices” in the “Transformation”.

Click “Add Matrix”.

Click “LDDMM Matrix(VTK Format)”.

Choose “Hmap.vtk”.

Click “AIR Linear”.

Choose “Invert_AlignlinearOutput_12affine.air”.

Click “AIR Linear”.

Choose “Invert_AlignlinearOutput_9affine.air”.

Click “Nearest Neighbor “in the “Intensity Interpolation”.

Save file naming “Overall_H_Inv12_Inv9”.

Close all files.

Open the original-space image in the “template” window.

Open the update_parcellation map in the “subject” window.

Click “Load transformation matrix” in the “Transformation” box.

finnlennartsson commented 1 year ago

So, we could either implement LDDMM or do this multi-channel registration with ANTs.

finnlennartsson commented 1 year ago

Perhaps, this could be a useful Python implementation of LDDMM with examples of multichannel registration. It runs on GPUs (and CPUs).

finnlennartsson commented 1 year ago

Or use the multi-channel option within mrregister (uses SyN as diffeomorphic registration).