AFNI on ARC

From RCSWiki
Jump to navigation Jump to search

Background


AFNI (Analysis of Functional NeuroImages) is a leading software suite of C, Python, R programs and shell scripts primarily developed for the analysis and display of multiple MRI modalities: anatomical, functional MRI (FMRI) and diffusion weighted (DW) data. It is freely available (both as open source code and as precompiled binaries) for research purposes. The software is made to run on virtually any Unix system with X11 and Motif displays. Binary packages are provided for MacOS and Linux systems such as Fedora, CentOS/Red Hat and Ubuntu (which includes the Windows Subsystem for Linux).


SUMA is a program that adds cortical surface based functional imaging analysis to the AFNI suite of programs. It allows viewing 3D cortical SUrface models, and MApping volumetric data onto them. With SUMA, AFNI can simultaneously and in real-time render Functional Imaging data in 4 modes: Slice, Graph (time series), Volume and Surface with direct links between them. It can also render tractographic reconstructions from DTI models of white matter, as well as other objects such as electrode representations.


The Functional And Tractographic Connectivity Toolbox (FATCAT) contains several programs for processing and analyzing MRI data, in particular combining FMRI and diffusion-based data. The programs are designed to work straightforwardly with other analysis tools in the rest of AFNI and SUMA (as well as with other distributions). Moreover, it has already and continues to grow in functionality based on ongoing studies and, importantly, user suggestions.


AFNI Apptainer Containers

The more recent versions of AFNI installed on ARC have been built as Apptainer containers based off of the official public AFNI docker release: https://hub.docker.com/u/afni.

See also the documentation section about the container: https://afni.nimh.nih.gov/pub/dist/doc/htmldoc/background_install/container.html


The full path to the directory with the container files is /global/software/afni/containers.

To see what versions of containerized AFNI are available, use

$ ls -l /global/software/afni/containers/

-rwxr-xr-x 1 drozmano drozmano 718471168 Oct  5 13:27 afni-23.1.10.sif

Running commands from the containers

You can run a command from the container of your choice with the command line like this:

$ apptainer exec <container> <command> [command arguments]

For example, you want to use the container with AFNI 23.1.10, afni-23.1.10.sif, and you want to check the version of the afni command. This is how you can do that:

$ apptainer exec /global/software/afni/containers/afni-23.1.10.sif afni -ver

Precompiled binary linux_ubuntu_16_64_glw_local_shared: Jun 30 2023 (Version AFNI_23.1.10 'Publius Helvius Pertinax')

or help:

$ apptainer exec -B /scratch,/work,/bulk /global/software/afni/containers/afni-23.1.10.sif afni -help | less

 **** Help for all AFNI programs can be found at the Web page
    https://afni.nimh.nih.gov/pub/dist/doc/program_help/index.html

----------------------------------------------------------------
USAGE 1: read in sessions of 3D datasets (created by to3d, etc.)
----------------------------------------------------------------
   afni [options] [session_directory ...]

   -bysub       This new [01 Feb 2018] option allows you to have 'sessions'
....
....

Press "q" to exit.

To make it easier to type the long container file name, it can be assigned to an environmental variable, CONTAINER, for example:

$ export CONTAINER=/global/software/afni/containers/afni-23.1.10.sif

$ apptainer exec $CONTAINER afni_system_check.py -check_all

-------------------------------- general ---------------------------------
architecture:         64bit ELF
cpu type:             x86_64
system:               Linux
release:              4.18.0-477.27.1.el8_8.x86_64
version:              #1 SMP Wed Sep 20 15:55:39 UTC 2023
....
....

The variable will persist in your session and can be re-used for other commands.