The components
The modules
aa has a modular design. Each module handles a single task, which may be peformed once per study, per subject or per session. All modules have a name that begins "aamod_" (e.g., aamod_realign). There are a few modules that process your input parameters or perform other setup tasks, which are run every time you launch an aa analysis. These are called "initialisation modules".
The engine
The engine (usually via the aa_doprocessing command) takes a description of the tasks you wish to perform, and then runs the appropriate modules. It also provides a number of helper subroutines to support the modules (beginning aas_), and also some useful utilities such as the aa_benchmark command to measure analysis times, and the aa_report tool to generate an HTML summary.
Specifying an analysis
The components of the aa system are arranged in a hierarchy. At the top recipes describe whole processing pipelines. They are made up of a selection of parameter sets, each of which defines a group related parameters. Finally, the individual parameters actually specify what happens. aa recipes begin with 'aarecipe_' and parameter sets 'aap_'
In your user script you must choose a recipe. If you wish, you may then override single parameters. Occasionally, you may also wish to override whole parameter sets from a recipe chosen.
The entire specification is contained in a single Matlab structure, usually called 'aap'. This has many elements, to store each of the paramter sets, and one that specifies the SPM default settings.
An overview of the different types of components is shown in this table:
Component |
Description |
Location of file |
Expertise needed to write new ones |
User script |
Sets up a description of the analysis to be performed. Selects a recipe, adds study specific information, and changes any defaults |
User's directory |
Beginner |
Recipes |
A full description of the processing pipeline. This is implemented by choosing a group of parameter sets. |
Centrally |
Beginner/ Intermediate |
Parameter sets |
Groups of related parameters. There are five different basic types of parameter set |
Centrally |
Intermediate |
Modules |
Run individual stages of processing |
Centrally |
Some Matlab experience |
Engine |
Main automatic analysis engine, which contols module execution |
Centrally |
Advanced |
The most important of these by far from the user’s point of view is the “User script”. The next section describes this.