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.
|