Dear doug, Thank you for your quick reply - Unfortunately this does not yet work. I have written a small matlab example to more clearly show my problem:
clear all; clc; % I would like to load a surface with % [rh.pial.vertices,rh.pial.faces] = read_surf([surfdir 'rh.pial' ]); % % rh.pial.vertices(59551,:) for example yields the vertex coordinates for % vertex 59550: [34.2031 -24.7783 44.7629] % when I open the image and the surface in freeview I can select this % vertex and freeview tells me, that the voxel position in the image is [293 275 236] % and the RAS is [44.19 -15.96 73.19] % how can I calculate the voxel position or the RAS % based on the vertex coordinates I obtained with read_surf? % This is what I tried so far: %% example: Vertex 59550 RAS = [44.19 -15.96 73.19]; ImageVoxel = [293 275 236]; VertexCoordinate = [34.20 -24.78 44.76]; %% Image originator = [ 2.060349426269531e+02, ... 2.073668823242188e+02, ... 90.155899047851560, ... 31551,... -7805]; sMatrix = [ 0.5 ,0 ,0 ,-1.025174713134766e+02; ... 0 ,-0.5 ,0 ,1.213165588378906e+02; ... 0 ,0 ,0.5 ,-44.577949523925780; 0 ,0 ,0 ,1]; %% RAS2Vox Ras2VoxTransf = inv(sMatrix); Ras2VoxResult = round(RAS * Ras2VoxTransf(1:3,1:3)+Ras2VoxTransf(1:3,4)'); % now Ras2VoxResult is equal to ImageVoxel :) % now I only need a transform from VertexCoordinate to RAS ... %% RasTkr2Vox vox2rastkr = [-0.50000 0.00000 0.00000 112.50000; ... 0.00000 0.00000 0.50000 -73.00000; ... 0.00000 -0.50000 0.00000 112.50000; ... 0.00000 0.00000 0.00000 1.00000]; Ras2VoxTkrTransf = inv(vox2rastkr); Ras2VoxTkrResult = round( ... VertexCoordinate * Ras2VoxTkrTransf(1:3,1:3)+ ... Ras2VoxTkrTransf(1:3,4)'); % This yields not the desired result - so, which Matrix do I have to use? Thank you Steffen 2011/2/9 Douglas N Greve <gr...@nmr.mgh.harvard.edu> > The --vox2ras-tkr transform will take you to voxel space in the conformed > coordinates (not the raw input). Is this good enough? > doug > > Steffen Bollmann wrote: > >> Dear freesurfer experts, >> >> I would like to display freesurfer surfaces in the voxelspace of the >> original subject image using matlab. >> >> Which coordinate transformation do I have to apply to get the >> vertex-coordinates to the RAS space and finally to the original voxelspace >> of the subject? (i guess for RAS2Vox I can use the matrix I can obtain with >> mri_info ... but I cannot find a way from vertex-coordinates to RAS) >> >> Thank you for any hint >> Best Regards >> Steffen Bollmann >> _______________________________________________ >> Freesurfer mailing list >> Freesurfer@nmr.mgh.harvard.edu >> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer >> >> >> >> > > -- > Douglas N. Greve, Ph.D. > MGH-NMR Center > gr...@nmr.mgh.harvard.edu > Phone Number: 617-724-2358 Fax: 617-726-7422 > > Bugs: surfer.nmr.mgh.harvard.edu/fswiki/BugReporting > FileDrop: www.nmr.mgh.harvard.edu/facility/filedrop/index.html > > > > 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. > >
_______________________________________________ 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.