MEPrep: A robust pipeline for multi-echo fMRI denoising and preprocessing.
The 6 matches
- [1] § Methods › Pre-denoising multi-echo fMRI data with probabilistic ICA ↔ MEPrep_Source/MEPrep_ICA-AROMA/ICA_AROMA_functions_preICA.py, lines 217–287 · score 0.92 · shifted versions, realignment parameter, maximum absolute, maxRPcorr, maximum correlations, motion parameters
- [2] § Methods › Pre-denoising multi-echo fMRI data with probabilistic ICA ↔ MEPrep_Source/MEPrep_ICA-AROMA/ICA_AROMA_functions_pureMotion.py, lines 213–283 · score 0.92 · shifted versions, realignment parameter, maximum absolute, maxRPcorr, maximum correlations, motion parameters
- [3] § Methods › Pre-denoising multi-echo fMRI data with probabilistic ICA ↔ MEPrep_Source/MEPrep_ICA-AROMA/ICA_AROMA_functions_preICA.py, lines 461–535 · score 0.68 · maxRPcorr, CSF fractions, ICA AROMA, HFC, score, edge
- [4] § Methods › Pre-denoising multi-echo fMRI data with probabilistic ICA ↔ MEPrep_Source/MEPrep_ICA-AROMA/ICA_AROMA_functions_pureMotion.py, lines 457–533 · score 0.68 · maxRPcorr, CSF fractions, ICA AROMA, HFC, score, edge
- [5] § Methods › The framework and implementation of MEPrep ↔ MEPrep_Source/fmriprep/workflows/bold/confounds.py, lines 626–769 · score 0.51 · CIFTI formats, alignment, FD, confound, WM, NIfTI
- [6] § Methods › The framework and implementation of MEPrep ↔ MEPrep_Source/meprep/src/workflows/bold/confounds.py, lines 670–745 · score 0.50 · CIFTI formats, pre denoising, alignment, confound, WM, multiecho
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 · 591 lines · 27 KB · no license · 2 matches
ICA_AROMA_functions_preICA.py at commit c16de31, no license · at the source
Overview
- The Department of Psychiatry, Vagelos College of Physicians and Surgeons, Columbia University, New York, NY, United States
- New York State Psychiatric Institute, New York, NY, United States
Abstract
Multi-echo fMRI has emerged as a powerful strategy to mitigate head motion-related noise and minimize susceptibility-related signal loss in BOLD data. Multi-echo independent component analysis (ME-ICA) effectively distinguishes between BOLD-related (TE-dependent) signals and non-BOLD (TE-independent) noise, yielding substantial enhancements in performance compared to traditional echo-combination methods. We introduce a novel ICA-based denoising step, preICA, applied to raw multi-echo data before optimal T2*-weighted echo combination. This approach, combined with ME-ICA, yields substantial gains in data denoising. Our results show that preICA significantly enhances the efficacy of optimal echo combination and ME-ICA to reduce noise. To facilitate the reliable processing of multi-echo fMRI data, we integrated preICA and ME-ICA into fMRIPrep, resulting in the creation of a robust multi-echo processing pipeline, called MEPrep, offering flexibility in preprocessing options (with or without preICA and/
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 6 matches between paragraphs and lines of code.
zswang-brainimaging/MEPrep
c16de3143eff7ed5e475a810adc5ca7a3a541ff5, 6 April 2026Availability: 1 check, the latest on 28 September 2026: the link answers
- 28 September 2026: the link answers
99 files, not copied: shown from their source
OSCR keeps no copy of these files: this repository has no license that allows it. The reader above shows each one from its source, fetched by your browser at commit c16de31, when its fingerprint is the one OSCR verified. How this works.
- MEPrep_Source/
MEPrep_ICA-AROMA/ — Python, 239 lines, shown from its sourceICA_AROMA.py - MEPrep_Source/
MEPrep_ICA-AROMA/ — Python, 587 lines, shown from its sourceICA_AROMA_functions.py - MEPrep_Source/
MEPrep_ICA-AROMA/ — Python, 591 lines, 2 matches, shown from its sourceICA_AROMA_functions_preI CA.py - MEPrep_Source/
MEPrep_ICA-AROMA/ — Python, 589 lines, 2 matches, shown from its sourceICA_AROMA_functions_pure Motion.py - MEPrep_Source/
MEPrep_ICA-AROMA/ — Python, 240 lines, shown from its sourceICA_AROMA_preICA.py - MEPrep_Source/
MEPrep_ICA-AROMA/ — Python, 247 lines, shown from its sourceclassification_plots.py - MEPrep_Source/
MEPrep_ICA-AROMA/ — Python, 24 lines, shown from its sourceica-aroma-via-docker.py - MEPrep_Source/
fmriprep/ — Python, 28 lines, shown from its source__init__.py - MEPrep_Source/
fmriprep/ — Python, 33 lines, shown from its source__main__.py - MEPrep_Source/
fmriprep/ — Python, 46 lines, shown from its source_warnings.py - MEPrep_Source/
fmriprep/ — Python, 1 line, shown from its sourcecli/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 932 lines, shown from its sourcecli/ parser.py - MEPrep_Source/
fmriprep/ — Python, 250 lines, shown from its sourcecli/ run.py - MEPrep_Source/
fmriprep/ — Python, 1 line, shown from its sourcecli/ tests/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 272 lines, shown from its sourcecli/ tests/ test_parser.py - MEPrep_Source/
fmriprep/ — Python, 218 lines, shown from its sourcecli/ tests/ test_version.py - MEPrep_Source/
fmriprep/ — Python, 104 lines, shown from its sourcecli/ version.py - MEPrep_Source/
fmriprep/ — Python, 235 lines, shown from its sourcecli/ workflow.py - MEPrep_Source/
fmriprep/ — Python, 825 lines, shown from its sourceconfig.py - MEPrep_Source/
fmriprep/ — Python, 45 lines, shown from its sourceconftest.py - MEPrep_Source/
fmriprep/ — Python, 182 lines, shown from its sourcedata/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 10 lines, shown from its sourceinterfaces/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 62 lines, shown from its sourceinterfaces/ bids.py - MEPrep_Source/
fmriprep/ — Python, 447 lines, shown from its sourceinterfaces/ confounds.py - MEPrep_Source/
fmriprep/ — Python, 40 lines, shown from its sourceinterfaces/ conftest.py - MEPrep_Source/
fmriprep/ — Python, 68 lines, shown from its sourceinterfaces/ gifti.py - MEPrep_Source/
fmriprep/ — Python, 84 lines, shown from its sourceinterfaces/ maths.py - MEPrep_Source/
fmriprep/ — Python, 114 lines, shown from its sourceinterfaces/ multiecho.py - MEPrep_Source/
fmriprep/ — Python, 117 lines, shown from its sourceinterfaces/ patches.py - MEPrep_Source/
fmriprep/ — Python, 371 lines, shown from its sourceinterfaces/ reports.py - MEPrep_Source/
fmriprep/ — Python, 699 lines, shown from its sourceinterfaces/ resampling.py - MEPrep_Source/
fmriprep/ — Python, 1 line, shown from its sourceinterfaces/ tests/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 1 line, shown from its sourceinterfaces/ tests/ data/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 72 lines, shown from its sourceinterfaces/ tests/ test_bids.py - MEPrep_Source/
fmriprep/ — Python, 31 lines, shown from its sourceinterfaces/ tests/ test_confounds.py - MEPrep_Source/
fmriprep/ — Python, 43 lines, shown from its sourceinterfaces/ tests/ test_maths.py - MEPrep_Source/
fmriprep/ — Python, 52 lines, shown from its sourceinterfaces/ tests/ test_reports.py - MEPrep_Source/
fmriprep/ — Python, 807 lines, shown from its sourceinterfaces/ workbench.py - MEPrep_Source/
fmriprep/ — Python, 1 line, shown from its sourcereports/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 146 lines, shown from its sourcereports/ core.py - MEPrep_Source/
fmriprep/ — Python, 1 line, shown from its sourcereports/ tests/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 111 lines, shown from its sourcereports/ tests/ test_reports.py - MEPrep_Source/
fmriprep/ — Python, 1 line, shown from its sourcetests/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 121 lines, shown from its sourcetests/ test_config.py - MEPrep_Source/
fmriprep/ — Python, 40 lines, shown from its sourcetests/ test_fsl6.py - MEPrep_Source/
fmriprep/ — Python, 1 line, shown from its sourceutils/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 11 lines, shown from its sourceutils/ asynctools.py - MEPrep_Source/
fmriprep/ — Python, 416 lines, shown from its sourceutils/ bids.py - MEPrep_Source/
fmriprep/ — Python, 159 lines, shown from its sourceutils/ confounds.py - MEPrep_Source/
fmriprep/ — Python, 79 lines, shown from its sourceutils/ debug.py - MEPrep_Source/
fmriprep/ — Python, 45 lines, shown from its sourceutils/ meepi.py - MEPrep_Source/
fmriprep/ — Python, 68 lines, shown from its sourceutils/ misc.py - MEPrep_Source/
fmriprep/ — Python, 216 lines, shown from its sourceutils/ telemetry.py - MEPrep_Source/
fmriprep/ — Python, 105 lines, shown from its sourceutils/ transforms.py - MEPrep_Source/
fmriprep/ — Python, 1 line, shown from its sourceworkflows/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 846 lines, shown from its sourceworkflows/ base.py - MEPrep_Source/
fmriprep/ — Python, 33 lines, shown from its sourceworkflows/ bold/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 219 lines, shown from its sourceworkflows/ bold/ apply.py - MEPrep_Source/
fmriprep/ — Python, 792 lines, shown from its sourceworkflows/ bold/ base.py - MEPrep_Source/
fmriprep/ — Python, 819 lines, 1 match, shown from its sourceworkflows/ bold/ confounds.py - MEPrep_Source/
fmriprep/ — Python, 940 lines, shown from its sourceworkflows/ bold/ fit.py - MEPrep_Source/
fmriprep/ — Python, 131 lines, shown from its sourceworkflows/ bold/ hmc.py - MEPrep_Source/
fmriprep/ — Python, 1,009 lines, shown from its sourceworkflows/ bold/ outputs.py - MEPrep_Source/
fmriprep/ — Python, 147 lines, shown from its sourceworkflows/ bold/ reference.py - MEPrep_Source/
fmriprep/ — Python, 772 lines, shown from its sourceworkflows/ bold/ registration.py - MEPrep_Source/
fmriprep/ — Python, 818 lines, shown from its sourceworkflows/ bold/ resampling.py - MEPrep_Source/
fmriprep/ — Python, 144 lines, shown from its sourceworkflows/ bold/ stc.py - MEPrep_Source/
fmriprep/ — Python, 223 lines, shown from its sourceworkflows/ bold/ t2s.py - MEPrep_Source/
fmriprep/ — Python, 1 line, shown from its sourceworkflows/ bold/ tests/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 83 lines, shown from its sourceworkflows/ bold/ tests/ test_base.py - MEPrep_Source/
fmriprep/ — Python, 176 lines, shown from its sourceworkflows/ bold/ tests/ test_fit.py - MEPrep_Source/
fmriprep/ — Python, 70 lines, shown from its sourceworkflows/ tests/ __init__.py - MEPrep_Source/
fmriprep/ — Python, 324 lines, shown from its sourceworkflows/ tests/ test_base.py - MEPrep_Source/
fsl-6.0.5.1/ — Shell, 54 lines, shown from its sourcedata/ xtract_data/ standard/ F99/ do_reg_F99.sh - MEPrep_Source/
meprep/ — Python, 1,002 lines, shown from its sourcesrc/ cli/ parser.py - MEPrep_Source/
meprep/ — Python, 256 lines, shown from its sourcesrc/ cli/ run.py - MEPrep_Source/
meprep/ — Python, 837 lines, shown from its sourcesrc/ config.py - MEPrep_Source/
meprep/ — Python, 434 lines, shown from its sourcesrc/ interfaces/ meprep_multiecho.py - MEPrep_Source/
meprep/ — Python, 387 lines, shown from its sourcesrc/ interfaces/ optcomDenoising_multiech o.py - MEPrep_Source/
meprep/ — Python, 119 lines, shown from its sourcesrc/ interfaces/ preICA_apply_mask.py - MEPrep_Source/
meprep/ — Python, 118 lines, shown from its sourcesrc/ interfaces/ preICA_register.py - MEPrep_Source/
meprep/ — Python, 118 lines, shown from its sourcesrc/ interfaces/ preICA_register_direct.p y - MEPrep_Source/
meprep/ — Python, 187 lines, shown from its sourcesrc/ interfaces/ preICA_register_indirect .py - MEPrep_Source/
meprep/ — Python, 203 lines, shown from its sourcesrc/ interfaces/ preICA_register_nonlin.p y - MEPrep_Source/
meprep/ — Python, 393 lines, shown from its sourcesrc/ interfaces/ preICA_scme_interface.py - MEPrep_Source/
meprep/ — Python, 252 lines, shown from its sourcesrc/ interfaces/ preICA_se_interface.py - MEPrep_Source/
meprep/ — Python, 254 lines, shown from its sourcesrc/ interfaces/ preICA_tcme_interface.py - MEPrep_Source/
meprep/ — Python, 417 lines, shown from its sourcesrc/ interfaces/ preICA_tensor_interface. py - MEPrep_Source/
meprep/ — Python, 849 lines, shown from its sourcesrc/ workflows/ base.py - MEPrep_Source/
meprep/ — Python, 33 lines, shown from its sourcesrc/ workflows/ bold/ __init__.py - MEPrep_Source/
meprep/ — Python, 839 lines, shown from its sourcesrc/ workflows/ bold/ base.py - MEPrep_Source/
meprep/ — Python, 871 lines, 1 match, shown from its sourcesrc/ workflows/ bold/ confounds.py - MEPrep_Source/
meprep/ — Python, 956 lines, shown from its sourcesrc/ workflows/ bold/ fit.py - MEPrep_Source/
meprep/ — Python, 420 lines, shown from its sourcesrc/ workflows/ bold/ meprep_t2s.py - MEPrep_Source/
meprep/ — Python, 1,068 lines, shown from its sourcesrc/ workflows/ bold/ outputs.py - MEPrep_Source/
meprep/ — Python, 420 lines, shown from its sourcesrc/ workflows/ bold/ preICA_t2s.py - MEPrep_Source/
scripts/ — Python, 136 lines, shown from its sourcefetch_templates.py - MEPrep_Source/
scripts/ — Python, 42 lines, shown from its sourcegenerate_reference_mask. py - README.md — Text, 54 lines, shown from its source
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:
- 1 repository 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;
- 6 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
Datasets cited
- openfmri.org/
dataset/ — at openfmri.org; found in “Data and Code Availability”ds000258
Data and Code Availability
Our MEPrep pipeline is publicly available on Docker Hub. Users can download and install MEPrep on a Docker-enabled system by running a command under Docker: “docker pull zswang2020/
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, 28 September 2026: the first record
Recorded: type, language, journal, volume, pages, dates, 5 authors, 6 keywords, 72 references.
Cite
This paper
Wang, Z., Liu, F., Marsh, R., Patel, G. H., & Grinband, J. (2026). MEPrep: A robust pipeline for multi-echo fMRI denoising and preprocessing. Imaging neuroscience (Cambridge, Mass.), 4, IMAG.a.1198. https://
BibTeX
@article{wang2026meprep,
author = {Wang, Zhishun and Liu, Feng and Marsh, Rachel and Patel, Gaurav H. and Grinband, Jack},
title = {{MEPrep: A robust pipeline for multi-echo fMRI denoising and preprocessing}},
journal = {Imaging neuroscience (Cambridge, Mass.)},
year = {2026},
month = apr,
volume = {4},
pages = {IMAG.a.1198},
publisher = {MIT Press},
issn = {2837-6056},
doi = {10.1162/
url = {https://
pmid = {41952841},
pmcid = {PMC13055012}
}
RIS
TY - JOUR
AU - Wang, Zhishun
AU - Liu, Feng
AU - Marsh, Rachel
AU - Patel, Gaurav H.
AU - Grinband, Jack
TI - MEPrep: A robust pipeline for multi-echo fMRI denoising and preprocessing
T2 - Imaging neuroscience (Cambridge, Mass.)
J2 - Imaging Neurosci (Camb)
PY - 2026
DA - 2026/
VL - 4
SP - IMAG.a.1198
SN - 2837-6056
PB - MIT Press
DO - 10.1162/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1162/
"type": "article-journal",
"title": "MEPrep: A robust pipeline for multi-echo fMRI denoising and preprocessing",
"container-title": "Imaging neuroscience (Cambridge, Mass.)",
"author": [
{
"family": "Wang",
"given": "Zhishun"
},
{
"family": "Liu",
"given": "Feng"
},
{
"family": "Marsh",
"given": "Rachel"
},
{
"family": "Patel",
"given": "Gaurav H."
},
{
"family": "Grinband",
"given": "Jack"
}
],
"container-title-short":
"volume": "4",
"page": "IMAG.a.1198",
"DOI": "10.1162/
"PMID": "41952841",
"PMCID": "PMC13055012",
"ISSN": "2837-6056",
"publisher": "MIT Press",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
4,
6
]
]
}
}
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.1162/netn.a.547 [code]
- An evaluation of the efficacy of single-echo and multi-echo fMRI denoising strategies.Journal: Network neuroscience (Cambridge, Mass.)In common: tedana, fMRIPrep, Nipype, 9 other tools, fMRI, 21 references
- [2] doi:10.1002/hbm.70621 [code]
- Optimising 7T-fMRI for Imaging Regions of Magnetic Susceptibility.Journal: Human brain mappingIn common: tedana, fMRIPrep, AFNI, 1 other tool, fMRI, 17 references
- [3] doi:10.1162/imag.a.1262 [code]
- Frame-wise multi-echo distortion correction for superior functional MRI.Journal: Imaging neuroscience (Cambridge, Mass.)In common: PyBIDS, FreeSurfer, FSL, 8 other tools, fMRI, 8 references
- [4] doi:10.1038/s41398-026-04157-5 [code]
- Association of glymphatic function with 40-Hz neural oscillations, systemic metabolic markers, and cognitive performance in healthy aging adults: An EEG and MRI study.Journal: Translational psychiatryIn common: TemplateFlow, fMRIPrep, PyBIDS, 11 other tools, fMRI, 1 reference
- [5] doi:10.1162/imag.a.1362 [code]
- Human fMRI at 11.7T: Assessing feasibility, stability, and reliability on the Iseult scanner.Journal: Imaging neuroscience (Cambridge, Mass.)In common: fMRIPrep, Nipype, FreeSurfer, 8 other tools, fMRI, methods / tools, 6 references
- [6] doi:10.1162/imag.a.1347 [code]
- Neural and behavioural correlates of theory of mind reasoning in five-year-old children born preterm.Journal: Imaging neuroscience (Cambridge, Mass.)In common: tedana, fMRIPrep, PyBIDS, 9 other tools, fMRI, 3 references
- [7] doi:10.1162/imag.a.1252 [code]
- Does the brain's E:I balance really shape long-range temporal correlations? Lessons learned from 3T MRI.Journal: Imaging neuroscience (Cambridge, Mass.)In common: tedana, fMRIPrep, AFNI, 8 other tools, fMRI, 6 references
- [8] doi:10.1016/j.neuron.2026.04.011 [code]
- Precision fMRI reveals densely interdigitated network patches with conserved motifs in the lateral prefrontal cortex.Journal: NeuronIn common: tedana, AFNI, FreeSurfer, 6 other tools, fMRI, 8 references
- [9] doi:10.1038/s41467-026-71151-2 [code]
- Common and distinct neural correlates of social interaction processing and theory of mind in narratives.Journal: Nature communicationsIn common: fMRIPrep, Nipype, AFNI, 9 other tools, 5 references
- [10] doi:10.1016/j.dcn.2026.101765 [code]
- Fusiform face area development correlates with development in higher-order social brain regions.Journal: Developmental cognitive neuroscienceIn common: tedana, fMRIPrep, PyBIDS, 9 other tools, fMRI, 2 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.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 98 scripts, and 6 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:f51ba9de0a968fe5…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[, paste the snippet at the top, then “Commit changes…” and, to review it first, “Create a new branch and start a pull request”. You open the pull request; OSCR asks for no permission.
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.
