Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add SDM-PSI Estimator #591

Draft
wants to merge 61 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
52b0ef8
Start working on SDM anisotropic kernel.
tsalo Nov 18, 2020
02c5595
Merge branch 'neurostuff:main' into sdm
tsalo Oct 27, 2021
721ebcf
Run black and improve docstring.
tsalo Oct 29, 2021
0a9b40a
Merge branch 'main' into sdm
tsalo Dec 19, 2021
26cb5e8
Start looking at the Albajes-Eizagirre et al. (2019) supplement.
tsalo Dec 19, 2021
907ac54
Improve documentation a bit.
tsalo Dec 20, 2021
61e8d7d
Use PyMARE instead of metafor's rma.
tsalo Dec 21, 2021
ca6ddc0
Get the permutation functions working.
tsalo Dec 21, 2021
8c530f6
Draft hedges g function.
tsalo Dec 21, 2021
b5be408
Use formulae from wikipedia for hedges' g.
tsalo Dec 21, 2021
f0eee9c
Add empty functions for calculating Hedges g to transforms.
tsalo Dec 21, 2021
b3cf2a7
Try improving Hedges g functions.
tsalo Dec 21, 2021
2067196
Add simulation code (thanks @JulioAPeraza!).
tsalo Dec 22, 2021
57f5d89
Get the simulations working.
tsalo Jan 14, 2022
910a44a
Support different sample sizes per study.
tsalo Jan 14, 2022
0e9207d
I think the single-voxel imputation makes sense now.
tsalo Jan 15, 2022
05260fc
Lots of progress on the simulations.
tsalo Jan 15, 2022
0f0f49a
Update sdm.py
tsalo Jan 15, 2022
3e0a1a2
Document some stuff.
tsalo Jan 16, 2022
1575455
Import stuff.
tsalo Jan 16, 2022
1996c6f
Update setup.cfg
tsalo Jan 16, 2022
e87eea7
Update sdm.py
tsalo Jan 16, 2022
c1c61ed
Some notes.
tsalo Jan 16, 2022
f8b4dd6
Fix the simulated data.
tsalo Jan 16, 2022
61a2769
Documentation improvements.
tsalo Jan 16, 2022
f600bd3
Update sdm.py
tsalo Jan 16, 2022
0d3feb3
Just use the masker to simulate the subject data.
tsalo Jan 18, 2022
fe22b9c
Merge branch 'main' into sdm
tsalo Mar 3, 2022
cb38ec0
Remove supplement R values.
tsalo Mar 3, 2022
679f051
Update sdm.py
tsalo Mar 3, 2022
afa59ca
Run black.
tsalo Mar 3, 2022
4c315fb
Merge branch 'main' into sdm
tsalo Mar 8, 2022
e74be9c
Update sdm.py
tsalo Mar 8, 2022
1855caf
Test out the simulation method.
tsalo Mar 30, 2022
c6d9371
Keep working on the simulation code.
tsalo Mar 30, 2022
e575b0e
Add some tests.
tsalo Mar 30, 2022
34547dc
Update sdm.py
tsalo Mar 30, 2022
a24104f
docstrings.
tsalo Mar 30, 2022
1e0c9cc
Try writing _calculate_hedges_maps.
tsalo May 11, 2022
6df11b3
Run black.
tsalo May 11, 2022
59777cf
Merge remote-tracking branch 'upstream/main' into sdm
tsalo May 11, 2022
c350dd9
Update.
tsalo May 11, 2022
58d9bb4
Update.
tsalo May 11, 2022
63e878e
Move some functions.
tsalo May 11, 2022
d4c2c65
More.
tsalo May 11, 2022
103f5b9
Update sdm.py
tsalo May 13, 2022
267ceaf
Update setup.cfg
tsalo May 14, 2022
7e7a6ac
Update sdm.py
tsalo May 16, 2022
eb52eb9
Update sdm.py
tsalo May 16, 2022
3410c6b
Update test_sdm.py
tsalo May 17, 2022
177c3cc
Update sdm.py
tsalo May 17, 2022
6119e7c
Update sdm.py
tsalo May 17, 2022
ff933c7
Update test_sdm.py
tsalo May 17, 2022
6f7993c
Minor stuff from last night.
tsalo May 18, 2022
54bc79c
More stuff.
tsalo May 18, 2022
ef2e5ab
Update.
tsalo May 19, 2022
ec769ba
Just use PyMARE for the heterogeneity stats.
tsalo May 23, 2022
57d0ebb
Update sdm.py
tsalo May 24, 2022
8bcb8e3
Update sdm.py
tsalo May 24, 2022
2861950
Merge remote-tracking branch 'upstream/main' into sdm
tsalo Aug 12, 2022
ee28f73
[skip ci] Update sdm.py.
tsalo Aug 12, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions docs/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,11 @@ For more information about the components of coordinate-based meta-analysis in N
meta.ibma
meta.cbma.ale
meta.cbma.mkda
meta.cbma.sdm
meta.cbma.sdm_simulations
meta.cbma.base
meta.kernel
meta.utils

.. _api_results_ref:

Expand Down
5 changes: 5 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
"sphinx.ext.intersphinx", # links code to other packages
"sphinx.ext.linkcode", # links to code from api
"sphinx.ext.napoleon", # alternative to numpydoc
"sphinx.ext.todo", # todo directives, only for in-progress SDM implementation
"sphinx_copybutton", # for copying code snippets
"sphinx_gallery.gen_gallery", # example gallery
"sphinxarg.ext", # argparse
Expand Down Expand Up @@ -240,3 +241,7 @@ def generate_example_rst(app, what, name, obj, options, lines):
if not os.path.exists(examples_path):
# touch file
open(examples_path, "w").close()


todo_include_todos = True
todo_emit_warnings = False
82 changes: 82 additions & 0 deletions docs/references.bib
Original file line number Diff line number Diff line change
@@ -1,3 +1,39 @@
@article{albajes2019meta,
title={Meta-analysis of voxel-based neuroimaging studies using seed-based d mapping with permutation of subject images (SDM-PSI)},
author={Albajes-Eizagirre, Anton and Solanes, Aleix and Fullana, Miquel Angel and Ioannidis, John PA and Fusar-Poli, Paolo and Torrent, Carla and Sol{\'e}, Brisa and Bonn{\'\i}n, Caterina Mar and Vieta, Eduard and Mataix-Cols, David and others},
journal={JoVE (Journal of Visualized Experiments)},
number={153},
pages={e59841},
year={2019},
url={https://doi.org/10.3791/59841},
doi={10.3791/59841}
}

@article{albajes2019meta2,
title={Meta-analysis of non-statistically significant unreported effects},
author={Albajes-Eizagirre, Anton and Solanes, Aleix and Radua, Joaquim},
journal={Statistical methods in medical research},
volume={28},
number={12},
pages={3741--3754},
year={2019},
publisher={SAGE Publications Sage UK: London, England},
url={https://doi.org/10.1177%2F0962280218811349},
doi={10.1177%2F0962280218811349}
}

@article{albajes2019voxel,
title={Voxel-based meta-analysis via permutation of subject images (PSI): theory and implementation for SDM},
author={Albajes-Eizagirre, Anton and Solanes, Aleix and Vieta, Eduard and Radua, Joaquim},
journal={Neuroimage},
volume={186},
pages={174--184},
year={2019},
publisher={Elsevier},
url={https://doi.org/10.1016/j.neuroimage.2018.10.077},
doi={10.1016/j.neuroimage.2018.10.077}
}

@article{amft2015definition,
title={Definition and characterization of an extended social-affective default network},
author={Amft, Maren and Bzdok, Danilo and Laird, Angela R and Fox, Peter T and Schilbach, Leonhard and Eickhoff, Simon B},
Expand Down Expand Up @@ -83,6 +119,17 @@ @article{bullmore1999global
doi={10.1109/42.750253}
}

@article{cochran1954combination,
title={The combination of estimates from different experiments},
author={Cochran, William G},
journal={Biometrics},
volume={10},
number={1},
pages={101--129},
year={1954},
publisher={JSTOR}
}

@article{dersimonian1986meta,
title={Meta-analysis in clinical trials},
author={DerSimonian, Rebecca and Laird, Nan},
Expand Down Expand Up @@ -172,6 +219,17 @@ @book{hedges2014statistical
publisher={Academic press}
}

@article{higgins2002quantifying,
title={Quantifying heterogeneity in a meta-analysis},
author={Higgins, Julian PT and Thompson, Simon G},
journal={Statistics in medicine},
volume={21},
number={11},
pages={1539--1558},
year={2002},
publisher={Wiley Online Library}
}

@article{hughett2008accurate,
title={Accurate computation of the F-to-z and t-to-z transforms for large arguments},
author={Hughett, Paul},
Expand Down Expand Up @@ -221,6 +279,18 @@ @article{langner2014meta
doi={10.1016/j.neuroimage.2014.06.007}
}

@article{marshall2009combining,
title={Combining estimates of interest in prognostic 498 modelling studies after multiple imputation: current practice and guidelines},
author={Marshall, A and Altman, DG and Holder, RL and Royston, P},
journal={BMC Med Res 499 Methodol},
volume={9},
number={57},
pages={500},
year={2009},
url={https://doi.org/10.1186/1471-2288-9-57},
doi={10.1186/1471-2288-9-57}
}

@article{newman2009distributed,
title={Distributed algorithms for topic models.},
author={Newman, David and Asuncion, Arthur and Smyth, Padhraic and Welling, Max},
Expand Down Expand Up @@ -266,6 +336,18 @@ @article{poldrack2012discovering
doi={10.1371/journal.pcbi.1002707}
}

@article{radua2014anisotropic,
title={Anisotropic kernels for coordinate-based meta-analyses of neuroimaging studies},
author={Radua, Joaquim and Rubia, Katya and Canales, Erick Jorge and Pomarol-Clotet, Edith and Fusar-Poli, Paolo and Mataix-Cols, David},
journal={Frontiers in psychiatry},
volume={5},
pages={13},
year={2014},
publisher={Frontiers},
url={https://doi.org/10.3389/fpsyt.2014.00013},
doi={10.3389/fpsyt.2014.00013}
}

@article{rubin2017decoding,
title={Decoding brain activity using a large-scale probabilistic functional-anatomical atlas of human cognition},
author={Rubin, Timothy N and Koyejo, Oluwasanmi and Gorgolewski, Krzysztof J and Jones, Michael N and Poldrack, Russell A and Yarkoni, Tal},
Expand Down
3 changes: 2 additions & 1 deletion nimare/meta/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Coordinate-, image-, and effect-size-based meta-analysis estimators."""

from . import ibma, kernel
from .cbma import ALE, KDA, SCALE, ALESubtraction, MKDAChi2, MKDADensity, ale, mkda
from .cbma import ALE, KDA, SCALE, ALESubtraction, MKDAChi2, MKDADensity, ale, mkda, sdm
from .ibma import (
DerSimonianLaird,
Fishers,
Expand Down Expand Up @@ -36,4 +36,5 @@
"ibma",
"ale",
"mkda",
"sdm",
]
3 changes: 2 additions & 1 deletion nimare/meta/cbma/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
"""Coordinate-based meta-analytic estimators."""
from .ale import ALE, SCALE, ALESubtraction
from .mkda import KDA, MKDAChi2, MKDADensity
from .sdm import run_sdm

__all__ = ["ALE", "ALESubtraction", "SCALE", "MKDADensity", "MKDAChi2", "KDA"]
__all__ = ["ALE", "ALESubtraction", "SCALE", "MKDADensity", "MKDAChi2", "KDA", "run_sdm"]
Loading