Hi Joel,
> I think iGXcalc is reset in spm_config_factorial_design.m, line 1411, where
> it is set to = 3 when a relative threshold is set, and user entered values
> are then ignored.
>
> I would still like to set a relative threshold to mask out low intensities
> as I believe I did in SPM2.
Do you want your relative threshold masking to be based on your
user-specified globals, or the spm_global (mean of voxels above an
eighth of the original mean) values?
For the former, perhaps line 1411 should be replaced with something like:
if iGXcalc == 1 % if omit
iGXcalc=3; % force use of spm_global
end
For the latter, I think you could replace g with your user-specified
globals from job.globalc.g_user.global_uval; after rg is set (line
1449). Since it seems to me that rg is used for relative threshold
masking (and stored in the SPM structure), but g is used for the
scaling (line 1523 etc.). Though I might be missing something here...
Alternatively (possibly more safely) I think you could get either of
these effects by modifying the images outside of the SPM machinery.
E.g. you could re-scale the intensities (either with imcalc, or with
modification of the .pinfo scaling factors) to get whatever global
normalisation you wanted, and before/after use imcalc to mask the
voxels below whatever relative threshold you wanted, by setting
out-of-mask voxels to NaN. Then use implicit masking, and no scaling
in SPM.
Hope that helps,
Ged.
P.S. Sorry I missed this newer post of yours, when I replied off-list
to your older one.
|