Print

Print


Hi..I have a problem and i need help... I have SPECT images of various animals and an MRI template image for that species and I would like to coregister the SPECTs to the MRI template. SPECT is low res, poor quality but I can still see the outline of the brain/head and MRI is hi res and has good quality.  
Since the auto brain extraction does not work on the SPECT image due to poor data quality and since we do not want to delineate the brain manually for all the animals, I decided I could do the warping just by using 3-4 anchor points by FLIRT. 
SPECT is slightly tilted in all three dimensions with respect to MRI and they have matching orientations. 
What I first did is picket three anchor points at the center of the eyes and at the back tip of the brain on SPECT and on MRI. I just selected three voxels per each modality, and used nearest neighbor interpolation. It did not work out well. Has anyone done warping/co-reg based on a few anchor points? What would be the best options to use in FLIRT with this?  
I thought using one voxel per anchor point is the most appropriate if I use nearest neighbor method since 1) it is simpler to draw than putting more voxels/shapes 2) the voxel sizes in the two modalities do not match, so if I drew a volume rather than a voxel, I have to make sure the volumes of the shapes matched (which is really hard and time-consuming) otherwise any mismatch reflects itself as excessive stretch/shrink on the SPECT being warped.
Here is an example of what I ran:

1) warping SPECT anchor to MRI anchor:
flirt -in SPECT-3pointanchor.nii.gz 
-ref MRITemplate-3pointanchor.nii.gz \
-out SPECT_3ptanchor_warpedto_3ptanchor.nii.gz \
-omat SPECT_3ptanchor_warpedto_3ptanchor.mat \
-bins 256 -cost normmi -searchrx -35 35 -searchry -15 15 -searchrz -15 15 -dof 12  -interp nearestneighbour

2)apply that transformation to warp SPECT to MRI:
flirt -in /SPECT.nii.gz \
-ref MRITemplate-3pointanchor \
-out SPECT_warpedwith3ptanchor.nii.gz \
-applyxfm -init /SPECT_3ptanchor_warpedto_3ptanchor.mat -interp trilinear

I used small angles for roll (y) and yaw (z) and big one for pitch(x) since I visually know the limits of the tilt of my SPECT data...

Any thought and help on this? What should I be careful about when using FLIRT with anchor-"points", which flirt options should I use or avoid? I would very much appreciate inputs... 
Thanks,
..
Unal