Hi Amir,
If your functional and structural data are coregistered, and you use
resize_img specifying the same voxel-sizes and bounding boxes, then
the resampled results should be registered voxelwise (and have the
same centre and size).
It sounds from your last paragraph like you don't want to downsample
the structural to the functional resolution, or upsample the
functional to the structural. Without doing one of these things, I
don't think it makes sense to want the centres of the images to be the
same, since this would make it impossible for them to be world-space
aligned.
It may be that your registration algorithm makes some assumption about
the origin of the image, instead of using the header fields of the
Analyze image, in which case I think you will need to find out
precisely how your registration program treats differently sized
images, before you can decide what you want to do within SPM.
If your registration algorithm requires the source image to be 256x256
in plane, then I would guess that it also wants any other images to
transform to be the same dimension, in which case I think you will
have to upsample your functional data, no?
Presumably, your registration program also expects the 256x256 input
image to be rigid/affine-registered to the template already, since
otherwise it would be peculiar to require voxel and image dimensions
to match. In this case too, I don't think you'll be able to avoid
resampling the fMRI data.
I think my best guess at present would be:
- rigid/affine align structural to template
- rigid coreg fmri to (template-aligned) structural
- resample structural to match template:
resize_img('struct.img', [1 1 1], world_bb('template.img'));
- use your registration program
- if reg program treats world-space same as SPM (after resampling to
get rid of rotations), then resample fmri images keeping same voxel
size and bounding box:
resize_img('EPIxxx.img', nan(1,3), nan(2,3));
- otherwise, if program requires voxel-wise correspondence between
image used in registration, and further images to transform, then:
resize_img('EPIxxx.img', [1 1 1], world_bb('template.img'));
Good luck,
Ged.
|