Print

Print


Hello again,

I'm slightly puzzled right now... I registered my volume and the registration
matches really well. Previously I had noticed that the volume had flipped
around z-axis, so I created a zlip-matrix and gave it as -init for flirt. Ok,
as I said, the registration is now really good. But, transforming a certain
coordinate doesn't succeed. Voxel sizes are different in the volumes.

My transform-matrix is:

Mat=
[0.997118 -0.075060 -0.004070 12.922070
0.070709 0.998419 -0.030878 12.680435
-0.010383 -0.031842 -0.998170 186.943241
0.000000 0.000000 0.000000 1.000000]

I tested the transform for the outermost voxel in the input volume. I have
tested both "voxel coordinates" and "mm-coordinates". They would be:

coord_vox=[255 255 179 1]' and
coord_mm=[220 220 180 1]'

I tried both "direct" transform, as suggested, like new=xfm*old, and also one
way which was introduced previously in Mark Jenkinsons reply to Souheil in
Nov 14. Because I have different FOV:s I thought that might be the answer.
That way would be: new=inv(Ddest)*XFM*Dsource*old as I understood. Ddest and
Dsource have as diagonal elements the x, y and z voxel size in mm, and 1 as
fourth element. Like:

D=
[
4  0  0  0
0  4  0  0
0  0  6  0
0  0  0  1
]

My voxel sizes are: Dsource=(0.859 0.859 1) and Ddest=(1.02 1.02 1.5). What
am I doing wrong, because all of those transformations gave negative value
for z-coordinate? Is the corner point somehow "bad verification"? Any help is
greatly appreciated....

With best regards,

Pasi T.