ME-ICA: Multi-Echo Independent Components Analysis

The meica pipeline handles preprocessing and analysis of multi-echo functional magnetic resonance imaging (fMRI) data and is distributed as open-source software.

https://circleci.com/gh/emdupre/me-ica/tree/py3.svg?style=shield&circle-token=:circle-token http://img.shields.io/badge/License-LGPL%202.0-blue.svg

Citations

When using ME-ICA, please include the following citations:

Kundu, P., Brenowitz, N.D., Voon, V., Worbe, Y., Vertes, 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.

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.

License Information

ME-ICA is licensed under GNU Lesser General Public License version 2.1. All trademarks referenced herein are property of their respective holders.

Copyright © 2011-2017, Prantik Kundu. All rights reserved.

Introduction

meica preprocesses multi-echo datasets and applies multi-echo ICA based on spatially concatenated echoes. It does so in the following steps:

  1. Calculates motion parameters based on images with highest contrast (usually the first echo)
  2. Applies motion correction and T2*-weighted co-registration parameters
  3. Applies standard EPI preprocessing (slice-time correction, etc.)
  4. Computes PCA and ICA in conjunction with TE-dependence analysis

Derivatives

  • medn
    ‘Denoised’ BOLD time series after: basic preprocessing, T2* weighted averaging of echoes (i.e. ‘optimal combination’), ICA denoising. Use this dataset for task analysis and resting state time series correlation analysis.
  • tsoc
    ‘Raw’ BOLD time series dataset after: basic preprocessing and T2* weighted averaging of echoes (i.e. ‘optimal combination’). ‘Standard’ denoising or task analyses can be assessed on this dataset (e.g. motion regression, physio correction, scrubbing, etc.) for comparison to ME-ICA denoising.
  • *mefc
    Component maps (in units of delta S) of accepted BOLD ICA components. Use this dataset for ME-ICR seed-based connectivity analysis.
  • mefl
    Component maps (in units of delta S) of ALL ICA components.
  • ctab
    Table of component Kappa, Rho, and variance explained values, plus listing of component classifications.

Installation

We recommend running containerized versions of meica to avoid dependency issues. The Docker Engine appropriate for your system (i.e., linux, Mac OSX, or Windows) is required to access and run the container.

It is also possible to run a local or “bare-metal” meica if your system has AFNI and python 2.7 or 3.4+ installed. With a local python installation, we recommend using the Anaconda or Miniconda package manager, as these allow for the creation of virtual environments.

Containerized versions

To access a containerized version of meica simply pull the latest Docker image. This can be accomplished with the following command:

docker pull emdupre/meica:0.0.1

Local installation

Local installation requires the following dependencies:

  • Python 2.7 or 3.4+
  • AFNI

You can download meica to your local environment with the command pip install meica. Alternatively, for “bleeding-edge” features you can clone the latest version of meica directly from GitHub. To do so, git clone https://github.com/me-ica/me-ica.git.

Usage

ME-ICA minimally requires:

  1. acquired echo times (in milliseconds), and
  2. functional datasets equal to the number of acquired echoes.

But you can supply many other options, viewable with meica -h.

Command line options

Attention

Make sure your datasets have slice timing information in the header. If not sure, specify a --tpattern option. Check AFNI documentation of 3dTshift to see slice timing codes.

Tip

FWHM smoothing is not recommended. tSNR boost is provided by optimal combination of echoes. For better overlap of ‘blobs’ across subjects, use non-linear standard space normalization with --qwarp.

Indices and tables