Hi Stefano
Lilla is going to be out of touch for a while I expect. Have you
downloaded the FreeSurfer source code? That might be a good place to
start. I think you can also load a .m3z warp into freeview and it will
display it as a 3-frame volume.
I think the representation is that we keep a target volume coordinate for
every atlas node
cheers
Bruce
On Tue, 23 Jan 2018, Stefano Zappalà wrote:
To whom it may concern,
I am Stefano Zappalà, a second year PhD student at Cardiff University. I would
like to use the CVS
registration tool of the FreeSurfer software for elastic registration. I was
very impressed by its
accuracy even in aligning fiber tracts.
My project is based on reading the warp field files as output of elastic
registration for estimating
displacement fields. I wrote to Lilla Zollei few months ago who kindly shared
with me a Matlab
script for reading .m3z files, output of cvs_register. I played with it for
several months, without
being able to properly read the deformation field. What I obtain does not
represent the real warp
(that i can extract and compare with, using another software). By checking the
output image, I can
tell that the registration was successful, so I am expecting the warp field to
be consistent with
the real one.
When I use the Matlab function given me by Ms Zollei, I notice a gradient in
each of the component
(x,y,z) of the vector field, that varies according to the coordinate of each
voxel (as you can see
in Figure1 attached). I therefore subtracted, for each voxel, its coordinate to
the corresponding
component of the vector, using the cycle:
T=zeros(256,256,256,3);
for k=1:256
for j=1:256
for i=1:256
T(i,j,k,:)=squeeze(vol_orig(i,j,k,:))-[i;j;k];
end
end
end
where vol_orig is the output of the function you gave me [vol_orig, vol_dest,
vol_ind0, spacing,
exp_k] = mris_read_m3z('FILELOC'). The result is compared to vol_orig in
Figure1.
By doing so I obtained something acceptable but still distant from the truth
(which comparison is
reported in Figure2, where the truth is the right vector field).
In the attachment you can find the function, as well as Figure1 representing a
slice of vol_orig on
the left and the modified version where the coordinates are subtracted to each
component of the
vectors. Finally, in Figure2 you can find the warp field estimated with
cvs_register and the
corresponding truth. The two warp fields seem different, unfortunately.
I was wondering if you have any suggestion on how to properly read it, or if
you could confirm that
what I have done is correct.
Thank you for your consideration.
Best regards,
Stefano.
_______________________________________________
Freesurfer mailing list
Freesurfer@nmr.mgh.harvard.edu
https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.