Sophie
spm_get is no longer used as of spm5. to fix the error change the first line of the code below to
V = spm_vol(spm_select(1,'image'));
I
I have a MTR image (Thanks to Benjamin Bender, my hero!). I'd like to use the matlab code below to integrate the values of my image.I get an error message when I run it??? Undefined function or method 'spm_get' for input arguments of type 'double'.
I'm on XP using SPM8. I don't know Matlab at all so I'm having problems troubleshooting it. Also, I've masked my image with the grey and white matter segmentations of my highres, this would make a difference in calculation?thanks, sophieFrom John Ashburner 2002 https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ind02&L=SPM&P=R33843If you want to integrate all the values in an image, you would need to writesome kind of a script to do it. A possible example that you could copy and paste into Matlab would be: %____________________________________________________________ V = spm_vol(spm_get(1,'*.img')); sm = 0; for i=1:V.dim(3), M = spm_matrix([0 0 i]); img = spm_slice_vol(V,M,V.dim(1:2),0); sm = sm + sum(img(:)); end; sm fprintf('%g litres\n', sm*det(V.mat(1:3,1:3))/100^3) %____________________________________________________________ The value of sm is the integral of intensity throughout the image. If this is an integral over a grey matter image, then you will need to scale by the volume of each voxel ( det(V.mat(1:3,1:3)) )in order to get an answer in units of cubic millimetres.
--
Sophie Josee Lafaille, M.Sc.
Research Coordinator
Law and Mental Health Program
Specialty Clinics, 4th Floor, RM 440
Centre for Addiction and Mental Health
250 College Street, Toronto, Ontario, Canada
M5T 1R8
Office: 416-535-8501 Ext. 6278