Tools: SPM, cor2mni
Assume the image is “a.img”, do
v = spm_vol('a.img'); v.mat
If v.mat is a diagonal matrix, you can simply read the number and they are the voxel size in mm.
If not, a trick is to calculate the distance between adjacent voxels. For example, if v.mat =
-3.4337 -0.0518 -0.1776 110.2825 -0.0919 3.3036 1.1004 -97.8366 -0.1324 -0.9487 3.8416 19.7459 0 0 0 1.0000
Use cor2mni.m to calculate the voxel coordinate in MNI space.
point1 = cor2mni([1 1 1], v.mat); point2 = cor2mni([1 1 2], v.mat);
Then calculate the distance between point1 and point2 you will get the voxel size in z direction. Repeat for x and y direction.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% cor2mni %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function mni = cor2mni(cor, T) % function mni = cor2mni(cor, T) % convert matrix coordinate to mni coordinate % % cor: an Nx3 matrix % T: (optional) rotation matrix % mni is the returned coordinate in mni space % % caution: if T is not given, the default T is % T = ... % [-4 0 0 84;... % 0 4 0 -116;... % 0 0 4 -56;... % 0 0 0 1]; % % xu cui % 2004-8-18 % last revised: 2005-04-30 if nargin == 1 T = ... [-4 0 0 84;... 0 4 0 -116;... 0 0 4 -56;... 0 0 0 1]; end cor = round(cor); mni = T*[cor(:,1) cor(:,2) cor(:,3) ones(size(cor,1),1)]'; mni = mni'; mni(:,4) = []; return;
Dear,
Thank you so much for your valubale comments, In fact I would like to perform a Multi Class SVM using LibSVM, could you please do me a big favor and help me ? for example how optimize the parameters? and …
I am looking forward to hearing from you
Kind Regards
Mohammad