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.

Reply via email to