MCW AFNI是“Medical College of Wisconsin Analysis of Functional NeuroImage”的缩写形式。由美国Wisconxin医学院生物物理研究所开发研制,主要开发者为Cox博士。
AFNI是一个交互式的脑功能成像数据分析软件。它可以将低分辨率的脑功能成像的实验结果叠加在具有较高分辨率的脑结构成像上进行三维显示。
AFNI程序分为两种,一种是利用AFNI界面本身直接运行的程序(GUI mode),另一种是脱离AFNI界面执行的辅助程序(Batch mode)。另外还提供了可供扩展功能的Plugins。
1 如何获得并安装AFNI(How to download and install AFNI)AFNI可运行在多个操作系统下,推荐使用Linux系统。可在
http://afni.nimh.nih.gov/afni下载源程序linux_gcc32.tgz ,并解压至/usr/local/bin目录下,可以直接使用。如提示无执行权限,可使用chmod 777 *命令修改文件权限。
(Linux的使用技巧:输入命令后,长文件名可以输入部分字母,然后按Tab键自动补上;对于较长的命令行,可在行尾加上空格和”\”回车再续行)
2 基本概念(Fundamental AFNI concepts)数据集(datasets) 和集合(session) 是AFNI 中的两个基本概念,下面作简要的介绍。
2.1 数据集(datasets)AFNI 中的基本数据单位是数据集(datasets),它是指由一个或者多个图像的3D 数据块(bricks)以及与之相关的附加信息所组成的数据集。 数据集有两种基本的类型:解剖数据集和功能数据集。AFNI 在进行数据集处理时在任何时候都是以解剖数据集作为背景,再将功能数据集叠加到解剖数据集上。
对于功能数据集,它有5 种类型:fim、fith、fico、fitt和fift。 其中各个类型的具体解释如下:
(注:f为function功能,i为intensity强度,th表示threshold阈值,co表示correlation相关,tt表示t-test,ft表示F-test)
fim 表示功能强度,每个体素用一个值表示。
fith 表示功能强度及阈值,每个体素用2 个值表示,第一个值表示“强度”,第二个值表示阈值,用来表示哪一个点是激活点。
fico 表示功能强度及相关性,每个体素用2 个值表示,第一个值表示“强度”,第二个值表示相关系数( -1.0 到1.0 之间) ,当给出一个显著性值p 时,确定激活点。
fitt 表示功能强度及t-test,每个体素用2 个值表示,第一个值表示“强度”,第二个值是t 检验值,当给出一个显著性值时,确定激活点。
fift 表示功能强度及F-test ,每个体素用2 个值来表示,第一个值表示强度,第二个值是F检验值,当给出一个显著性值时,确定激活点。
对应于每个体素的值,可以有4 种数据类型:byte、short、float和complex。
Byte型为8位有符号整数,表示范围为0~255,最多有3位有效数字;
Short型为16位有符号整数,表示范围为-32768~32767,最多有5位有效数字;
Float型为32位实数,最多有7位有效小数。
在AFNI 中,数据集存储为两种类型的文件:头文件(header) 和块文件(brick) 。
所有的数据集都有规定的命名方式,其基本形式是:prefix + view. NAME。
prefix 由用户指定;“+ view”表示数据集的显示形式(坐标系),由AFNI自动生成,通常有3 种类型即:+orig, +acpc,+tlrc,分别表示原始数据、ACPC和Talairach坐标系。NAME 可为BRIK或HEAD。
块文件存储了所有的3D 原始数据(Brick)及由AFNI程序计算衍生的统计参数数据。
头文件包含了所有的辅助信息,它提供了解释块文件的所有信息,以ASCII 的形式存储。通常包含以下信息:
(1) 每个体素x,y,z方向的大小(mm);
(2) 数据集的轴向:例如,X-axis为R-L,
Y-axis为AP,Z-axis为I-S,则为水平层面;
(3) 数据集在扫描坐标的定位;
(4) 3D数据集每个sub-brick之间的时间间隔
3D+time数据集为fMRI的基本数据集;
(5) 统计结果衍生的功能数据集,头文件包括与统计方法有关的参数,如t-test、F-test的自由度。
2.2 数据集的存储然而,并不是每一个数据集都必须包含一个BRIK文件。当需要时图像的显示可以由真正含有.BRIK文件的父数据集变换而来。这种功能称为“Warp-on-Demand”,如空间标准化时生成的Talairach图像。
在程序设计时,图像数据集数组可以有两种方式实现存储。一种是使用malloc函数分配内存空间,另一种是使用UNIX 的mmap 函数。mmap 函数直接将.BRIK文件映射到内存地址空间。这种映射是以只读方式实现。
2.3 数据集块和子数据集块一个数据集可以含有一个或多个3D 数据集子块(sub-bricks)。例如,一个3D+time数据集本质上是由包含3D 数据集子块构成的数组,每一个时间点的数据可以是一个数据集子块(sub-brick);又如,一个bucket数据集也是由多个3D 数据集子块组成。
2.4 集合或路径(session)包含一系列数据集的路径称为一个session,AFNI 只读取形式为*. HEAD 和*. BRIK 的文件。也就是说,只能在某一个实际路径中运行AFNI。
所有存放在同一session的数据集,如果显示格式相同,则认为x,y,z坐标是配准的。所以可将一数据集(常为功能数据集)重叠在另一数据集上(常为解剖数据集),即使其轴向和体素大小不一致。
通常,在同一session目录中,是从一个被试一次扫描session中获得及其衍生的数据,通常包括:
(1) 解剖参考数据集(SPGR 或MP-RAGE);
(2) 10~20个3D+time EPI function runs;
(3) 从3D+time数据集计算获得的统计数据集,用来显示激活;
(4) 从orig转换至tlrc的数据集,用于被试间的比较。
2.5 文件类型 AFNI除能识别BRIK和HEAD文件外,还可以识别下列文件格式:
ANALYZE (.hdr/.img file pairs): SPM, FSL所使用的格式;
MINC (.mnc): MNItools所使用的格式;
CTF (.mri, .svl): MEG analysis volumes;
NIfTI-1 (.nii): 一个新的由AFNI, SPM, FSL, and BrainVoyager达成协议的标准格式;
ASCII text (.1D): 按列排放的数字,如刺激处理参数。