(Note: The program in this email was corrected; I have added the corrections to this message. Also, an additional typo was discovered in Sep 2003 and was fixed.)
Subject: Re: tabulate all voxels of a volume or cluster From: John Ashburner <john@FIL.ION.UCL.AC.UK> Date: Thu, 27 Mar 2003 14:26:56 +0000 (09:26 EST) To: SPM@JISCMAIL.AC.UK > Is there a possibility to tabulate the p-values and statistics for all > voxels for the entire volume. (not only the peaks) ? > Or which data file should I readout to get the desired > values? Copy and paste the following into Matlab, and select the appropriate spmT or spmF images. The first 3 columns are MNI coordinates. The fourth is the statistic. I haven't included any p-values, but this would be a relatively simple operation, provifing you can figure out degres of freedom etc. Use spm_Tcdf.m or spm_Fcdf.m to do this. P=spm_get(1,'*.img','Select statistic image'); V=spm_vol(P); [x,y,z] = ndgrid(1:V.dim(1),1:V.dim(2),0); for i=1:V.dim(3), z = z + 1; tmp = spm_sample_vol(V,x,y,z,0); msk = find(tmp~=0 & finite(tmp)); if ~isempty(msk), tmp = tmp(msk); xyz1=[x(msk)'; y(msk)'; z(msk)'; ones(1,length(msk))]; xyzt=V.mat(1:3,:)*xyz1; for j=1:length(tmp), fprintf('%.4g %.4g %.4g\t%g\n',xyzt(1,j),xyzt(2,j),xyzt(3,j),tmp(j)); end; end; end; Best regards, -John