Hi,
If both of your images are in radiological orientation (as
specified by fslorient) then the coordinate mapping is
between scaled mm coordinates in each image. That is,
take the voxel coordinate (as reported by fslview) and
multiply each element by the corresponding voxel size
(in mm) to get to the scaled mm coordinate. Then you
can do: new_coord = flirt_matrix * old_coord
and you will get the new coordinate in scaled mm.
If either image is not in radiological convention then
this is complicated by a flip of the x-axis coordinates.
You might find it easier to use img2imgcoord in order
to convert between coordinates, as this is what it is
designed to do.
All the best,
Mark
Anthony wrote:
> Hi,
>
> Initially I have a 3D volume H ( 256x256x256 , resolution 1x1x1) and one
> hemisphere surface that can be well embedded in it ( using slices' plans as
> cutting plans , the contours match very well with the image).
> I then used FLIRT to register H with volume L as reference (64x64x36,
> resolution 3x3x3.3) and got H2L . I can say the registration matches quite
> well, but when I applied the transformation matrix for the surface
> new_coord=trans*old_coord , the transformed surface is now no more well
> embedded in H2L. Does the transform matrix .mat given by FLIRT take into
> account the difference in resolution/voxel dimension? Did I miss out something?
>
> Thank you
> Anthony Ta
>
>
|