FreeSurfer 第三弹(预处理结果以及freeview可视化初步)

本文介绍了FreeSurfer在dem1和dem2文件夹中的预处理过程,包括recon-all.log日志检查、fsaverage标准空间、各类表面模型文件及其用途。同时,详细说明了如何在终端中使用freeview图形用户界面查看和分析.mgz格式的MRI数据和aparc/a2009+aseg分割结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FreeSurfer 第三弹(预处理结果以及freeview可视化初步)

跑过recon重建之后,结果就放在以下两个文件夹(demo1、demo2)
fsaverage文件是freesurfer用的标准空间
在这里插入图片描述

demo1-scripts文件夹下:
-recon-all.log日志文件:可以打开看文档最下面的运行结果,检查看程序运行上是否报错。
-gtmse.mgz.log:皮质下结构分割的
-pctsurfcon.log: 皮层灰白质分离
常用的数据在文件夹:
-label
-mri
-surf

  1. label文件夹中:
    后缀为.catb:颜色表格,用来给.annot上色的
    .label是每一个annot中具体的分割块
    分的粗点就选DKT,分的细点就选2009的
    在这里插入图片描述

  2. surf文件夹下:
    lh.pial:lh表示左脑,表示该病人根据其软脑膜勾勒出来的脑皮层模型
    lh.white:根据灰白质的交接绘制出来的
    lh.inflated:是将脑吹膨胀之后所得到的脑模板信息
    lh.area:左脑面积
    lh.area.fsaverag

### 使用 FreeSurfer 处理 T1 加权图像并基于 AAL 模板提取特定区域灰质体积的方法 #### 准备工作 为了实现这一目标,首先需要确保已经成功安装并配置好了 FreeSurfer 和其他必要的工具包。完成 T1 加权图像的预处理后,可以利用 `mri_convert` 或者 `tkregister2` 将原始空间下的数据转换到标准 MNI 空间。 #### 转换至标准化空间 由于 AAL 模板位于 MNI 标准空间内,因此需先将个体化的解剖结构映射至此空间。这一步骤可通过执行如下命令来达成: ```bash mri_vol2vol --mov aseg.mgz --targ $FREESURFER_HOME/average/mni305.cor.mgz \ --regheader --o aseg_mni305.nii.gz --no-resample ``` 此操作会生成一个名为 `aseg_mni305.nii.gz` 的文件,在其中包含了按照 MNI 坐标系排列好的分割信息[^1]。 #### 获取感兴趣区 (ROI) 掩码 接下来要获取所关心脑区对应的二值掩码。假设已知所需 ROI 名字,则可以通过查询 AAL 文档找到对应编号,并据此制作掩码。例如,对于 rACC 这样的区域,可以在 MATLAB 中编写脚本来读取 AAL nii 文件并导出指定 ID 对应的部分为新的 NIfTI 文件。 MATLAB 示例代码: ```matlab % Load the AAL template and define target region IDs aalTemplate = load_untouchable('AAL_template_path'); % Replace with actual path to your AAL file targetRegionIDs = [9, 10]; % Example IDs for bilateral ACC regions; adjust as needed based on documentation % Create binary mask of selected ROIs roiMask = ismember(aalTemplate.img, targetRegionIDs); % Save new NIfTI image containing only these ROIs save_nifti(roiMask, aalTemplate.hdr, 'selected_rois_mask.nii'); ``` 上述过程中涉及到了加载 AAL 模板以及保存新创建的掩码文件的操作;具体函数名可能因使用的库不同而有所变化,请参照实际环境调整相应部分[^2]。 #### 计算灰质体积 最后一步就是计算这些区域内所有体素的数量乘以其各自的体积(通常是 mm³),从而得出总体积数值。考虑到之前得到的是布尔类型的数组形式表示的掩码,可以直接应用逻辑运算符筛选符合条件的位置再求和即可获得最终结果。 Python 实现示例: ```python import nibabel as nib import numpy as np # Load processed segmentation data from previous step seg_data = nib.load('aseg_mni305.nii.gz').get_fdata() # Load previously created ROI mask mask_data = nib.load('selected_rois_mask.nii').get_fdata().astype(bool) # Calculate volume by counting voxels within masked area multiplied by voxel size voxel_volume_mm3 = abs(np.prod(nib.load('aseg_mni305.nii.gz').header.get_zooms())) gray_matter_volume_mm3 = np.sum(seg_data[mask_data]) * voxel_volume_mm3 print(f"Gray matter volume in specified ROIs: {gray_matter_volume_mm3:.2f} cubic millimeters") ``` 这段 Python 代码展示了如何读入先前准备好的分割数据与 ROI 掩码,并通过简单的数学运算得到了选定区域内灰质的具体量度。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青柠薯片的打怪小路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值