- AFNI
- Python 2.7
- numpy
- scipy
- scikit-learn
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. Running meica.py
without any options will check for dependencies and let you know if they are met. If you don't have suitable versions of dependencies installed, I would strongly recommend using the Enthought Canopy Python Distribution.
meica.py
: a master script that performs pre-processing and calls the ICA/TE-dependence analysis scripttedana.py
meica.libs
: a folder that includes utility functions for TE-dependence analysis for denoising and anatomical-functional co-registrationmeica.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
This means:
-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
Again, see 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.
./meica.rest1_e1/
: contains preprocessing intermediate files.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.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, etc...) for comparison to ME-ICA denoising.sub1_rest_hikts.nii.gz
: 'Isolated' BOLD time series dataset, without thermal noise.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.sub1_rest_mmix.1D
: Mixing matrix of all components, sorted in Kappa order.
For a step-by-step guide on how to assess ME-ICA results in more detail,
#Some Notes
- Make sure your datasets have slice timing information in the header. If not sure, specify a
--tpattern
option tomeica.py
. Check AFNI documentation of 3dTshift to see slice timing codes. - 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 instead with
meica.py ... --qwarp