Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Table of Contents
Automatic analysis (aa) is a pipeline system for neuroimaging, written in Matlab. It supports SPM 5/8 and some functions from FSL.
- Automatic. Virtually automatic analysis: full group-level statistics using a typical fMRI recipe with minimal coding
- Flexible control. Users new to neuroimaging are directed to what is essential with other settings taking sensible defaults. More experienced users can easily change a range of settings, and advanced users can modify components of the system to change any behaviour.
- Restartable. If AA stops for any reason, restarting it will make it begin at the stage where it left off.
- Parallel processing. Where multiple machines are available, AA jobs can seamlessly be distributed across them.
- Well behaved. Field maps and structurals are automatically detected. Structurals can be automatically copied to a chosen location.
- Minimal overhead. To run an analysis, you only need one short script, and access to the aa library, which is typically installed in a central location at each site as a read-only directory structure. Individual settings can then be changed, new files added or files overridden. This means that the number of scripts for each new fMRI study is kept minimal, making it easier to track down what happened at a later date.
- Easy to maintain The code components are stored in a github repository, such that changes and new components can be easily be released and updated.
- Record keeping. Unlike SPM used from the GUI, the system records all parameters used, and allows easy recreation of a dataset from the raw data at a later date.
- Modular, with simple interface. Matlab programmers can easily write new modules and incorporate them into the processing stream.
- Support for EEG & MEG as well as FMRI. Exploit the power of SPM's unique source localisation and multiple comparisons correction.
2012-2013 many new features and updates (e.g., ANTs, MVPA, VBM, diffusion with FSL, freesurfer)- check github commits. 13/3/2012 new feature
- You may now set up more complex pipelines by qualifying inputs to a module in the xml (or programatically) like this:
<inputstreams> <stream>aamod_realign00001.epi</stream> </inputstreams>
Jan 2012 bugfix
- There was a bug in aamod_firstlevel_model that will have disrupted your events if you used durations that different from onset to onset, and you didn't pre-sort your onsets (i.e., they weren't in ascending temporal order)
- added fieldmap capability with unwarping
- extended (more robust) coregistration of EPIs & structural to MNI templates
- robust brain extraction with fsl BET
- capability for multiple structurals (e.g. MP2RAGE; T1&T2)
- automatic detection of volume TR for Siemens 3D sequences
- new diagnostic images (e.g. fsl BET, normalisation and extended coregistration)
20/3/2011 new documentation Style Guide, How to convert version 3 modules to version 4
20/3/2011 new documentation new page on streams
19/3/2011 new feature Ability to select particular sessions to be run on a branch of a tasklist
17/3/2011 new feature New first level model and contrast scripts with little or no scripting The "AA" (Automatic Analysis) software package automates the analysis of neuroimaging data using SPM. It is written in Matlab and designed to be compatible with recent versions of SPM (SPM 5 and SPM 8) and NIFTI data.
It has been developed by cusacklab.org with contributions from others at the MRC CBU in Cambridge, UK, the Brain and Mind Institute at Western University, and the Donders Centre for Cognitive Neuroimaging
Handling multiple DICOM sources
- Colon-separated-list (CSL) for rawdatadir:
aap.directory_conventions.rawdatadir = ‘/mridata/cbu:/mridata/csl:/mridata/camcan’; % default at the moment (see aap_parameters_defaults_CBSU.xml)
Support for NIFTI-4D images
- As a default, NIFTI-3D is set. To enable NIFTI-4D, you have to specify it in the UMS:
aap.options.NIFTI4D = 1; % 4D support; typical value 0
Multi-level interlinked reporting
- Levels: Study, Subjects, Summaries
- Summaries (between-subject reports): Subjects (within-subject reports), Motion correction, Registration, First-level thresholded maps
- Based on `aap` structure
- If you are in the analysis folder
"Inheritable" parameter settings
There is an option to have site-, user-, and/or study-specific parameter settings containing only the parameters to be overridden.
It is possible to specify Subjects, Sessions and Events based on a text file.
- fMRI: First-level thresholding, PPI, Partial volume registration
- Diffusion: Nonlinear DTI, DKI
More flexible pipelines
- Simpler to specify and so fewer opportunities to make mistakes
- Easy reordering of modules
- Arbitrarily branched pipelines
- Structured record of inputs and outputs from each module
- Results are structured, making them quicker to navigate or tidy up
- If you change some earlier stage, only the later stages that can be affected are redone
- There are more opportunities for parallel execution of modules
- Easy specification of fMRI models and contrasts with minimal or no Matlab coding . It's as easy as adding lines like this to your user script:
- Support for multi-echo EPI data
- VBM with Dartel (from Jonathan Peelle)
- MVPaa (Multi Voxel Pattern [automatic] analysis; from Alejandro Vicente Grabovetsky)
- The system knows what specific data any given module needs, and can just provide it with this. This allows better use of local scratch storage, rather than relying on remote (NFS or Amazon S3) file storage.
- In-built integration with cloud computing
Note: This wiki hosts the documentation for the Automatic Analysis (AA) program. Continue onward to the AA documentation by using our navigation sidebar.