neurostuff / NiMARE

Coordinate- and image-based meta-analysis in Python
https://nimare.readthedocs.io
MIT License
178 stars 57 forks source link

Add cluster mass option for Monte Carlo FWE correction methods #608

Closed tsalo closed 2 years ago

tsalo commented 2 years ago

Summary

I was reading the FSL randomise documentation and they referred to cluster size-based inference as "so passé!" Apparently, cluster mass-based inference is preferable, based on the documentation and on Zhang, Nichols, & Johnson (2009), which I, embarrassingly, hadn't heard of.

It should be pretty easy to calculate maximum cluster mass in each Monte Carlo permutation and retain it in a new null distribution, but I want to make sure that a cluster mass option would be useful before implementing it.

@nicholst would you be willing to weigh in on this?

Additional details

Presumably, this would be a better metric for cluster-level inference.

Next steps

  1. Discuss. If the proposed option is not useful, then close this issue. Otherwise, implement the other steps.
  2. Calculate "cluster mass" within the Monte Carlo FWE correction methods.
  3. Retain maximum cluster mass in a new null distribution.
  4. Calculate cluster masses for the statistical map.
  5. Output the cluster mass-based significance map in the resulting MetaResult.
nicholst commented 2 years ago

I never had seen this cheeky comment on the randomise page! I must assume it is a reference to someone's preference for TFCE, not clustermass per se.

Anyway, yes, in my evaluations, clustermass has always had equivalent or superior power. And, as it is so easy to compute, yes, I'd say worth implimenting.

The only trick, like TFCE, is that it depends on having a sensibly scaled statistic image. Do we have a z-score like image to work with? I mean, it is nonparameric, so it will work with any image, but it's just a good feature if possible.

Also, FWIW, I would pin the better (nonparametric) reference for cluster mass inference to be: Bullmore et al. (1999).

tsalo commented 2 years ago

I must assume it is a reference to someone's preference for TFCE, not clustermass per se.

Ohhh... okay. Still, if cluster mass is better than cluster size, then I'd like to support it.

The only trick, like TFCE, is that it depends on having a sensibly scaled statistic image. Do we have a z-score like image to work with? I mean, it is nonparameric, so it will work with any image, but it's just a good feature if possible.

I am using the ALE (or equivalent) map after applying a voxel-level threshold based on the ALE-to-p conversion. So if we set our cluster defining threshold as 0.001, we then convert that using the ALE-to-p conversion to an ALE value, then threshold the ALE map using that value, and calculate the cluster masses (and sizes) based on that thresholded map.

Should I be summing z-scores instead of ALE values to get cluster masses, though? That might slow things down a bit, since we'd need to add a step to convert each Monte Carlo permutation's ALE map to a z-score map.

Also, FWIW, I would pin the better (nonparametric) reference for cluster mass inference to be: Bullmore et al. (1999).

Can do!

nicholst commented 2 years ago

OK... let's forget the voxel-wise z-transformation. I think it won't make much/any difference to final corrected cluster p-value anyway.

(And, just to clarify, this is still "cluster inference", just assessed with the "cluster mass statistic" as opposed to the "cluster size statistic".)