9.7.9.理解NiftiMasker和mask计算

9.7.9. 理解NiftiMasker和mask计算

原文:
https://nilearn.github.io/auto_examples/06_manipulating_images/plot_mask_computation.html?highlight=compute_epi_mask

在本例中,在本例中,Nifti掩码器(Nifti masker)用于自动计算掩码。
三种策略:
默认策略基于背景(background)
还可以使用模板(template)
对于原始EPI(raw EPI),如在静息状态或看电影时间序列中,我们需要使用NiftiMasker的“EPI”策略。

此外,我们展示了使用epi时如何微整不同参数nilearn.masking.compute_epi_mask。

from nilearn.input_data import NiftiMasker
import nilearn.image as image
from nilearn.plotting import plot_roi, plot_epi, show

基于背景计算掩码(mask)

计算掩码的默认策略(例如在NiftiMasker中)是尝试检测背景。
对于已经被修饰(masked)的数据,这将很好地工作,因为它位于一个同质的背景上

#加载Miyawaki数据
# Load Miyawaki dataset
from nilearn import datasets
miyawaki_dataset = datasets.fetch_miyawaki2008()
#打印数据集的基本信息
# print basic information on the dataset
print('First functional nifti image (4D) is located at: %s' %
      miyawaki_dataset.func[0])  # 4D data

miyawaki_filename = miyawaki_dataset.func[0]
miyawaki_mean_img = image.mean_img(miyawaki_filename)
plot_epi(miyawaki_mean_img, title='Mean EPI image')

在这里插入图片描述
使用默认(基于背景)

masker = NiftiMasker()
masker.fit(miyawaki_filename)

# Plot the generated mask using the mask_img_ attribute
plot_roi(masker.mask_img_, miyawaki_mean_img,
         title="Mask from already masked data")

在这里插入图片描述
用generate_report方法绘制生成的mask

report = masker.generate_report()
report

在这里插入图片描述

9.7.9.2. 计算raw EPI数据的mask

对于raw EPI 数据来说没有一致的背景,因此要使用新的策略

#Load movie watching based brain development fmri dataset
dataset = datasets.fetch_development_fmri(n_subjects=1)
epi_filename = dataset.func[0]

#为了加速计算,把数据限制在100帧
# Restrict to 100 frames to speed up computation
from nilearn.image import index_img
epi_img = index_img(epi_filename, slice(0, 100))
#显示背景
# To display the background
mean_img = image.mean_img(epi_img)
plot_epi(mean_img, title='Mean EPI image')

在这里插入图片描述
从EPI图像中提取简单的掩码我们需要指定一个“epi”策略,因为这是原始EPI数据。

masker = NiftiMasker(mask_strategy='epi')
masker.fit(epi_img)
report = masker.generate_report()
report

在这里插入图片描述
生成较为展开的掩码

我们可以通过使用NiftiMasker的mask_args参数增加打开步骤的数量(opening=10)来微调掩码的轮廓。这有效地对掩码的外部体素层执行侵蚀和膨胀操作,例如可以移除图像中剩余的颅骨部分。

masker = NiftiMasker(mask_strategy='epi', mask_args=dict(opening=10))
masker.fit(epi_img)
report = masker.generate_report()
report

在这里插入图片描述
生成较低截止值的掩码
NiftiMasker调用nilearn.masking.compute_epi_mask函数从EPI计算掩码。它有两个重要的参数:下限截止和上限截止。这些设置了灰度值界限,在该界限中,掩码算法将搜索其阈值(0是图像的最小值,1是最大值)。我们将在这里增加下限,以强制选择那些在EPI图像中显示为明亮的体素。

masker = NiftiMasker(mask_strategy='epi',
                     mask_args=dict(upper_cutoff=.9, lower_cutoff=.8,
                                    opening=False))
masker.fit(epi_img)
report = masker.generate_report()
report

在这里插入图片描述

使用MNI模板计算掩码

还可以从MNI灰质模板计算掩模。在这种情况下,它被重采样到目标图像

masker = NiftiMasker(mask_strategy='template')
masker.fit(epi_img)
report = masker.generate_report()
report

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值