3Dregistration

Last-modified: 2015-07-28 (Tue) 10:49:23 (3196d)

FrontPage

http://www.grahamwideman.com/gw/brain/afni/alldocs_afni.htm

Assume we have the following 3d data sets.
4 T1W 3Ds(T1-1,T1-2,T1-3,T1-4)
2 T2*W 3Ds(T2-1,T2-2)

Scan order: T1-1 T2-1 T2-2 T1-2 T1-3 T1-4
1.Registration among T1s, here registrate to T1-2

T1-1>T1-2<T1-3
         <T1-4

2.Registration among T2*s

T2-1>T2-2

3.Registration between T1ave and T2*ave

T1ave<T2ave

AFNI commands: 3dvolreg, 3dAllineate 3dcopy 3dAFNItoNIFTI (3dAFNItoANALYZE)

Processing steps:

Make NIFTI files

human3d 3d.t1-1 -F
...
human3d 3d.t2-2 -F

Registration among T1s

3dvolreg -verbose -dfile param_t1_12 -base 3d.t1-2.nii -prefix 3d.t1-1reg 3d.t1-1.nii
3dvolreg -verbose -dfile param_t1_32 -base 3d.t1-2.nii -prefix 3d.t1-3reg 3d.t1-3.nii
3dvolreg -verbose -dfile param_t1_42 -base 3d.t1-2.nii -prefix 3d.t1-4reg 3d.t1-4.nii

### You should check param files here ###

3dcopy 3d.t1-2.nii 3d.t1-2

cat 3d.t1-1reg+orig.BRIK 3d.t1-2+orig.BRIK 3d.t1-3reg+orig.BRIK 3d.t1-4reg+orig.BRIK > 3d.t1all+orig.BRIK
mstat 3d.t1all+orig.BRIK 4 -ave
cp 3d.t1-1reg+orig.HEAD 3d.t1all+orig-ave.HEAD

Registration among T2*s

3dvolreg -verbose -dfile param_t2_12 -base 3d.t2-2.nii -prefix 3d.t2-1reg 3d.t2-1.nii

### You should check param files here ###

3dcopy 3d.t2-2.nii 3d.t2-2

mapcal 3d.t2-1reg+orig.BRIK ave 3d.t2-2+orig.BRIK 3d.t2ave+orig.BRIK
cp 3d.t2-1reg+orig.HEAD 3d.t2ave+orig.HEAD

Registration between T1ave and T2*ave

3dAllineate -verb -warp shift_rotate -base 3d.t1ave+orig -source 3d.t2ave+orig -prefix 3d.t2ave_reg

mapcal 3d.t2ave+orig.BRIK lt 0.05 mask.sdt
mapcal 3d.t2ave+orig.BRIK + mask.sdt 3d.t2avethre+orig.sdt

mapcal 3d.t1ave+orig-ave.BRIK / 3d.t2avethre+orig.sdt 3d.t1t2ave+orig.BRIK
cp 3d.t2-2+orig.HEAD 3d.t1t2ave+orig.HEAD

3dAFNItoNIFTI -prefix result 3d.t1t2ave+orig
(3dAFNItoANALYZE -orient LPI result 3d.t1-4reg+orig)

### Removing skull ###
3dSkullStrip -input 3d.t1t2ave+orig -prefix 3d.t1t2_noskull

(*)If you find some part of the brain is missing or too much sandy noise outside of the brain, you need to adjust the threshold value manually for "mapcal 3d.t2ave+orig.BRIK lt 0.05 mask.sdt".