Dear All,
I have two scans, a T1 (T.nii) with native resolution 1x1x1 mm, and a CT (CT.nii) with native resolution of 0.4375x0.4375x0.8. I have been using align_epi_anat.py to register the CT (mov) to T1 (base), with variable success. I wanted to see if there are any voxel size match/mismatch and isotropy/anisotropy rules for the inputs to align_epi_anat.py. I have been trying different voxel resolutions, because the CT is high resolution, low contrast, and MR is low resolution, high contrast. I wanted to get the middle ground:
I used the following code:
-
@Align_Centers -base T.nii -dset CT.nii
(2) 3dresample -input T.nii -prefix T_res.nii (-master $CT) -dxyz x1 y1 z1
(3) 3dresample -input CT_shft.nii -prefix CT_res_shft.nii (-master $T) -dxyz x2 y2 z2 - align_epi_anat.py -dset1 $T -dset2 $CT -dset1_strip None -dset2_strip None -dset2to1 -suffix _done -feature_size x3 -overwrite -cost nmi -giant_move -rigid_body > status.txt
where $T is either T.nii or T_res.nii, and $CT is either CT_shft.nii or CT_res_shft.nii, where steps 2 and 3 were applied or not.
Results:The registration was good (excellent!) when CT was resliced to the T1 (-master T.nii -dxyz 1 1 1), prior to step no 4, which in turn was run with -feature_size 1.
It failed in all other instances:CT at native (anisotropic) resolution and T1 at native resolution;
T1 sliced at native CT (0.4375x0.4375x0.8) resolution
CT sliced at min native (0.4375) isotropic and T1 native (1), -feature_size 0.4375 or 1;
CT and T1 sliced at min native CT (0.4375) isotropic, -feature_size 0.4375CT sliced at 1/2 T1 resolution (0.5) isotropic, T1 native (1), -feature_size 0.5 or 1CT and T1 sliced at 1/2 T1 resolution (0.5), -feature_size 0.5 or 1All the above were tried without and with the -master option (when used on CT not used on T1, and viceversa).
So again,
- are there any voxel size match/mismatch and isotropy/anisotropy rules for the inputs to align_epi_anat.py, for a predictably successful registration2. regarding flag -feature_size, recommended in ‘help’ for anat to anat registrations: in the case registrations of two vols with different resolutions, which one of the two should be used as value input to the flag? Also, in case anisotropic vols are allowed as inputs without prior slicing to isotropic, which one of the dx != dy != dz should be used as input, if one decides to use the flag (or should one leave that out?)?
Thank you,
Octavian