neurostuff / NiMARE

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

Meta-analytic parcellation based on text #263

Open tsalo opened 4 years ago

tsalo commented 4 years ago

Add MAPBOT algorithm, as described in Yuan et al. (2017).

References

Yuan, Rui, et al. “MAPBOT: Meta-analytic parcellation based on text, and its application to the human thalamus.” NeuroImage 157 (2017): 716-732. https://doi.org/10.1016/j.neuroimage.2017.06.032

tsalo commented 4 years ago

Here is my understanding of the method:

MAPBOT uses both the reported foci for studies, as well as associated term weights. Here are the steps:

  1. For each voxel in the mask, identify studies in dataset corresponding to that voxel. Selection criteria can be either based on a distance threshold (e.g., all studies with foci within 5mm of voxel) or based on a minimum number of studies (e.g., the 50 studies reporting foci closest to the voxel).
  2. For each voxel, compute average frequency of each term across selected studies. This results in an n_voxels X n_terms frequency matrix F.
  3. Compute n_voxels X n_voxels value matrix V:
    • D = (F.T F) ones(F)
    • V = F * D^-.5
  4. Perform non-negative matrix factorization on value matrix.