Dear Antonio,
you are correct in that you normally only get the globals after you have
specified a 1st level design matrix.
However, you can also do it manually by typing this at the Matlab prompt:
V = spm_vol(spm_select); % select the images for global mean calculation
G = spm_global(V);
The last line will compute the global means G of the images in V after
thresholding them at (global mean)/8, thus eliminating unimportant (i.e.
non-zeros) voxels (see also spm_global.m)
Cheers,
Jan
Bastos Leite, Antonio wrote:
> Dear Jan and all,
>
> Sorry for my late reply and thanks again for all your help.
>
>>From your previous explanations and further reading over the past few days, I understood you propose to find the information I need inside the SPM structure at "SPM.xGX.rg" and that SPM computes the global mean of each image using the m-file "spm_global.m".
>
> I could find the file "spm_global.m" at C:\MATLAB6p5\spm\spm5, but I could not find any structure containing "SPM.xGX.rg". I believe the explanation for this derives from the fact that I should have previous statistical results involving global means to find the structure.
>
> In fact, I don't need more than to obtain the output mean (for nonzero voxels) for a given (coregistered, normalized and segmented) image after multiplying it by a binary mask.
>
> In FSL, the command is avwstats <input image> -M
>
> Is there a corresponding command (or toolbox) in SPM?
>
> Regards,
>
> Antonio
>
> -----Mensagem original-----
> De: Jan Gläscher [mailto:[log in to unmask]]
> Enviada: sexta-feira, 8 de Setembro de 2006 15:47
> Para: Bastos Leite, Antonio
> Assunto: Re: [SPM] Average intensity (for nonzero voxels)
>
> Dear Antonio,
>
> alright, so you know that SPM runs under Matlab. It's actually a bunch of
> so-called m-files which contain code that Matlab can interpret.
>
> In Matlab there is something called the workspace which is your current
> environment that contains all the matrices etc. that you are currently
> working with. You can see what's in the workspace by type 'who' (without
> the ') at the Matlab prompt.
>
> SPM saves most of its calculations in a Matlab structure called SPM. For
> instance, if you start spm and click on results, you are propted to select
> a file called SPM.mat. This file contains the SPM structure. A structure
> (or in Matlab file type, a struct) is a data entity that contains *named*
> fields, which themselves contain the various information. These fields have
> abbreviated names that may seem a little cryptic to the novice, but that's
> the way it is. For instance SPM.xY contains the information regarding the
> input images (your Y in the GLM). Then there are various sub-fields, it
> just continues ...
>
> Anyhow, when you specify you first-level analysis you are asked about
> Global Normalization. Usually people select 'none', which is a little
> misleading since there is some scaling carried when you select 'none'. SPM
> then scales the mean of all images within one session to 100, i.e. the
> differences of the images' global mean *within a session* session is
> preserved, but the overall mean of each session is 100. In a way, this
> deals with the session offsets in the BOLD signal. Anyways, in order to
> scale this, SPM computes the global mean of each image (using the m-file
> spm_global.m). These global means are the ones you are looking for. They
> are saved with the SPM structure at SPM.xGX.rg. Just type at the Matlab
> prompt 'SPM.xGX.rg' (again without the ') and you will see a vector of your
> global means (of each image).
>
> For go a little further with the scaling issue. The mean across all images
> is scaled to 100 (the value in SPM.xGX.GM). But each session's mean can
> differ from the this global mean. These individual session means are save
> in SPM.xGX.gSF (actually it's a vector of the length Nimages, so for each
> image you have the deviation of the session mean from the global mean.
> Does this make sense?
>
> If you are just looking for the global means of each image, you'll find
> them in the vector SPM.xGX.rg
>
> Cheers,
> Jan
>
> Bastos Leite, Antonio wrote:
>> Dear Jan,
>>
>> As much as I appreciate your efforts to help me, honestly I cannot understand your information completely.
>>
>> Apparently, I should use Matlab, which is something I never did before (besides using it to launch SPM).
>>
>> Surely there are some tutorials on the subject (that I will try to find). Anyway, if you think you can give me some more details on the process to achieve what I need, I would appreciate a lot.
>>
>> Sorry for taking your time and thank you very much again,
>>
>> Antonio
>>
>> -----Mensagem original-----
>> De: Jan Gläscher [mailto:[log in to unmask]]
>> Enviada: sexta-feira, 8 de Setembro de 2006 13:16
>> Para: Bastos Leite, Antonio
>> Assunto: Re: [SPM] Average intensity (for nonzero voxels)
>>
>> Dear Antonio,
>>
>> if I remember correctly, this information is in SPM structure that you find
>> in the Matlab workspace, AFTER 1st level design specification (and Global
>> normalization ("Calculating globals ...")
>>
>> I think, the globals (global means of an image after non-important voxels
>> have been eliminated) are in SPM.xGX.g. The global mean by which each image
>> is scaled is in SPM.xGX.GM, and the scaled means are in SPM.xGX.gSF.
>> Please do some verification on this, as I am not entirely positive about this.
>>
>> Cheers,
>> Jan
>>
>> Bastos Leite, Antonio wrote:
>>> Dear experts,
>>>
>>>
>>>
>>> Again, as a beginner in SPM, I'm very sorry to bother you...
>>>
>>>
>>>
>>> Could you please explain how is it possible to obtain (as a numeric
>>> output) the mean intensity of an image using SPM5 or SPM2?
>>>
>>>
>>>
>>> NB: the aimed value should be the one obtained after excluding voxel
>>> intensities = 0 ...
>>>
>>>
>>>
>>> Best wishes,
>>>
>>>
>>>
>>> Antonio
>>>
>
--
Jan Gläscher, Ph.D. Caltech Brain Imaging Center
+1 (626) 395-4976 (office) Caltech, Broad Center, M/C 114-96
+1 (626) 395-2000 (fax) 1200 California Blvd
[log in to unmask] Pasadena, CA 91125
|