Hi Mirwais,
Hopefully John will correct me if I'm wrong, but I think the problem
is that coreg is combining the affine transformation between original
target (em zoomed) and source (tx zoomed) with the voxel-world mapping
for the source, and storing this in the source.mat. When you copy this
mat file over for the new source (tx "unzoomed"), it's wrong because
it no longer combines the affine transformation with the correct voxel
world mapping.
Wardak, Mirwais wrote:
> [...] using the .mat file generated above and
> placing it the same folder as TX2_zoom_1.0.img & EM2_zoom_1.0.img. I
> changed the prefix of the .mat file name so that it is the same as the
> name of the transmission image (i.e., TX1_zoom_3.5.mat =
> TX2_zoom_1.0.mat).
Both SPM2 and SPM5 coreg GUIs have options for "other" (secondary
source) images which should be transformed like the source. I think if
you select your unzoomed tx as the other image, it should then end up
correctly aligned to your unzoomed em image. Please post a follow-up
(to the group, in case I am talking nonsense) if this appears not to
work for you.
Best,
Ged.
P.S. if you want to do things without the GUI, or if you already have
a bunch of .mats for loads of image sets and don't want to re-run the
coreg, then you could work things out to (matrix) divide and
re-multiply the transformations by the respective voxel-world mappings
of the original and new source images.
You'd need to run spm_get_space on a copy of the original source,
before coregistration (or without the .mat), call this M1, and on a
copy after coregistration, call this M2, then you'd need to use
spm_get_space on the secondary source you wish to transform (unzoomed
tx), call this M3. Finally, the matrix you want to save using
spm_get_space on this secondary source will be:
(M2/M1)*M3
I think... shout if this appears to be wrong.
|