处理 MRI 图像中的空帧

人工智能 深度学习 计算机视觉 自动编码器
2021-10-19 22:40:18

我最近开始研究深度学习在医学成像中的应用。在处理 BraTS 数据集中的 MRI 图像时,我观察到前几帧和最后几帧总是完全空的(黑色)。我想问那些已经在该领域工作的人,有没有办法在训练前以程序方式将它们删除,并在训练后作为后处理步骤正确添加它们(以符合地面实况分割的形状)?有人试过吗?我在谷歌上找不到任何结果。所以在这里问。

编辑:我认为我的观点不够清楚。我的意思是说每次MRI 扫描的前几帧和最后几帧都是空的。如何处理这些是我想问的。

2个回答

我研究过 BRATS 数据集,我可以验证这几乎是标准过程。除了扔掉完全空白的图像外,我还扔掉了序列开头和结尾的显示双桨尖端和颈部底部的图像。

通常在处理 MRI 时,我使用脚本来执行此操作(将其视为预处理步骤)我在每个图像上运行,计算具有正强度的像素数量(我实际上为此添加了一个小值以考虑噪声)。假设对于值为 0-255 的图像,我计算强度超过 10-15 的像素数量,我们称之为x. 之后我设置了一个阈值(根据经验),我们称之为t并丢弃图像x<t.

特别是对于 BRATS,因为您有标签,所以您可以查看其中哪些具有所需的类并丢弃其余的大部分。如果您尝试在数据集上训练网络,您将面临巨大的不平衡率。由于这个原因,我在训练网络时遇到了麻烦,而我获得的最大成功是当我丢弃了大部分不相关的图像时。

作为图像分析专家,我认为这不是问题。我从未使用过您描述的特定数据集中的 MRI 图像,但我发现包含图像的文件的格式是 NIfTI。NIfTI 文件可以在 Matlab(niftiread 函数)、ImageJ 和 Python(NiBabel-Nipy)中导入。因此,您应该能够编写一个脚本来从文件中导入图像,选择要保留的图像,并保存输出与输入的格式相同 (NIfTI)。