⚠️ PLEASE NOTE This code base is currently unmaintained. No new feature enhancements or bug fixes will be considered at this time.
We encourage prospective users to instead consider tedana, which maintains and extends many of the multi-echo-specific features of ME-ICA.
This repository is a fork of the (also unmaintained) Bitbucket repository.
Install Python and other dependencies. If you have AFNI installed and on your path, you should already have an up-to-date version of ME-ICA on your path. Running
meica.py without any options will check for dependencies and let you know if they are met. If you don't have numpy/scipy (or appropriate versions) installed, I would strongly recommend using the Enthought Canopy Python Distribution. Click here for more installation help.
meica.py: a master script that performs preprocessing and calls the ICA/TE-dependence analysis script
meica.libs: a folder that includes utility functions for TE-dependence analysis for denoising and anatomical-functional co-registration
meica.libs/tedana.py: performs ICA and TE-dependence calculations
fMRI data is called: rest_e1.nii.gz, rest_e2.nii.gz, rest_e3.nii.gz, etc. Anatomical is: mprage.nii.gz
meica.py and tedana.py have a number of options which you can view using the -h flag.
Here's an example use:
meica.py -d rest1_e1.nii.gz,rest1_e2.nii.gz,rest1_e3.nii.gz -e 15,30,45 -b 15s -a mprage.nii --MNI --prefix sub1_rest
-e 15,30,45 are the echo times in milliseconds -d rest_e1.nii.gz,rest_e2... are the 4-D time series datasets (comma separated list of dataset of each TE) from a multi-echo fMRI acqusition -a ... is a "raw" mprage with a skull -b 15 means drop first 15 seconds of data for equilibration --MNI warp anatomical to MNI space using a built-in high-resolution MNI template. --prefix sub1_rest prefix for final functional output datasets, i.e. sub1_rest_....nii.gz
meica.py -h for handling other situations such as: anatomical with no skull, no anatomical at all, applying FWHM smoothing, non-linear warp to standard space, etc.
Click here more info on group analysis.
./meica.rest1_e1/: contains preprocessing intermediate files. Click here for detailed listing.
sub1_rest_medn.nii.gz: '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. See here for information on degrees of freedom in denoised data.
sub1_rest_tsoc.nii.gz: '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, blah...) for comparison to ME-ICA denoising.
sub1_rest_mefc.nii.gz: Component maps (in units of \delta S) of accepted BOLD ICA components. Use this dataset for ME-ICR seed-based connectivity analysis.
sub1_rest_mefl.nii.gz: Component maps (in units of \delta S) of ALL ICA components.
sub1_rest_ctab.nii.gz: Table of component Kappa, Rho, and variance explained values, plus listing of component classifications. See here for more info.
For a step-by-step guide on how to assess ME-ICA results in more detail, click here
meica.py. Check AFNI documentation of 3dTshift to see slice timing codes.
meica.py ... --qwarp