Tedana
TE-dependent analysis of multi-echo fMRI
Install / Use
/learn @ME-ICA/TedanaREADME
tedana: TE Dependent ANAlysis
TE-dependent analysis (tedana) is a Python library for denoising multi-echo functional magnetic resonance imaging (fMRI) data.
tedana originally came about as a part of the ME-ICA pipeline, although it has since diverged.
An important distinction is that while the ME-ICA pipeline originally performed both pre-processing and TE-dependent analysis of multi-echo fMRI data,
tedana now assumes that you're working with data which has been previously preprocessed.

More information and documentation can be found at https://tedana.readthedocs.io.
Citing tedana
If you use tedana, please cite the following papers, as well as our most recent Zenodo release:
- DuPre, E. M., Salo, T., Ahmed, Z., Bandettini, P. A., Bottenhorn, K. L., Caballero-Gaudes, C., Dowdle, L. T., Gonzalez-Castillo, J., Heunis, S., Kundu, P., Laird, A. R., Markello, R., Markiewicz, C. J., Moia, S., Staden, I., Teves, J. B., Uruñuela, E., Vaziri-Pashkam, M., Whitaker, K., & Handwerker, D. A. (2021). TE-dependent analysis of multi-echo fMRI with tedana. Journal of Open Source Software, 6(66), 3669. doi:10.21105/joss.03669.
- Kundu, P., Inati, S. J., Evans, J. W., Luh, W. M., & Bandettini, P. A. (2011). Differentiating BOLD and non-BOLD signals in fMRI time series using multi-echo EPI. NeuroImage, 60, 1759-1770.
- Kundu, P., Brenowitz, N. D., Voon, V., Worbe, Y., Vértes, P. E., Inati, S. J., Saad, Z. S., Bandettini, P. A., & Bullmore, E. T. (2013). Integrated strategy for improving functional connectivity mapping using multiecho fMRI. Proceedings of the National Academy of Sciences, 110, 16187-16192.
Installation
Use tedana with your local Python environment
You'll need to set up a working development environment to use tedana.
To set up a local environment, you will need Python >=3.8 and the following packages will need to be installed:
You can then install tedana with
pip install tedana
Creating a miniconda environment for use with tedana
In using tedana, you can optionally configure a conda environment.
We recommend using miniconda3.
After installation, you can use the following commands to create an environment for tedana:
conda create -n ENVIRONMENT_NAME python=3 pip mdp numpy scikit-learn scipy
conda activate ENVIRONMENT_NAME
pip install nilearn nibabel
pip install tedana
tedana will then be available in your path.
This will also allow any previously existing tedana installations to remain untouched.
To exit this conda environment, use
conda deactivate
NOTE: Conda < 4.6 users will need to use the soon-to-be-deprecated option source rather than conda for the activation and deactivation steps.
You can read more about managing conda environments and this discrepancy here.
You can confirm that tedana has successfully installed by launching a Python instance and running:
import tedana
You can check that it is available through the command line interface (CLI) with:
tedana --help
If no error occurs, tedana has correctly installed in your environment!
Use and contribute to tedana as a developer
If you aim to contribute to the tedana code base and/or documentation, please first read the developer installation instructions in our contributing section. You can then continue to set up your preferred development environment.
Getting involved
We :yellow_heart: new contributors! To get started, check out our contributing guidelines and our developer's guide.
Want to learn more about our plans for developing tedana?
Have a question, comment, or suggestion?
Open or comment on one of our issues!
If you're not sure where to begin, feel free to pop into Mattermost and introduce yourself! We will be happy to help you find somewhere to get started.
If you don't want to get lots of notifications, we send out newsletters approximately once per month though our Google Group mailing list. You can view the previous newsletters and/or sign up to receive future ones by joining at https://groups.google.com/g/tedana-newsletter.
We ask that all contributors to tedana across all project-related spaces (including but not limited to: GitHub, Mattermost, and project emails), adhere to our code of conduct.
Contributors
Thanks goes to these wonderful people (emoji key):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> <table> <tbody> <tr> <td align="center" valign="top" width="20%"><a href="https://github.com/dowdlelt"><img src="https://avatars2.githubusercontent.com/u/15126366?v=4?s=100" width="100px;" alt="Logan Dowdle"/><br /><sub><b>Logan Dowdle</b></sub></a><br /><a href="https://github.com/ME-ICA/tedana/commits?author=dowdlelt" title="Code">💻</a> <a href="#question-dowdlelt" title="Answering Questions">💬</a> <a href="#design-dowdlelt" title="Design">🎨</a> <a href="https://github.com/ME-ICA/tedana/issues?q=author%3Adowdlelt" title="Bug reports">🐛</a> <a href="https://github.com/ME-ICA/tedana/pulls?q=is%3Apr+reviewed-by%3Adowdlelt" title="Reviewed Pull Requests">👀</a></td> <td align="center" valign="top" width="20%"><a href="http://emdupre.me"><img src="https://avatars3.githubusercontent.com/u/15017191?v=4?s=100" width="100px;" alt="Elizabeth DuPre"/><br /><sub><b>Elizabeth DuPre</b></sub></a><br /><a href="https://github.com/ME-ICA/tedana/commits?author=emdupre" title="Code">💻</a> <a href="https://github.com/ME-ICA/tedana/commits?author=emdupre" title="Documentation">📖</a> <a href="#ideas-emdupre" title="Ideas, Planning, & Feedback">🤔</a> <a href="#infra-emdupre" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/ME-ICA/tedana/pulls?q=is%3Apr+reviewed-by%3Aemdupre" title="Reviewed Pull Requests">👀</a> <a href="#example-emdupre" title="Examples">💡</a> <a href="https://github.com/ME-ICA/tedana/commits?author=emdupre" title="Tests">⚠️</a> <a href="#question-emdupre" title="Answering Questions">💬</a></td> <td align="center" valign="top" width="20%"><a href="https://github.com/marco7877"><img src="https://avatars.githubusercontent.com/u/56403434?v=4?s=100" width="100px;" alt="Marco Flores-Coronado"/><br /><sub><b>Marco Flores-Coronado</b></sub></a><br /><a href="#ideas-marco7877" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/ME-ICA/tedana/commits?author=marco7877" title="Documentation">📖</a></td> <td align="center" valign="top" width="20%"><a href="https://github.com/javiergcas"><img src="https://avatars1.githubusercontent.com/u/7314358?v=4?s=100" width="100px;" alt="Javier Gonzalez-Castillo"/><br /><sub><b>Javier Gonzalez-Castillo</b></sub></a><br /><a href="#ideas-Related Skills
node-connect
338.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
claude-opus-4-5-migration
83.6kMigrate prompts and code from Claude Sonnet 4.0, Sonnet 4.5, or Opus 4.1 to Opus 4.5
frontend-design
83.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
model-usage
338.7kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
