FreeSurfer 是一个功能强大的神经影像学分析软件包,广泛用于处理和可视化大脑的横断面和纵向研究数据。本文详细记录了 Freesurfer 软件安装的全过程以及部分使用教程。
一. Ubuntu 20.04 LTS Download
-
前往 releases.ubuntu.com/20.04.6/ 以下载 ubuntu-20.04.6-desktop-amd64.iso;
-
- 使用 VMWare :详见 blog.csdn.net/weixin_5279…,请至少给虚拟磁盘分配超过 60GB 的存储空间;
- 安装到电脑或移动磁盘中:使用 UltralISO 制作 Ubuntu 启动U盘后直接进行安装,详细安装教程参考 blog.csdn.net/weixin_4291…;
-
换源以确保后续软件安装顺利:
- 备份软件源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
- 编辑软件源文件:
sudo nano /etc/apt/sources.txt
# 或
sudo vim /etc/apt/sources.txt
注:仅为文本编辑器差别。
- 删除该文件里的全部内容,复制以下内容之一直接替换:
阿里云源:
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
清华源:
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
中科大源:
deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
- 保存并退出文本编辑器后,在命令行中输入以下命令:
sudo apt-get update -y # 访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑
sudo apt-get upgrade -y # 与源列表网址中软件版本进行对比,检查是否需要更新
二. Freesurfer 7.4.1 Download
- 前往 surfer.nmr.mgh.harvard.edu/fswiki/rel7… 选择 Linux 下适用于 Ubuntu20 amd64 的安装包 (本文以freesurfer_ubuntu20-7.4.1_amd64.deb为例) 。
- 在你的下载目录 (通常为
/home/user_name/下载) 输入以下命令安装,安装后软件目录为/usr/local/freesurfer;
sudo dpkg -i freesurfer_ubuntu20-7.4.1_amd64.deb # 安装 freesurfer
注:此处可能出现软件环境缺失的问题,请自行下载对应环境。
3.在 surfer.nmr.mgh.harvard.edu/fswiki/Down… 下的 License 栏单击 Follow this link to obtain a license key 以获取软件许可证;
发送至邮箱或在网页下载后,将 license.txt 移动到
/usr/local/freesurfer 下;
sudo mv ~/下载/license.txt /usr/local/freesurfer/licenses/
- 配置 Freesurfer 环境:
# 设置环境变量指向 freesurfer
export FREESURFER_HOME=/usr/local/freesurfer/7.4.1
echo "export FREESURFER_HOME=/usr/local/freesurfer/7.4.1" >> $HOME/.bashrc
# 设置环境变量指向 license.txt
echo "export FS_LICENSE=$HOME/license.txt" >> $HOME/.bashrc
# 设置显示的环境变量
echo "export XDG_RUNTIME_DIR=$HOME/.xdg" >> $HOME/.bashrc
echo "export DISPLAY=:0" >> $HOME/.bashrc
# 设置当每次打开linux命令窗口时配置freesurfer
echo "source $FREESURFER_HOME/SetUpFreeSurfer.sh" >> $HOME/.bashrc
- 重启 Linux 命令窗口,查看是否自动显示刚刚配置的环境变量;
- 选择一个你喜欢的路径(多为
/home/user_name下)设置环境变量 SUBJECTS_DIR 以处理以后所有的 freesurfer 项目文件。
echo "export SUBJECTS_DIR=$HOME/freesurfer_subject" >> $HOME/.bashrc
注:此处 $HOME 即为
/home/user_name。
- 输入 freeview 以打开图形界面。
三. 处理文件(以 IA-HC01-mprage.nii.gz 为例)
注:如果个人没有相应文件,可使用 Freesurfer 自带的 test 数据文件进行测试,此处仅作为简单使用教程。
- 打开命令行输入以下命令:
recon-all -s IA-HC01 -i IA-HC01-mprage.nii.gz -all -openmp 16
- -s IA-HC01 :设置项目名称为 IA-HC01 ,处理结果将保存在
$SUBJECTS_DIR/IA-HC01目录中;- -i IA-HC01-mprage.nii.gz :输入原始T1加权MRI图像(即 NIfTI 格式);
- -all :执行完整的 Freesurfer 处理流程;
- -openmp 16 :尝试使用16个 CPU 线程加速计算(可省略该命令或修改具体数值)。
执行速度可能为1h~2h不等(以 联想 LEGION R7000P 2021 R7-5800H 为例)。
如果认为耗时较长,可分开执行以下指令:
# 完成头骨剥离、强度标准化和初始配准
recon-all -s IA-HC01 -i IA-HC01-mprage.nii.gz -autorecon1 -openmp 16
# 检查脑组织是否提取完整,是否残留头皮或眼眶
freeview -v IA-HC01/mri/T1.mgz IA-HC01/mri/brainmask.mgz
# 完成白质分割和灰质/白质边界
recon-all -s IA-HC01 -autorecon2 -openmp 16
# 检查白质表面是否贴合解剖结构
freeview -v IA-HC01/mri/T1.mgz \
IA-HC01/mri/wm.mgz \
-f IA-HC01/surf/lh.white:edgecolor=blue
# 完成皮层表面、配准到标准空间、体积分割和统计
recon-all -s IA-HC01 -autorecon3 -openmp 16
# 检查皮层表面是否平滑,分割结果是否合理
freeview -v IA-HC01/mri/T1.mgz \
IA-HC01/mri/aseg.mgz:colormap=lut:opacity=0.2 \
-f IA-HC01/surf/lh.pial:edgecolor=red
生成文件及其功能列表如下:
-
结构影像:
- mri/brainmask.mgz:大脑掩膜文件,去除头骨和非脑组织后的二值掩膜;
- mri/T1.mgz:经过预处理的高分辨率 T1 加权结构图像(已配准),可用于后续分割或表面重建;
- mri/wm.mgz:白质概率图,表示白质组织的空间分布,用于皮层表面重建的初始分割依据;
-
皮层表面文件:
- surf/lh.white 与 surf/rh.white:左右半脑白质表面的三角网格模型,标记灰质/白质边界;
- surf/lh.pial 与 surf/rh.pial:左右半脑软脑膜表面的三角网格模型,标记灰质与脑脊液边界;
-
分割、统计文件:
- mri/aseg.mgz:自动亚结构分割结果,标记所有解剖结构体素;
- stats/aseg.stats:亚结构分割的统计报告,包括体积、表面积等量化指标。
- 提取所需数据:
- 灰质体积:从
aseg.stats中提取并相加:
# 提取为 csv 格式的表格
asegstats2table --subjects IA-HC01 --meas volume --tablefile aseg_volumes.csv
注:csv 格式可导入 Excel。
- 颅内总体积:从
aseg.stats中查找 EstimatedTotalIntraCranialVol 片段:
grep EstimatedTotalIntraCranialVol aseg.stats
- 皮层厚度与表面积:使用
aparc.stats文件(基于Desikan-Killiany图谱):- 平均厚度:各 ROI 的平均值;
- 表面积:各 ROI 的总和。
# 左右脑分开计算
# 皮层厚度
aparcstats2table --subjects IA-HC01 --hemi lh --meas thickness --tablefile lh_thickness.csv
aparcstats2table --subjects IA-HC01 --hemi rh --meas thickness --tablefile rh_thickness.csv
# 总面积
aparcstats2table --subjects IA-HC01 --hemi lh --meas area --tablefile lh_area.csv
aparcstats2table --subjects IA-HC01 --hemi rh --meas area --tablefile rh_area.csv
注:由于
aparcstats2table命令不支持合并计算,所以需要计算后自行合并全脑数据。
- 灰质:使用 Freesurfer 掩膜提取原始结构像中的灰质:
# 提取所有灰质结构:
mri_binarize --i aseg.mgz --match 3 42 8 47 11 12 13 17 18 10 49 50 51 52 53 54 \
--o gray_mask.mgz
灰质标签:
- 海马(17,53)、杏仁核(18,54)
- 基底节(壳核12,51、苍白球13,52、尾状核11,50)
- 丘脑(10,49)、小脑皮质(8,47)
# 将生成的灰质掩膜转换为 NIfTI 格式
mri_convert $SUBJECTS_DIR/IA-HC01/mri/gray_mask.mgz \
$SUBJECTS_DIR/IA-HC01/mri/gray_mask.nii.gz
# 可使用 freeview -v 检查掩膜是否正确
freeview -v $SUBJECTS_DIR/IA-HC01/mri/orig.mgz \
-v gray_mask.nii.gz:colormap=jet:opacity=0.5
# 将 Freesurfer 输出的分割文件转换为 NIfTI 格式(以灰质为例)
mri_convert $SUBJECTS_DIR/IA-HC01/mri/aparc+aseg.mgz gm_mask.nii.gz
使用 Python 和 Nibabel 提取灰质:
import nibabel as nib
img = nib.load("T1.nii.gz")
mask = nib.load("gm_mask.nii.gz")
gm_data = img.get_fdata() * mask.get_fdata()
nib.save(nib.Nifti1Image(gm_data, img.affine), "gm_image.nii.gz") # 输出 .nii.gz
# nib.save(nib.Nifti1Image(gm_data, img.affine), "gm_image.nii") # 输出 .nii