Print

Print


Hi,

Thanks for the link to the thread. I have been going through it and trying to understand where I am going wrong. Unfortunately it seems to focus on problems that either involve cropping, or voxels that are not 1x1x1 mm. 
according to the document at: 

http://users.fmrib.ox.ac.uk/~mark/files/coordtransforms.pdf 

if my voxel dimensions ar 1mm x 1mm x 1mm then the S matrix is just the identity matrix right? Or do I have to account for he fact that the origin is not in the corner of the voxel but at the centre making Ox, Oy and Oz values 0.5? Either way surely this is just a translation of half a voxel and thus won't have a big impact on the result?
I also don't understand why I have to shift the centre of rotation to the centre of the image if I want the output image to be visible (lie within the viewed voxel range), or am I supposed to change the range of voxels that are displayed?

As far as I understand my images have zero qforms and zero sforms, are not cropped and ahve a 1-1 mapping of voxels to mm. So the reapplication of flirt should be simple?

I also notice that in the output from flirt, the fields in the header srow_x, srow_y etc have become [1 0 0 0], [0 1 0 0] etc whereas they were [0 0 0 0] in my original image.

Lastly I am still very confused as to if I should be taking a [x,y,z] point on the OUTPUT image, multiplying the affine matrix by that point to get the [X,Y,Z] points on the SOURCE image that I should use (via trilinear interpolation) to 'colour' the voxel on the new OUTPUT image? Or is it the other way around? What do I achieve by inverting the matrix given by flirt?

Sorry for all the questions, but I am really struggling to perform the transformation when it seems to me like it should be a simple task. I'm clearly not understanding something so please if anyone could provide me with a simple explanation I would really appreciate it.

Thanks
Dan