Print

Print


Correction: the two lines need to be:

global defaults
defaults.stats.topoFDR  = 0;


On Fri, Mar 23, 2018 at 11:08 AM, Thomas Nichols <[log in to unmask]> wrote:
Dear Patrick,

Can someone explain how exactly do we use topological FDR in SPM12? I have tried to follow some old posts but I am a little confused. 

I gather that we first start by looking at the uncorrected results at a small T value (say 3) or else by setting p<0.001. After this we look at the FDRc value at the bottom of the results table. This is the extent threshold value above which all qFDR-corr values (cluster-level) will be less than 0.05. Then we simply re-run the results, select uncorrected, set p<0.001 and set the extent threshold to that FDRc value?

Topological FDR refers to two different types of inference, clusterwise FDR and peak-wise FDR.  You should commit to one or the other before you see the data.

For either clusterwise FDR and peak-wise FDR, you're right, you need to set an uncorrected threshold, p<0.001 is reasonable.

You can peruse the results table seeing which clusters are significant or not according to q_FDR-corr under cluster-level or peak-level. If you'd like to filter the results and only show significant peaks/clusters, then you can re-do results or just go to the interactive window menu, Contrasts -> Significance Level -> Change...

Let's say I'm doing FDR-corrected cluster inference; say I see FDRc of 38 in the footer.  I do "Change ..." and now I set "p-value adjustment" to "none", "threshold {T or p value}" to the cluster-forming threshold I used before, e.g. 0.001, and then I enter the extent threshold FDRc, i.e. 38.

If I'm doing FDR-corrected peak inference; I see FDRp of 8.598 in the footer.  I do "Change ..." and now I set"p-value adjustment" to "none", "threshold {T or p value}" to the FDRp of 8.598, and extent I leave at the default of 0.

In the former, you'll see the same FDR-corrected cluster p-values; in the latter, for FDR-peak inference, I'm afraid the FDR-corrected peak p-values change because they are dependent on the screening threshold... i.e. the critical FDR-corrected peak threshold of 8.598 was dependent on use of a screening threshold of P<0.001, and now that you've changed it, all of your topological FDR p-values will change.


You may find it more rewarding to simply disable topological FDR; for one session, you can use these two lines

global defaults
defaults.stats.topoFDR  = 1;

or, permanently, editing spm_defaults.m so that line 79 reads:

defaults.stats.topoFDR     = 0;

You will then only have FDR-corrected voxel-wise p-values provided, but the will not be dependent on the screening threshold.

-Tom

__________________________________________________________
Thomas Nichols, PhD
Professor of Neuroimaging Statistics
Nuffield Department of Population Health | University of Oxford
Big Data Institute | Li Ka Shing Centre for Health Information and Discovery
Old Road Campus | Headington | Oxford | OX3 7LF | United Kingdom
T: +44 1865 743590 | E: [log in to unmask]
W: http://nisox.org | http://www.bdi.ox.ac.uk



--
__________________________________________________________
Thomas Nichols, PhD
Professor of Neuroimaging Statistics
Nuffield Department of Population Health | University of Oxford
Big Data Institute | Li Ka Shing Centre for Health Information and Discovery
Old Road Campus | Headington | Oxford | OX3 7LF | United Kingdom
T: +44 1865 743590 | E: [log in to unmask]
W: http://nisox.org | http://www.bdi.ox.ac.uk