Question about Nilearn second level inference example

Dear Community,

The Second-level fMRI model: one sample test - Nilearn is very helpful, but one thing confuses me:

The example compares the result of the permutation test statistics with a very strict unconventional bonferroni method and not something like an FDR corrected result:

neg_log_pval = math_img("-np.log10(np.minimum(1, img * {}))"
                        .format(str(n_voxels)),
                        img=p_val)

Why aren’t the permutation results compared to an FDR corrected parametric test?

And is this possible with the math_img function? Or should I implement a custom function that works something like this: statistics - Calculating adjusted p-values in Python - Stack Overflow

Kind regards,

-Jelle

Hi,
This is because the permutation test offers a guarantee on the FWER. Hence you want to compare the classical parametric FWER thresholds with the adaptive one obtained by the permutation procedure.
FDR is another type of control, which somehow interpolate between FWER and uncorrected control. The classical BH is not 100% optimal, but it generally does the job well enough that you don’t have to resort to non-parametric procedures.
Does that make sense ?
Bertrand

Sort of. It just seemed weird to me to compare it to something that is not used often in practice (since it’s overly strict).

But I get the logic now. Thanks!