Print

Print


If your ROI is a binary mask image, something like this should work:

V = spm_vol(mask)
[Y XYZ] = spm_read_vols(V)
voxs = find(Y==1)         %only find voxels with value '1'; gives linear 
indices of the matrix Y
for i=1:length(voxs),
    vXYZmm(:,i) = XYZ(:, voxs(i));      % gives 3xn matrix of locations 
in mm
end

M = inv(V.mat)
for i=1:size(vXYZmm,2),
    vXYZ(:,i) = vXYZmm(:,i)'*M(1:3,1:3) + M(1:3,4)'      % gives 3xn 
matrix of locations in voxel number
end

Vcon = spm_vol(con_image)
Ycon = spm_read_vols(Vcon)
for i=1:size(vXYZ,2),
    con_vals(j) = Ycon(vXYZ(1,j), vXYZ(2,j), vXYZ(3,j))      %get the 
con values for those voxels
end


Xiang Wu wrote:
> hi all
>
> Given a roi (defined by marsbar or perhaps with other ways) and a
> con*.image, how to extract the values in the ROI from the con*.image?
>
> I hope a simple way to do this, since this should be a simple thing itself.
> (I read some threads in this and marsbar lists, but those ways involve
> design matrix, which is not necessary to my simple situation since the
> statistic analysis resulting in the con*.images has been done by SPM iteslf)
>
> Thanks
> xiang
>
>
>