tresholding conjunction analysis

501 views
Skip to first unread message

Nabila Brihmat

unread,
Oct 31, 2016, 6:46:13 AM10/31/16
to Statistical Nonparametric Mapping
Dear SnPM experts,

I know that this question has already been discussed, i'm sorry but i have some extra questions regarding my results :

I have the results of two contrasts of interest (two snpm_filtered statistic pseudo-t images, tresholded at an uncorrected non parametric p-value of 0.001 and FWE corrected at 0.05) .I conducted a conjuction analysis using "ImCalc" like you recommand with the uncorrected images as input images and using the expression "max(i1, i2)"

First, am i right to use the uncorrected result images instead of the corrected ones for the analysis ?
At what treshold does the resulting image is written ? when i display the image in spm, is it the same treshold used ?
is there a way to get the table of significant SPM results ?

Thanks a lot for your replay,

Best,

Nabila

Thomas Nichols

unread,
Oct 31, 2016, 1:08:11 PM10/31/16
to Nabila Brihmat, Statistical Nonparametric Mapping
Hi Nabila,

I have the results of two contrasts of interest (two snpm_filtered statistic pseudo-t images, tresholded at an uncorrected non parametric p-value of 0.001 and FWE corrected at 0.05) .

I need some help understanding further what you've done.  I can't figure out how you can do *both* a uncorrected nonparametric p-value threshold *and* a FWE corrected threshold... did you do a cluster inference?
 
I conducted a conjuction analysis using "ImCalc" like you recommand with the uncorrected images as input images and using the expression "max(i1, i2)"

If I can assume that you are using the uncorrected nonparametric P-values, recall that these come in the form of "lP+" image, -log10 P-value images.  So if you've loaded up two lP+ images, the expression would be "max(10.^(-i1),10.^(-i2))".

First, am i right to use the uncorrected result images instead of the corrected ones for the analysis ?

If you can be satisfied with uncorrected... I won't be... however, they could be subsequently subjected to FDR thresholding (though, however, even FDR usually struggles to find any significance with conjunction inferences).  You'll have to manually run FDR, though, as you're outside of the routine SnPM tool.  It would be something like

spm_imcalc_ui({'path/to/lP+.img','other/path/to/lP+.img'},'ConjP.img','max(10.^(-i1),10.^(-i2))',{[],[],[],spm_type('float')})
spm_imcalc_ui({'path/to/mask.img','other/path/to/mask.img'},'mask_common.img','min(i1,i1)')
VM=spm_vol('mask_common.img');
VP=spm_vol('ConjP.img');
u=spm_uc_FDR(0.05,NaN,'P',2,VP,VM);

But, I just noticed that there's a bug in spm_uc_FDR (for this use with P-value images, that actually never occurs with SPM), so please use the attache spm_uc_FDR.m.

At what treshold does the resulting image is written ? when i display the image in spm, is it the same treshold used ?
is there a way to get the table of significant SPM results ?

I fear once you're outside of SPM you won't get the table of results... sorry to say!  

-Tom
 

Thanks a lot for your replay,

Best,

Nabila

--
You received this message because you are subscribed to the Google Groups "Statistical Nonparametric Mapping" group.
To unsubscribe from this group and stop receiving emails from it, send an email to snpm-support+unsubscribe@googlegroups.com.
To post to this group, send email to snpm-s...@googlegroups.com.
Visit this group at https://groups.google.com/group/snpm-support.
To view this discussion on the web, visit https://groups.google.com/d/msgid/snpm-support/ba0cfba4-2079-48bd-8553-7671b02e3fc9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
__________________________________________________________
Thomas Nichols, PhD
Professor, Head of Neuroimaging Statistics
Department of Statistics & Warwick Manufacturing Group
University of Warwick, Coventry  CV4 7AL, United Kingdom

Email: t.e.n...@warwick.ac.uk
Tel, Stats: +44 24761 51086, WMG: +44 24761 50752
Fx,  +44 24 7652 4532

spm_uc_FDR.m

Thomas Nichols

unread,
Oct 31, 2016, 1:13:04 PM10/31/16
to Nabila Brihmat, Statistical Nonparametric Mapping
PS: Actually... I'm wrong, the SPM code spm_uc_FDR.m is fine... you can use the one that comes with SPM.

Thomas Nichols

unread,
Nov 2, 2016, 6:38:25 AM11/2/16
to Nabila ..., snpm-support
Dear Nabila,

I made 2 sets of analysis using an FWE corrected threshold first then an uncorrected one. so, two different statistical images were written.
If I want to achieve conjunction
analysis with the corrected results,  what image do i have to choose ? the IP_FWE+ image or the SnpmT+ ?
the resulting image is thresholded at the same significance level as the input image ?

This is much clearer now.  If you use the IP_FWE+ images to construct a conjunction, i.e. taking the intersection of locations significant in two different  IP_FWE+ images, the resulting images will indeed have the expected FWE control of the conjunction null.

HOWEVER, this is the case for voxel-wise inference.  For cluster-wise inference, you'd have to re-assess the size of clusters, and only retain the clusters that were sufficiently large.  There is no perfect way to do this... the best practical way to find the critical cluster size threshold is to take the larger of the cluster size thresholds obtained from the two different analyses.  You can find this at the bottom of the results page (if doing cluster size inference), reported as the "Critical STCS" (critical supra-threshold cluster size).

-Tom
 

Thanks,

Nabila




Le 31/10/2016 à 18:08, Thomas Nichols a écrit :
Hi Nabila,

I have the results of two contrasts of interest (two snpm_filtered statistic pseudo-t images, tresholded at an uncorrected non parametric p-value of 0.001 and FWE corrected at 0.05) .

I need some help understanding further what you've done.  I can't figure out how you can do *both* a uncorrected nonparametric p-value threshold *and* a FWE corrected threshold... did you do a cluster inference?
 
I conducted a conjuction analysis using "ImCalc" like you recommand with the uncorrected images as input images and using the expression "max(i1, i2)"

If I can assume that you are using the uncorrected nonparametric P-values, recall that these come in the form of "lP+" image, -log10 P-value images.  So if you've loaded up two lP+ images, the expression would be "max(10.^(-i1),10.^(-i2))".

First, am i right to use the uncorrected result images instead of the corrected ones for the analysis ?

If you can be satisfied with uncorrected... I won't be... however, they could be subsequently subjected to FDR thresholding (though, however, even FDR usually struggles to find any significance with conjunction inferences).  You'll have to manually run FDR, though, as you're outside of the routine SnPM tool.  It would be something like

spm_imcalc({'path/to/lP+.img','other/path/to/lP+.img'},'ConjP.img','max(10.^(-i1),10.^(-i2))',{[],[],[],spm_type('float')})
spm_imcalc({'path/to/mask.img','other/path/to/mask.img'},'mask_common.img','min(i1,i1)')
VM=spm_vol('mask_common.img');

Nabila ...

unread,
Nov 2, 2016, 9:50:42 AM11/2/16
to Thomas Nichols, snpm-support

Dear Tom,

Thanks for your advices.

So, i followed your method but now i have an other problem, i think with the expression used in "ImCalc" :

when i used the two IP_FWE+ images and used the expression "max(10.^(-i1),10.^(-i2))", i obtain an image that didn't resemble what the conjunction analysis should give (see image below) but when i tried with the expression "max(i1, i2)" (without taking into account the logarithmic nature of the results, which is probably wrong), i obtained the second image  which i think, is more realistic.

have you an idea of the nature of the problem ?

Thanks again,

Nabila

  

Thomas Nichols

unread,
Nov 2, 2016, 4:50:31 PM11/2/16
to Nabila ..., snpm-support
Dear Nabila,

Ah!  My expression converts the -log10 P-values to P-values, but then doesn't convert back!  Try this expression instead:

-log10(max(10.^(-i1),10.^(-i2)))

-Tom 


For more options, visit https://groups.google.com/d/optout.

Nabila ...

unread,
Nov 4, 2016, 8:34:29 AM11/4/16
to Thomas Nichols, snpm-support

Dear Tom,

Yes this is much better. Thank you for all these clarifications.

Best,

Nabila

fno...@umich.edu

unread,
Nov 2, 2017, 11:40:15 AM11/2/17
to Statistical Nonparametric Mapping
Dear Dr. Nichols,

I have a follow up question on the conjunction thresholding discussion:

I'm using snpm_filtered images with unc. p<.005 (unfortunately that's the highest threshold that I can choose to get some effects, I don't have enough power to get any effects with corrected threshold).

Am I correct to use the function "max(10.^(-i1),10.^(-i2))" for my conjunction analysis? Since I'm not using lP+.img or FWE+.img as my input, would it make more sense to use "max(i1,i2)"? With "max(i1,i2)" I get higher t-value of course.

And since there is no table of results, any suggestions on how to report the results (coordinates, cluster size, etc.)?


Inline image 1


Thomas Nichols

unread,
Nov 23, 2017, 4:28:38 AM11/23/17
to fno...@umich.edu, Statistical Nonparametric Mapping
Hi,

So sorry for the delay!

I have a follow up question on the conjunction thresholding discussion:

I'm using snpm_filtered images with unc. p<.005 (unfortunately that's the highest threshold that I can choose to get some effects, I don't have enough power to get any effects with corrected threshold).

Am I correct to use the function "max(10.^(-i1),10.^(-i2))" for my conjunction analysis? Since I'm not using lP+.img or FWE+.img as my input, would it make more sense to use "max(i1,i2)"?  With "max(i1,i2)" I get higher t-value of course.

If you feed in lP+ then you need "max(10.^(-i1),10.^(-i2))", but if you're using T image then you of course need to use the *minimum*, i.e. "min(i1,i2)".

Does this help?
 
And since there is no table of results, any suggestions on how to report the results (coordinates, cluster size, etc.)?

I fear this is not possible with SnPM.  Do check out the SPM Extensions... I think there are probably several that offer functionality like this; see for example bspmview ... the full list is here: http://www.fil.ion.ucl.ac.uk/spm/ext/

-Tom

 


Inline image 1



--
You received this message because you are subscribed to the Google Groups "Statistical Nonparametric Mapping" group.
To unsubscribe from this group and stop receiving emails from it, send an email to snpm-support+unsubscribe@googlegroups.com.
To post to this group, send an email to snpm-s...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
__________________________________________________________
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
Message has been deleted

Thomas Nichols

unread,
Jun 19, 2020, 12:57:22 PM6/19/20
to colmmc...@gmail.com, Statistical Nonparametric Mapping
Dear Nablia,

Can I please follow with a related query...
I have four continuous, but related variables that I reduced to a single component via PCA prior to performing simple regression in SnPM. One of our Reviewers has asked instead that I perform a conjunction analysis. As I'm not very familiar with this, are there any strong pros- or cons- to doing so? I note Tom's comments about FDR correction below and that it is difficult to obtain cluster coordinates etc.

I think I understand how to perform the procedure using IP+ images as described below. Probably a silly question, do your individual tests need to pass some threshold e.g. p < 0.05 for use as input in the conjunction analysis? E.g. could I test for weaker but shared effects with a more lenient p threshold, if I then perform FDR on the conjunction results?

The 'official' conjunction inferences are those obtained by the intersection of FWE voxel-wise thresholded maps.  That is, you'll run 4 separate SnPM analyses and each one will produce a map of voxelwise FWE-significant voxels, and then you take the intersection of those.

If you have 4 different SnPM analyses, you'll have 4 different nonparametric voxelwise uncorrected p-values, lP+.img from each analysis.  If you take the maximum of 4 such images, you could then submit that to FDR correction (e.g. http://www.nisox.org/Software/fdr/). 

The other approach, taking the intersection of cluster-wise-signficant maps, or intersection of individual FDR-significant maps, doesn't have a formal justification.

Does this help?

-Tom
 

Many thanks for all advice, and sorry for any misunderstandings,
Best wishes,
Colm

--
You received this message because you are subscribed to the Google Groups "Statistical Nonparametric Mapping" group.
To unsubscribe from this group and stop receiving emails from it, send an email to snpm-support...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/snpm-support/9ccf1171-3adf-4a0b-80b1-3d7c49148c94o%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages