aimsdata  5.1.2
Neuroimaging data handling
AIMS documentation

AIMS is constantly under changes. Several things are moving, or are being rewritten in a cleaner and more modern way into cartobase or cartodata, our newer library for medical imaging structures. The IO system is in the process of being reimplemented in somaio.

A very incomplete developer documentation can also be read here.

Some bits of user documentation can be found here.

What does AIMS mean ?

Well, nobody really knows... Analyse d'IMages et de Signaux, perhaps ?

Provided libraries and commands:

  • libraries:
    • aimsdata library: structures and IO
    • aimsgui library: Qt widgets related to aimsdata structures
    • several IO plugins libraries: aimsdicom, aimsecat, aimsminc, aimsqtformats, aimstiff, aimsvida
  • commandlines:
    • file information and conversion: AimsFileInfo, AimsFileConvert, AimsGraphConvert, AimsSetMinf, AimsAttributedViewer
    • cut / cat / merge and other simple operations: AimsTCat, AimsSubVolume, AimsOverVolume, AimsFlip, AimsMerge2RGB, AimsSplitRGB, AimsGraphMerge, AimsMergeLabel
    • simple, basic processing: AimsThreshold, AimsAverage, AimsMassCenter, AimsMeshArea
    • more specific conversions: AimsTex2Graph, AimsGraphComplete
    • coordinates transformations: AimsComposeTransformation, AimsInvertTransformation, AimsGraphExtractTransformation
    • labels selection (ROI): AimsLabelSelector, AimsSelectLabel
    • other mesh operation: AimsMeshGenerate, AimsMeshCut
    • ...


AimsData now relies on CartoData and on Graph, and so needs their requirements.

Additionally, some shared data may be needed by some commands (see the shared project).

To run correctly, at least one environment variables has to be set:

  • BRAINVISA_SHARE has to point to the global share directory
  • for backwards compatibility, if $BRAINVISA_SHARE is not set, then $SHFJ_SHARED_PATH is used instead. But it is deprecated, please do not use it any longer
  • normally BRAINVISA_SHARE is enough. But if AIMS-specific shared data are not located in the standard $BRAINVISA_SHARE/aims-<aims_version> or $BRAINVISA_SHARE/aims directory, then an additional AIMS_PATH variable may to point to AIMS shared directory.
  • In aims 3.2, if no variable is set, the share directory is searched from the $PATH environment variable.


Use CMake, a cross-platform and open-source build system. More information on The BrainVISA-cmake build system. See also this page on BrainVISA website.

Main contents:

  • namespace: aims
  • Data structures for:
  • AIMS input / output system, currently in the process of being rewritten in soma-io: see IO system
  • commandline parsing: AimsApplication
  • miscelaneous utilities: utility package and Converter specializations for volumes, buckets, textures, RGB
  • IO plugins for several IO formats that use external libraries
  • common math algorithms: integration, LU decomposition, ...
  • aimsgui: Qt widgets for graphical interfaces related to AIMS objects
  • ...

Other programming rules and notes: