OSCR

Clarifying and extending permutation tests on brain map correspondence through mixed-effects modeling.

Code ↔ Paper

2 matches between paragraphs of the paper and lines of its authors' code, computed by the harvester (lexical-v1). Click a colored paragraph or line to see its counterpart.

The 2 matches
  1. [1] § Brain Map Correspondence in HCP Data › Correspondence between subject-specific brain maps ↔ python-implementation/bootstrap_inference/utils.py, lines 84–122 · score 0.61 · confidence intervals, cross terms, interaction subject, CI, residuals, bootstrap
  2. [2] § Brain Map Correspondence in HCP Data › Correspondence between subject-specific brain maps ↔ python-implementation/bootstrap_inference/utils.py, lines 84–122 · score 0.58 · confidence intervals, cross term, interaction subject, residuals, bootstrap

Paper

Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

Python · 336 lines · 13 KB · no license · 2 matches

  1. #!/usr/bin/env python3
  2. """
  3. Utility Functions for Bootstrap Brain Inference
  4. ================================================
  5. This module provides utility functions for:
  6. - JSON-safe type conversion
  7. - Result formatting and export
  8. - Summary generation
  9. """
  10. from __future__ import annotations
  11. from typing import Any, Dict
  12. from pathlib import Path
  13. from datetime import datetime
  14. import json
  15. import numpy as np
  16. # JSON-Safe Type Conversion
  17. def json_safe(obj: Any) -> Any:
  18. # Base types that are already JSON-safe
  19. if isinstance(obj, (bool, int, float, str)) or obj is None:
  20. return obj
  21. # NumPy types
  22. if isinstance(obj, (np.integer, np.floating, np.bool_)):
  23. return obj.item()
  24. if isinstance(obj, np.ndarray):
  25. return obj.tolist()
  26. # Collections
  27. if isinstance(obj, (list, tuple)):
  28. return [json_safe(v) for v in obj]
  29. if isinstance(obj, dict):
  30. return {str(k): json_safe(v) for k, v in obj.items()}
  31. # Path objects
  32. if isinstance(obj, Path):
  33. return str(obj)
  34. # Fallback: try to convert to string
  35. return str(obj)
  36. # Result Formatting
  37. def format_population_test_results(results: Dict[str, Any]) -> Dict[str, Any]:
  38. return {
  39. "inference_type": "population_mean",
  40. "timestamp": datetime.now().isoformat(),
  41. "bootstrap_parameters": {
  42. "B": results["B"],
  43. "alpha": results["alpha"],
  44. "ci_level": results["ci_level"],
  45. },
  46. "null_hypothesis": {
  47. "interval": results["null_interval"],
  48. "description": f"H0: rho in [{results['null_interval'][0]}, {results['null_interval'][1]}]"
  49. },
  50. "observed_statistic": {
  51. "correlation": results["rho_obs"],
  52. "description": "Corr(X_bar, Y_bar)"
  53. },
  54. "confidence_interval": {
  55. "lower": results["ci"][0],
  56. "upper": results["ci"][1],
  57. "level": results["ci_level"],
  58. },
  59. "hypothesis_test": {
  60. "reject": results["reject"],
  61. "decision": "Reject H0" if results["reject"] else "Fail to reject H0"
  62. },
  63. }
  64. def format_subject_specific_test_results(results: Dict[str, Any]) -> Dict[str, Any]:
  65. test_descriptions = {
  66. "rho_beta_beta": {"name": "H0^1: beta_X indep beta_Y", "description": "Main subject effects independence"},
  67. "rho_omega_omega": {"name": "H0^2: omega_X indep omega_Y", "description": "Interaction subject effects independence"},
  68. "rho_epsilon_epsilon": {"name": "H0^3: eps_X indep eps_Y", "description": "Residuals independence"},
  69. "rho_epsilonX_omegaY": {"name": "H0^4: eps_X indep omega_Y", "description": "Cross-term 1 independence"},
  70. "rho_epsilonY_omegaX": {"name": "H0^5: eps_Y indep omega_X", "description": "Cross-term 2 independence"},
  71. }
  72. formatted_tests = {}
  73. for key in results["rho_obs"].keys():
  74. formatted_tests[key] = {
  75. "hypothesis": test_descriptions[key],
  76. "observed_statistic": results["rho_obs"][key],
  77. "confidence_interval": {
  78. "lower": results["ci"][key][0],
  79. "upper": results["ci"][key][1],
  80. "level": results["ci_level"],
  81. },
  82. "hypothesis_test": {
  83. "reject": results["reject"][key],
  84. "decision": "Reject H0" if results["reject"][key] else "Fail to reject H0"
  85. }
  86. }
  87. return {
  88. "inference_type": "subject_specific",
  89. "timestamp": datetime.now().isoformat(),
  90. "bootstrap_parameters": {
  91. "B": results["B"],
  92. "alpha": results["alpha"],
  93. "ci_level": results["ci_level"],
  94. },
  95. "tests": formatted_tests,
  96. "summary": {
  97. "n_tests": len(results["rho_obs"]),
  98. "n_rejections": sum(results["reject"].values()),
  99. }
  100. }
  101. def format_overall_test_results(results: Dict[str, Any]) -> Dict[str, Any]:
  102. test_descriptions = {
  103. "rho_beta_beta": {"name": "H0^1: beta_X indep beta_Y", "description": "Main subject effects independence"},
  104. "rho_omega_omega": {"name": "H0^2: omega_X indep omega_Y", "description": "Interaction subject effects independence"},
  105. "rho_epsilon_epsilon": {"name": "H0^3: eps_X indep eps_Y", "description": "Residuals independence"},
  106. "rho_epsilonX_omegaY": {"name": "H0^4: eps_X indep omega_Y", "description": "Cross-term 1 independence"},
  107. "rho_epsilonY_omegaX": {"name": "H0^5: eps_Y indep omega_X", "description": "Cross-term 2 independence"},
  108. }
  109. n_tests = len(results["rho_obs"])
  110. alpha_bonferroni = results["alpha"] / n_tests
  111. formatted_tests = {}
  112. for key in results["rho_obs"].keys():
  113. formatted_tests[key] = {
  114. "hypothesis": test_descriptions[key],
  115. "observed_statistic": results["rho_obs"][key],
  116. "bonferroni_corrected_ci": {
  117. "lower": results["ci"][key][0],
  118. "upper": results["ci"][key][1],
  119. "level": results["ci_bonferroni_level"],
  120. "alpha_per_test": alpha_bonferroni,
  121. },
  122. "hypothesis_test": {
  123. "reject": results["reject"][key],
  124. "decision": "Reject H0" if results["reject"][key] else "Fail to reject H0"
  125. }
  126. }
  127. return {
  128. "inference_type": "overall_with_bonferroni",
  129. "timestamp": datetime.now().isoformat(),
  130. "bootstrap_parameters": {
  131. "B": results["B"],
  132. "alpha": results["alpha"],
  133. "n_tests": n_tests,
  134. "alpha_bonferroni": alpha_bonferroni,
  135. "ci_bonferroni_level": results["ci_bonferroni_level"],
  136. },
  137. "overall_null_hypothesis": {
  138. "description": "H0: beta_X indep beta_Y AND omega_X indep omega_Y AND eps_X indep eps_Y AND eps_X indep omega_Y AND eps_Y indep omega_X",
  139. "components": list(test_descriptions.values())
  140. },
  141. "tests": formatted_tests,
  142. "overall_result": {
  143. "reject": results["overall_reject"],
  144. "n_rejections": results["n_rejections"],
  145. "decision": "Reject H0" if results["overall_reject"] else "Fail to reject H0",
  146. "interpretation": (
  147. "At least one component shows significant dependence"
  148. if results["overall_reject"]
  149. else "No significant subject-specific correspondence detected"
  150. )
  151. }
  152. }
  153. # JSON Export
  154. def save_results_to_json(
  155. results: Dict[str, Any],
  156. filepath: Path,
  157. inference_type: str = "auto"
  158. ) -> None:
  159. filepath = Path(filepath)
  160. filepath.parent.mkdir(parents=True, exist_ok=True)
  161. # Auto-detect test type if needed
  162. if inference_type == "auto":
  163. if "overall_reject" in results:
  164. inference_type = "overall"
  165. elif "null_interval" in results:
  166. inference_type = "population"
  167. else:
  168. inference_type = "subject_specific"
  169. # Format based on type
  170. if inference_type == "population":
  171. formatted = format_population_test_results(results)
  172. elif inference_type == "subject_specific":
  173. formatted = format_subject_specific_test_results(results)
  174. elif inference_type == "overall":
  175. formatted = format_overall_test_results(results)
  176. else:
  177. raise ValueError(f"Unknown inference_type: {inference_type}")
  178. # Convert to JSON-safe and save
  179. formatted_safe = json_safe(formatted)
  180. with open(filepath, "w", encoding="utf-8") as f:
  181. json.dump(formatted_safe, f, indent=2, ensure_ascii=False)
  182. print(f"Results saved to: {filepath}")
  183. # Text Summary Generation
  184. def generate_summary_text(results: Dict[str, Any], inference_type: str = "auto") -> str:
  185. # Auto-detect test type
  186. if inference_type == "auto":
  187. if "overall_reject" in results:
  188. inference_type = "overall"
  189. elif "null_interval" in results:
  190. inference_type = "population"
  191. else:
  192. inference_type = "subject_specific"
  193. lines = []
  194. lines.append("=" * 70)
  195. lines.append(" Bootstrap-Based Inference Results")
  196. lines.append("=" * 70)
  197. lines.append(f" Generated: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
  198. lines.append("")
  199. if inference_type == "population":
  200. lines.append(" Test Type: Population-Mean Brain Map Correspondence")
  201. lines.append("")
  202. lines.append(" Bootstrap Parameters:")
  203. lines.append(f" B (resamples): {results['B']}")
  204. lines.append(f" Significance: alpha = {results['alpha']}")
  205. lines.append(f" CI level: {results['ci_level']*100:.1f}%")
  206. lines.append("")
  207. lines.append(" Null Hypothesis:")
  208. lines.append(f" H0: rho in [{results['null_interval'][0]}, {results['null_interval'][1]}]")
  209. lines.append("")
  210. lines.append(" Results:")
  211. lines.append(f" Observed rho_hat: {results['rho_obs']:.6f}")
  212. lines.append(f" {int(results['ci_level']*100)}% CI: [{results['ci'][0]:.6f}, {results['ci'][1]:.6f}]")
  213. lines.append(f" Decision: {'REJECT H0' if results['reject'] else 'FAIL TO REJECT H0'}")
  214. elif inference_type in ["subject_specific", "overall"]:
  215. is_bonferroni = (inference_type == "overall")
  216. if is_bonferroni:
  217. lines.append(" Test Type: Overall Subject-Specific (Bonferroni Corrected)")
  218. n_tests = len(results['rho_obs'])
  219. alpha_bonf = results['alpha'] / n_tests
  220. lines.append("")
  221. lines.append(" Bonferroni Correction:")
  222. lines.append(f" Family-wise alpha: {results['alpha']}")
  223. lines.append(f" Number of tests: {n_tests}")
  224. lines.append(f" alpha per test: {alpha_bonf:.6f}")
  225. lines.append(f" CI level per test: {results['ci_bonferroni_level']*100:.2f}%")
  226. else:
  227. lines.append(" Test Type: Subject-Specific Brain Map Correspondence")
  228. lines.append("")
  229. lines.append(" Bootstrap Parameters:")
  230. lines.append(f" B (resamples): {results['B']}")
  231. lines.append(f" Significance: alpha = {results['alpha']} (per test)")
  232. lines.append(f" CI level: {results['ci_level']*100:.1f}%")
  233. lines.append("")
  234. lines.append(" Individual Test Results:")
  235. lines.append(" " + "-" * 66)
  236. test_names = {
  237. "rho_beta_beta": ("H0^1: beta_X indep beta_Y", "Main subject effects"),
  238. "rho_omega_omega": ("H0^2: omega_X indep omega_Y", "Interaction subject effects"),
  239. "rho_epsilon_epsilon": ("H0^3: eps_X indep eps_Y", "Residuals"),
  240. "rho_epsilonX_omegaY": ("H0^4: eps_X indep omega_Y", "Cross-term 1"),
  241. "rho_epsilonY_omegaX": ("H0^5: eps_Y indep omega_X", "Cross-term 2"),
  242. }
  243. for i, key in enumerate(results["rho_obs"].keys(), 1):
  244. name, desc = test_names[key]
  245. lines.append(f"\n Test {i}: {name}")
  246. lines.append(f" ({desc})")
  247. lines.append(f" Observed rho_hat: {results['rho_obs'][key]:>8.6f}")
  248. ci_level = results.get('ci_bonferroni_level', results.get('ci_level'))
  249. lines.append(f" {ci_level*100:.1f}% CI: [{results['ci'][key][0]:>8.6f}, {results['ci'][key][1]:>8.6f}]")
  250. decision = "REJECT" if results['reject'][key] else "FTR"
  251. lines.append(f" Decision: {decision}")
  252. if results['reject'][key]:
  253. lines.append(f" -> Significant dependence detected")
  254. if is_bonferroni:
  255. lines.append("")
  256. lines.append(" " + "-" * 66)
  257. lines.append(" Overall Decision:")
  258. lines.append(f" Tests rejecting H0: {results['n_rejections']} out of {len(results['rho_obs'])}")
  259. lines.append(f" Overall: {'REJECT H0' if results['overall_reject'] else 'FAIL TO REJECT H0'}")
  260. if results['overall_reject']:
  261. lines.append(f" -> Subject-specific correspondence detected")
  262. lines.append("")
  263. lines.append("=" * 70)
  264. return "\n".join(lines)
  265. def save_summary_text(
  266. results: Dict[str, Any],
  267. filepath: Path,
  268. inference_type: str = "auto"
  269. ) -> None:
  270. """Save text summary to file."""
  271. filepath = Path(filepath)
  272. filepath.parent.mkdir(parents=True, exist_ok=True)
  273. summary = generate_summary_text(results, inference_type)
  274. with open(filepath, "w", encoding="utf-8") as f:
  275. f.write(summary)
  276. print(f"Summary saved to: {filepath}")

utils.py at commit 3927737, no license · at the source

Overview

Authors: Qiaochu Wang1, Lingyi Peng2, Thomas E Nichols3, Xu Zou1, Yaotian Wang4, Jie He1, Yuexin Zhang1, Dana L Tudorascu2, Diego Szczupak5, Lauren Schaeffer5, Emily S Rothwell5, Laurel Dieckhaus5, Stacey J Sukoff Rizzo5, Gregory W Carter6, Afonso C Silva5, Tingting Zhang1
  1. Department of Statistics, University of Pittsburgh, Pittsburgh, PA, United States
  2. Department of Biostatistics and Health Data Science, University of Pittsburgh, Pittsburgh, PA, United States
  3. Oxford Big Data Institute, Nuffield Department of Population Health, University of Oxford, Oxford, United Kingdom
  4. Department of Biostatistics and Bioinformatics, Emory University, Atlanta, GA, United States
  5. Department of Neurobiology, University of Pittsburgh, Pittsburgh, PA, United States
  6. The Jackson Laboratory, Bar Harbor, ME, United States
Institutions: University of Pittsburgh (United States); University of Oxford (United Kingdom); Emory University (United States); Jackson Laboratory (United States)
Journal: Imaging neuroscience (Cambridge, Mass.), volume 4, article IMAG.a.1350
Dates: received 29 November 2025; accepted 30 July 2026; published online 8 September 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1162/imag.a.1350 · PMID 42719771 · PMCID PMC13556793 · OpenAlex W7202155274
Open access: diamond, a free copy (OpenAlex)
Status: code verified
Categories: structural MRI / diffusion (modality), human (organism), computational (subfield)
Methods: Connectivity, Statistics, fMRI & imaging, Preprocessing
Keywords: brain map correspondence, mixed-effects models, permutation tests, bootstrapping
MeSH: Brain*, Brain Mapping*, Image Processing, Computer-Assisted*, Computer Simulation, Humans, Magnetic Resonance Imaging (* major topic)
Topic: Functional Brain Connectivity Studies (Cognitive Neuroscience, Neuroscience), according to OpenAlex
Funding: NIA NIH HHS (U19 AG074866, P01 AG025204, R01 AG063752); NIMH NIH HHS (U54 MH091657); NIH HHS (S10 OD028483)
Citations: not cited yet (Europe PMC); 50 references in the paper
Research resources: RRID:SCR_022735

Abstract

Permutation-based methods such as the spin test, Brain Surrogate Maps with Autocorrelated Spatial Heterogeneity (BrainSMASH), and the simple permutation-based intermodal correspondence (SPICE) test are widely used to assess correspondence between brain maps while accounting for their spatial autocorrelation. However, these methods define and evaluate correspondence in fundamentally different ways, making their results difficult to compare or interpret jointly. We address these limitations by introducing a two-factor mixed-effects model that decomposes brain map variability into components arising from inter-subject variability and spatial variability across brain locations. This formulation provides a principled way to characterize distinct sources of variability in brain maps and to formally link each correspondence test to the specific component it targets. Within this framework, we further provide the analytical expressions of the null distributions of the spin test, BrainSMASH, and SPICE in terms of model parameters. This unified framework clarifies the fundamental distinctions among the permutation tests, reveals their implicit assumptions, and provides a principled way to compare and interpret their results. Beyond clarifying existing methods, the modeling framework naturally motivates a bootstrap-based method that enables simultaneous inference of multiple forms of correspondence arising from different components of brain map variability. Through extensive simulations and empirical analyses of both structural (cortical thickness vs. sulcal depth) and functional (language vs. motor contrast) brain maps, we demonstrate that the bootstrap-based method achieves well-calibrated type I error, substantially higher statistical power, and provides a robust and comprehensive characterization of different forms of brain map correspondence.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repositories

Its files are read in the Code ↔ Paper reader above, with 2 matches between paragraphs and lines of code.

spin-test/spin-test

License: MIT
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Commit: d149e273f2dcfb3d1d3e86c4ec7293dd9e38e265, 25 August 2020
Languages: MATLAB (87)
Size: 120 files, 87 scripts
Software Heritage: archived
Found in: the text, “The Spin test”
Holds: README, license file, 1 notebook
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Tools: FreeSurfer (3 files)
Availability: 1 check, the latest on 26 September 2026: the link answers
  • 26 September 2026: the link answers
89 files

frantisekvasa/rotate_parcellation

License: MIT
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Commit: 65673ea7f47fca36b2982df669fc649b9a4bc5da, 29 June 2023
Languages: MATLAB (3), R (2)
Size: 9 files, 5 scripts
Software Heritage: archived
Found in: the text, “The Spin test”
Holds: README, license file
Not found: CITATION.cff, environment file, tests, continuous integration, documentation
Tools: FreeSurfer (1 file)
Availability: 1 check, the latest on 26 September 2026: the link answers
  • 26 September 2026: the link answers
7 files

qcwang77/brainmap-bootstrap

License: none: the authors keep all their rights
State: the link answers, verified on 26 September 2026
Evidence: files inventoried
Commit: 3927737d19b697174503e4427872c03a2d82b444, 27 May 2026
Languages: Python (6)
Size: 16 files, 6 scripts
Software Heritage: not archived
Found in: “Data and Code Availability”
Holds: README, environment (python-implementation/requirements.txt)
Not found: license file, CITATION.cff, tests, continuous integration, documentation
Tools: NumPy (5 files)
Availability: 1 check, the latest on 26 September 2026: the link answers
  • 26 September 2026: the link answers
7 files

The paper's code and data availability statement is in the Data section.

Tracing map

Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.

What the map holds:

  • 3 repositories of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 98 scripts, each with its path and the digest of its content;
  • 2 matches between paragraphs of the paper and lines of the code (method lexical-v1);
  • neither the text of the paper nor the code itself.

Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.

Data

No dataset and no data link were found in the paper.

Data and Code Availability

The open access HCP-S1200 data can be downloaded from the data management platform ConnectomeDB: https://db.humanconnectome.org upon signing up for an account. The code for the analyses presented in this paper is included as a compressed file in the supplementary materials and is also available on GitHub (https://github.com/qcwang77/brainmap-bootstrap).

Reproduced under the paper's license (CC BY), from the paper cited above.

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 1, 27 September 2026: the first record

Recorded: type, language, journal, volume, pages, dates, 16 authors, 4 keywords, 6 MeSH terms, 3 funders, 49 references, 1 RRID.

Cite

This paper

Wang, Q., Peng, L., Nichols, T. E., Zou, X., Wang, Y., He, J., Zhang, Y., Tudorascu, D. L., Szczupak, D., Schaeffer, L., Rothwell, E. S., Dieckhaus, L., Sukoff Rizzo, S. J., Carter, G. W., Silva, A. C., & Zhang, T. (2026). Clarifying and extending permutation tests on brain map correspondence through mixed-effects modeling. Imaging neuroscience (Cambridge, Mass.), 4, IMAG.a.1350. https://doi.org/10.1162/imag.a.1350

BibTeX

@article{wang2026clarifying,
author = {Wang, Qiaochu and Peng, Lingyi and Nichols, Thomas E and Zou, Xu and Wang, Yaotian and He, Jie and Zhang, Yuexin and Tudorascu, Dana L and Szczupak, Diego and Schaeffer, Lauren and Rothwell, Emily S and Dieckhaus, Laurel and Sukoff Rizzo, Stacey J and Carter, Gregory W and Silva, Afonso C and Zhang, Tingting},
title = {{Clarifying and extending permutation tests on brain map correspondence through mixed-effects modeling}},
journal = {Imaging neuroscience (Cambridge, Mass.)},
year = {2026},
month = sep,
volume = {4},
pages = {IMAG.a.1350},
publisher = {MIT Press},
issn = {2837-6056},
doi = {10.1162/imag.a.1350},
url = {https://doi.org/10.1162/imag.a.1350},
pmid = {42719771},
pmcid = {PMC13556793}
}

RIS

TY - JOUR
AU - Wang, Qiaochu
AU - Peng, Lingyi
AU - Nichols, Thomas E
AU - Zou, Xu
AU - Wang, Yaotian
AU - He, Jie
AU - Zhang, Yuexin
AU - Tudorascu, Dana L
AU - Szczupak, Diego
AU - Schaeffer, Lauren
AU - Rothwell, Emily S
AU - Dieckhaus, Laurel
AU - Sukoff Rizzo, Stacey J
AU - Carter, Gregory W
AU - Silva, Afonso C
AU - Zhang, Tingting
TI - Clarifying and extending permutation tests on brain map correspondence through mixed-effects modeling
T2 - Imaging neuroscience (Cambridge, Mass.)
J2 - Imaging Neurosci (Camb)
PY - 2026
DA - 2026/09/08
VL - 4
SP - IMAG.a.1350
SN - 2837-6056
PB - MIT Press
DO - 10.1162/imag.a.1350
UR - https://doi.org/10.1162/imag.a.1350
LA - en
ER -

CSL-JSON

{
"id": "10.1162/imag.a.1350",
"type": "article-journal",
"title": "Clarifying and extending permutation tests on brain map correspondence through mixed-effects modeling",
"container-title": "Imaging neuroscience (Cambridge, Mass.)",
"author": [
{
"family": "Wang",
"given": "Qiaochu"
},
{
"family": "Peng",
"given": "Lingyi"
},
{
"family": "Nichols",
"given": "Thomas E"
},
{
"family": "Zou",
"given": "Xu"
},
{
"family": "Wang",
"given": "Yaotian"
},
{
"family": "He",
"given": "Jie"
},
{
"family": "Zhang",
"given": "Yuexin"
},
{
"family": "Tudorascu",
"given": "Dana L"
},
{
"family": "Szczupak",
"given": "Diego"
},
{
"family": "Schaeffer",
"given": "Lauren"
},
{
"family": "Rothwell",
"given": "Emily S"
},
{
"family": "Dieckhaus",
"given": "Laurel"
},
{
"family": "Sukoff Rizzo",
"given": "Stacey J"
},
{
"family": "Carter",
"given": "Gregory W"
},
{
"family": "Silva",
"given": "Afonso C"
},
{
"family": "Zhang",
"given": "Tingting"
}
],
"container-title-short": "Imaging Neurosci (Camb)",
"volume": "4",
"page": "IMAG.a.1350",
"DOI": "10.1162/imag.a.1350",
"PMID": "42719771",
"PMCID": "PMC13556793",
"ISSN": "2837-6056",
"publisher": "MIT Press",
"URL": "https://doi.org/10.1162/imag.a.1350",
"language": "en",
"issued": {
"date-parts": [
[
2026,
9,
8
]
]
}
}

The tracing map gets a citation of its own once an author has validated it and it has a DOI.

Similar papers

The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.

[1] doi:10.1038/s41467-026-75959-w [code]
Charting higher-order models of brain function beyond pairwise interactions.
Journal: Nature communications
In common: NumPy, 13 references
[2] doi:10.1038/s41467-026-73668-y [code]
Convergent and divergent brain-cognition development in early adolescence.
Journal: Nature communications
In common: FreeSurfer, NumPy, 7 references, author Thomas E Nichols
[3] doi:10.21203/rs.3.rs-9326213/v1 [code]
Multi-task fMRI outperforms resting-state fMRI for revealing task-invariant organization of the human brain
Journal: Research Square (preprint)
In common: FreeSurfer, NumPy, 7 references
[4] doi:10.64898/2026.03.09.710558 [code]
Multi-task fMRI outperforms resting-state fMRI for revealing task-invariant organization of the human brain
Journal: bioRxiv (preprint)
In common: FreeSurfer, NumPy, 7 references
[5] doi:10.1162/imag.a.1354 [code]
Development of a 24-channel 3T phased-array coil for fMRI in awake monkeys: Mitigating spatiotemporal artifacts in ferumoxytol-weighted functional connectivity estimation.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: FreeSurfer, 7 references
[6] doi:10.1371/journal.pbio.3003856 [code]
Aging and metabolism contribute separately to brain-body health.
Journal: PLoS biology
In common: FreeSurfer, NumPy, structural MRI / diffusion, 6 references
[7] doi:10.1523/jneurosci.0729-25.2026 [code]
Human Cerebral Blood Flow Activity with Diurnal Variation Differentially Correlated with the Suprachiasmatic Nucleus.
Journal: The Journal of neuroscience : the official journal of the Society for Neuroscience
In common: 8 references
[8] doi:10.1162/imag.a.1198 [code]
MEPrep: A robust pipeline for multi-echo fMRI denoising and preprocessing.
Journal: Imaging neuroscience (Cambridge, Mass.)
In common: FreeSurfer, NumPy, 6 references
[9] doi:10.1002/hbm.70485 [code]
Exploring the Role of the Rich Club in Network Control of Neurocognitive States.
Journal: Human brain mapping
In common: FreeSurfer, NumPy, 6 references
[10] doi:10.1371/journal.pbio.3003927 [code]
Brain structural and functional connectivity converge prenatally but diverge after birth.
Journal: PLoS biology
In common: structural MRI / diffusion, 7 references

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

Discussion, reproductions, activity

Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.

Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.