FSL之bet2颅骨剥离 单个与批量操作

颅骨剥离的目的:
脑组织提取 , 即颅骨剥离 , 是将脑部组织 ( 脑白质和脑灰质 ) 与非脑部组织分离开来 , 剔除颅骨等脑外组织 。 在图像的处理分析中 ,脑组织提取通常作为预处理阶段 。 当图像的像素数量非常大时 , 为了降低算法运算量 ,提高算法运算效率和分割精度 , 需要将图像中的非脑部组织剔除 , 只保留脑部组织 。

当然,颅骨剥离的工具非常多,本文主要使用FSL-bet工具提取脑组织。
关于如何在windows环境下安装FSL可以参见这篇文章
FSL安装

1 FSL使用BET图像界面:

打开fsl工具:点击BET brain extraction:
image.png

进入界面:打开界面如下图所示:
A区:选择输入图像,输出图像会自动在文件夹最后加上 _brain 后缀
B区:分数强度阈值。默认为0.5.介于[0,1] 阈值越小,大脑轮廓越大,可能包含头骨。阈值越大,可能去的太过,脑组织都被去掉了。根据自己的图像可进行调整。
image.png

C区:脑部提取的方式,默认bet2
image.png

D区:高级选项区:勾选就会输出
Output brain-extracted image: 输出提取的大脑组织(默认勾选)
Output binary brain mask image: 输出二进制大脑掩码。就是属于大脑组织的部分为1,其余为0。(可选)
Apply thresholding to brain and mask image:阈值应用于大脑和蒙版图像选项会导致 BET 将阈值应用于大脑图像(如果选中,还可以应用于大脑蒙版)。因此,在估计的大脑内部,如果某些体素的强度低于自动估计的阈值,则可以在分割后“归零”。(不太懂,好像是说阈值可以将脑组织内部低于阈值的部分置0)
Output exterior skull surface image:输出颅骨外表面图像选项告诉 BET 生成一个图像,该图像是颅骨外表面的估计值。该图像中所有非颅面点为 0,颅面点为 100。(可选)
Output brain surface overlaid onto original image:把输入和输出叠在一起,方便看提取效果。(可选)

Threshold gradient:阈值梯度,默认为0,介于[-1,1]值偏向于-1,大脑底部提取范围变小,顶部范围变大。(当提取的不理想时,可调节阈值来看效果)

2 使用命令行-单个指令

图像界面一目了然,但只能单个处理,没法批量。命令行可以解决这个问题。可调的参数也更多。
终端输入bet2可查看使用说明,推荐使用bet2而不是bet

Usage: 
bet2 <input_fileroot> <output_fileroot> [options]
eg: bet2 T1Flair.nii.gz T1Flair_brain -o -m -f 0.5

参数解释
-o: 生成叠加图像。
-m: 生成掩码
-s: 生成颅骨外表面图像
-n: 如果不输出脑组织图像,则用这个参数
-f: 设置分数强度阈值,同前面一样
常用的就是这几个,其余的不再不介绍

sub-strokecase0002-dwi: 颅骨加上mask:
image.png
颅骨剥离后得到的结果:
image.png

3 使用命令行-批量操作

shell脚本语言:
以下是一个用于在给定文件夹中批量处理NIfTI文件的Shell脚本示例,使用 bet2 命令进行颅骨剥离和脑提取:

将下面代码保存为一个 .sh 文件,然后给予执行权限,如 chmod +x batch_bet.sh。替换 input_folder 为您的文件夹路径。然后在终端中运行 ./batch_bet.sh 即可执行批量处理。


# 20230828
# shell脚本 批量使用bte2颅骨剥离
#!/bin/bash



input_folder="input_folder"
output_folder="output_folder"

# 创建输出文件夹(如果不存在)
mkdir -p "$output_folder"

for nii_file in "$input_folder"/*.nii.gz; do
    filename=$(basename -- "$nii_file")
    filename_noext="${filename%.nii.gz}"
    
    # 使用 bet2 进行颅骨剥离和脑提取,并输出到指定的输出文件夹
    bet2 "$nii_file" "$output_folder/${filename_noext}_brain" -o -m -f 0.5
done

echo "Processing completed."

在这个修改后的示例代码中,输出文件被保存在$output_folder 变量指定的文件夹中。mkdir -p 命令会在运行时创建输出文件夹,如果该文件夹不存在的话。
“$output_folder/${filename_noext}_brain” 构建了输出文件的完整路径,包括输出文件夹、文件名前缀和后缀。
这个脚本会遍历输入文件夹中的所有 .nii.gz 文件,使用 bet2 命令进行颅骨剥离和脑提取,然后将输出的脑提取结果保存在与输入文件同名的文件中,后缀为 _brain。命令选项 -o 表示保存剥离的脑部,-m 表示保存脑部掩码,-f 0.5 表示使用阈值 0.5 进行脑提取。

image.png

4 参考:

【FSL之bet颅骨剥离】
https://blog.csdn.net/qq_29477893/article/details/90048569

【MRI数据预处理–使用FSL-BET轻松去头骨,提取脑组织】
https://blog.csdn.net/u014264373/article/details/124617863

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值