tedana

Analysis of echo-time dependent fMRI data

1
enekourunuela.com

Outline

  • Introduction to multi-echo fMRI
  • Multi-echo fMRI for noise removal
  • tedana: the software
  • tedana: the community
  • Challenges developing tedana
  • Contributing to tedana
2
enekourunuela.com

Single-echo fMRI

3
enekourunuela.com

What is multi-echo fMRI

4
enekourunuela.com
5
enekourunuela.com

Signal decay

Assuming a mono-exponential decay model:

s(x,t,TEk)=S0(x,t)e−R2∗(x,t)⋅TEks(x, t, TE_k) = S_0(x, t) e^{-R_2^*(x,t) \cdot TE_k}s(x,t,TEk​)=S0​(x,t)e−R2∗​(x,t)⋅TEk​

Describing S0(t)S_0(t)S0​(t) and R2∗(t)R_2^*(t)R2∗​(t) in terms of relative changes w.r.t. their average values:

s(t,TEk)=sˉ(TEk)⋅(1+ΔS0(t)Sˉ0)⋅e−ΔR2∗(t)⋅TEks(t, TE_k) = \bar{s}(TE_k) \cdot (1 + \frac{{\Delta}{S_0}(t)}{\bar{S}_0})\cdot e^{- {\Delta}{R_2^*}(t) \cdot TE_k}s(t,TEk​)=sˉ(TEk​)⋅(1+Sˉ0​ΔS0​(t)​)⋅e−ΔR2∗​(t)⋅TEk​

Signal percentage changes w.r.t. the mean of the signal:

y(t,TEk)=Δρ(t)−ΔR2∗(t)⋅TEky(t, TE_k) = {{\Delta}{\rho(t)}} -{\Delta}{R_2^*(t)}\cdot TE_ky(t,TEk​)=Δρ(t)−ΔR2∗​(t)⋅TEk​

6
enekourunuela.com

Separating T2∗T_2^*T2∗​ and S0S_0S0​

7
enekourunuela.com

Most common denoising approaches for multi-echo fMRI

8
enekourunuela.com

Optimal combination of echoes 1,^,,2

  • Weighted average of echoes based on voxel-wise T2∗T_2^*T2∗​ estimates
  • Reduces thermal noise and weights towards T2∗T_2^*T2∗​ signal
  • Straightforward math & reliable improvements
  • Automatically calculated in AFNI, fMRIPrep & tedana
  1. Posse et al., Magnetic Resonance in Medicine. (1999) ↩︎

  2. Poser et al., Magnetic Resonance in Medicine. (2006) ↩︎

9
enekourunuela.com

Denoising to actively separate T2∗T_2^*T2∗​ and S0S_0S0​

  • Based on ICA: ME-ICA 1,^,,2 and tedana 3
  • Multi-Echo Paradigm Free Mapping 4 (available in AFNI and pySPFM)
  • Other methods
  1. Kundu et al., NeuroImage. (2012) ↩︎

  2. Kundu et al., PNAS. (2013) ↩︎

  3. DuPre, Salo et al., JOSS. (2021) ↩︎

  4. Caballero-Gaudes et al., NeuroImage. (2019) ↩︎

10
enekourunuela.com

Denoising with ICA


  1. Fit signal decay
  2. Optimal combination of echoes
  3. PCA to remove thermal noise
  4. Decomposition into independent components (ICA)
  5. Classification of components into BOLD-like (accepted) and non BOLD-like (rejected)
  6. Denoising
11
enekourunuela.com

Benefits of denoising with ICA

12
enekourunuela.com

tedana: the software


Elizabeth DuPre started tedana in May 2018 to advance ME-ICA by Prantik Kundu

Approx. 20 contributors from various countries and institutions

Monthly developer calls, a periodic newsletter, active issue board & code updates

13
enekourunuela.com

tedana: the software

Install:

pip install tedana

Use from the command line:

tedana -d echo_1.nii.gz echo_2.nii.gz echo_3.nii.gz echo_4.nii.gz -e 12 28 44 60 -

Or from a Python session:

from tedana import workflows
workflows.tedana_workflow(
    data_files,
    echo_times,
    out_dir=out_dir,
    mask=mask_file,
    prefix="sub-04570_task-rest_space-scanner",
    fittype="curvefit",
    tedpca="mdl",
    verbose=True,
)
14
enekourunuela.com

tedana: the software

Check out the Juggling with data session on Thursday at 12:00 UTC for more on these.

15
enekourunuela.com

tedana: the community

  • tedana
  • maPCA
  • Rica
  • Multi-echo Jupyter Book
  • Curated lists of multi-echo posters from OHBM
  • Other works-in-progress
16
enekourunuela.com

tedana: the community

  • tedana
  • maPCA
  • Rica
  • Multi-echo Jupyter Book
  • Curated lists of multi-echo posters from OHBM
  • Other works-in-progress
17
enekourunuela.com

tedana: the community

  • tedana
  • maPCA
  • Rica
  • Multi-echo Jupyter Book
  • Curated lists of multi-echo posters from OHBM
  • Other works-in-progress
18
enekourunuela.com

tedana: the community

  • tedana
  • maPCA
  • Rica
  • Multi-echo Jupyter Book
  • Curated lists of multi-echo posters from OHBM
  • Other works-in-progress
19
enekourunuela.com

tedana: the community

  • tedana
  • maPCA
  • Rica
  • Multi-echo Jupyter Book
  • Curated lists of multi-echo posters from OHBM
  • Other works-in-progress
20
enekourunuela.com

tedana: the community

  • tedana
  • maPCA
  • Rica
  • Multi-echo Jupyter Book
  • Curated lists of multi-echo posters from OHBM
  • Other works-in-progress
21
enekourunuela.com

Challenges developing tedana


Expertise required: software engineering, MRI physics, math/statistics, neuroscience, data visualization, project management, community management…


👉 No one in the team has all of these!

22
enekourunuela.com

Challenges developing tedana


Neuroimaging grad students and postdocs are rarely software engineers, but their code needs to survive beyond their period of contribution


👉 Documentation and testing are very important

23
enekourunuela.com

Challenges developing tedana


Too big for informal governance, but too small for most documented open source governance models

24
enekourunuela.com

Leadership and Governance

  • Improvements prompted & guided by Kirstie Whitaker
  • Acknowledge contributors’ leadership & minimize administrative burden
  • Grow community, strive for consensus, have a path for decision making
  • Support openness in both code and decision making
  • A steering committee for project-wide steering, and focused roles for code-focused tasks
  • Code of conduct and enforcement policy (luckily, never used)
25
enekourunuela.com

Contributing to tedana

  • Code contributions
  • New ideas for data processing and visualization
  • Documentation & education
  • Questions that can help us identify gaps in the code or documentation
  • Sharing (or processing your own) datasets to help with validation and testing
  • Join monthly call!
26
enekourunuela.com

Discussions are open

27
enekourunuela.com
28
enekourunuela.com
29
enekourunuela.com

Thursday at 12:00 UTC

Learn how to denoise your multi-echo fMRI data using tedana at the Juggling with data session at MRI Together

30
enekourunuela.com

Thank you!

Get in touch @eurunuela or e.urunuela@bcbl.eu

31
enekourunuela.com