Skip to main content

Multi-echo combinations

This repository provides a command line tool to combine multiple echoes from a multi-echo BOLD fMRI acquisition. It currently provides three different echo avering algorithms:

algorithm description
1. average Echoes are weighted equally
2. PAID Echoes are weighted by their CNR, i.e. by their TE*tSNR contributions
3. TE Echoes are weighted by their TEs

For more information on multiecho acquisition and combination schemes, please refer to (for example):

  • Poser et al. (2006). BOLD Contrast Sensitivity Enhancement and Artifact Reduction with Multiecho EPI: Parallel-Acquired Inhomogeneity- Desensitized fMRI. Magn. Reson. Med. 55:6, pp. 1227–35.
  • Posse, Stefan (2012). Multi-Echo Acquisition. NeuroImage 62:2, pp. 665–671.

Installation

To install, simply run:

pip install multiecho

This will give you the latest stable release of the software. To get the very latest version of the software you can install the package directly from the github source code repository:

pip install git+https://github.com/Donders-Institute/multiecho

Alternatively, to get the latest (possibly unreleased) code, clone this repository and run the following on the root folder of the repository:

pip install .

The tool only supports Python 3.6+.

Usage

Once installed, a command line tool called mecombine will be available in your PATH. Detailed usage information can be found by running mecombine -h:

usage: mecombine [-h] [-o OUTPUTNAME] [-w [WEIGHTS [WEIGHTS ...]]]
                 [-a {PAID,TE,average}] [-s] [-v VOLUMES]
                 pattern

Combine multi-echo echoes.

Tools to combine multiple echoes from an fMRI acquisition.
It expects input files saved as NIfTIs, preferably organised
according to the BIDS standard.

positional arguments:
  pattern               Globlike search pattern with path to select the echo
                        images that need to be combined. Because of the
                        search, be sure to check that not too many files are
                        being read

optional arguments:
  -h, --help            show this help message and exit
  -o OUTPUTNAME, --outputname OUTPUTNAME
                        File output name. If not a fullpath name, then the
                        output will be stored in the same folder as the input.
                        If empty, the output filename will be the filename of
                        the first echo appended with a '_combined' suffix
                        (default: None)
  -w [WEIGHTS [WEIGHTS ...]], --weights [WEIGHTS [WEIGHTS ...]]
                        Weights (e.g. = echo times) for all echoes (default:
                        None)
  -a {PAID,TE,average}, --algorithm {PAID,TE,average}
                        Combination algorithm. Default: TE (default: TE)
  -s, --saveweights     If passed and algorithm is PAID, save weights
                        (default: False)
  -v VOLUMES, --volumes VOLUMES
                        Number of volumes that is used to compute the weights
                        if algorithm is PAID (default: 100)

examples:
  mecombine '/project/number/bids/sub-001/func/*_task-motor_*echo-*.nii.gz'
  mecombine '/project/number/bids/sub-001/func/*_task-rest_*echo-*.nii.gz' -a PAID
  mecombine '/project/number/bids/sub-001/func/*_acq-MBME_*run-01*.nii.gz' -w 11 22 33 -o sub-001_task-stroop_acq-mecombined_run-01_bold.nii.gz

Caveats

Currently inneficient as we load all datasets into memory. We could iterate through the volumes and only keep the final combined series in memory at any given time.

You may receive a runtime warning when combining echoes with PAID. If your datasets have voxels with zeros, e.g., if they were masked, a division by 0 will lead to infinite weights. You may safely ignore the warning, but do check your data after the combination.

By default PAID will compute the weights based on the last 100 volumes of the acquisition. Whether this is optimal or not is up to discussion. If you are testing out the combination on a small subset of volumes, say 5 or so, then the weights won't be stable and your image may look noisy.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multiecho-0.21.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

multiecho-0.21-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file multiecho-0.21.tar.gz.

File metadata

  • Download URL: multiecho-0.21.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.4.2 requests/2.20.1 setuptools/41.6.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for multiecho-0.21.tar.gz
Algorithm Hash digest
SHA256 8c9e9b1b56351a03d64ade6feace4e1a518d456ff4e751a5bcee792b20aacad2
MD5 04b79bf02638622f73a668ad6fec5538
BLAKE2b-256 f134dfa4da2700f73181e63c4567bda551143f65c53a0727110ccbf49887c7f0

See more details on using hashes here.

File details

Details for the file multiecho-0.21-py3-none-any.whl.

File metadata

  • Download URL: multiecho-0.21-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.4.2 requests/2.20.1 setuptools/41.6.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.6

File hashes

Hashes for multiecho-0.21-py3-none-any.whl
Algorithm Hash digest
SHA256 87680880e5accde81e1c128730dbe29821e42c1ae78e230b4018f90219cc4ed0
MD5 9f53c0de1f3927f69f82df100866c263
BLAKE2b-256 f6ab563f4f2dc3c6b4716286c218ea8540f6dba8e90299be3446df01dc38bc45

See more details on using hashes here.

Release history Release notifications | RSS feed

0.31

2 files

0.30

2 files

0.29

2 files

0.28

2 files

0.25

2 files

0.24

2 files

0.23

2 files

0.22

2 files

This release

0.21 This release

2 files

0.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page