Overview

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.