【影像组学入门百问】#44--#50

发布时间:2023年12月27日

#44-PyRadiomics支持哪些输入图像和掩膜的文件类型?

PyRadiomics使用SimpleITK进行图像加载和处理。因此,所有由SimpleITK支持的图像类型都可以作为PyRadiomics的输入。请注意,图像/掩膜只能提供一个文件位置。

如果您的输入图像是DICOM格式,事情会变得更加复杂。如果您要处理以DICOM格式存储的单个2D图像切片,可以像使用其他格式一样使用它。然而,如果您正在处理一个体积数据集,您应该首先确认您拥有的DICOM文件对应于单个图像序列。如果您不确定,可以使用dicomsort等工具对数据进行排序,以便每个序列有一个单独的目录。然后,您可以使用plastimatch convert或dcm2niix将DICOM序列转换为ITK可读的体积格式。

如果您的标签以DICOM格式定义,这可能意味着不同的事情。首先,检查带有标签的数据集的模态。您可以通过使用dcmdump来检查,然后检查显示“Modality”的那一行。您可以在这里找到此工具的二进制包(如果您想从Atom编辑器更方便地查看DICOM文件,还可以使用dicom-dump包)。

如果模态是图像(例如,CT或MR),使用plastimatch或dcm2niix将图像转换为3D体积。如果模态是RT,请使用plastimatch将结构集的轮廓转换为3D体积。如果模态是SEG,请使用dcmqi将体素分割转换为3D体积。我们还提供了一个“实验室”(实验性)脚本pyradiomics-dcm,它可以自动执行这些转换,并将生成的特征保存为DICOM SR。

#45-我想自定义我的提取。我该如何做?

请参阅自定义提取。PyRadiomics可以通过多种方式进行自定义,但通过提供参数文件进行自定义是最简单的方法。在这个yaml结构的文本文件中,您可以定义自定义设置以及要启用的特征和输入图像类型。我们强烈建议使用这种方法进行自定义,因为它将所有自定义内容保存在一个人类可读的文件中,可以与其他用户共享,并且更重要的是,在提取之前会检查其有效性。

#46-PyRadiomics是否支持体素级特征提取?

是的,从2.0版本开始,已经实现了体素级计算。然而,由于这涉及到为每个体素计算特征,执行体素级提取速度会慢很多,而且由于输出包含每个特征的特征图,输出大小也会大得多。请参阅使用部分了解如何启用基于体素的提取。

图片
#47-批处理模式下的pyradiomics输入文件

应该如何构建?

目前,pyradiomics的批量输入文件是一个指定图像和掩模组合以提取特征的csv文件。它必须包含一个标题行,至少应该指定“Image”和“Mask”标题(大小写敏感)。这些分别标识包含图像和掩模文件位置的列。每个后续行表示一个图像和掩模的组合。还允许使用其他列,这些列将按照输入的顺序复制到输出中,计算出的特征的附加列将附加在末尾。注意,所有的标题名称应该是唯一的,不要与pyradiomics生成的标题名称相匹配。

#48-常见错误:Error loading parameter file

加载参数文件错误

尝试加载自己的参数文件时,遇到了错误:“CoreError: 无法从源 yaml 文件加载任何数据。”

这个错误是由 PyKwalify 在无法读取参数文件时抛出的。最常见的原因是文件使用制表符进行缩进,这会导致“无法识别的标记(‘t’)错误”。相反,请确保所有缩进都使用2或4个空格。

#49-常见错误:Geometry mismatchbetween image and mask

图像和掩膜的几何不匹配

我的掩膜是使用与输入图像不同的图像生成的,我还可以提取特征吗?

出于各种原因,当传递给特征类时,图像和掩膜必须具有相同的几何形状(即相同的间距、尺寸、方向和原点)。为此,PyRadiomics 在管道中包括检查以确保这是正确的。有关掩膜检查的更多信息,请参阅 checkMask()。如果几何错误是由于原点、间距或方向的微小差异引起的,您可以通过设置 geometryTolerance 来增加容差。如果错误很大,或者尺寸不匹配,您还可以将掩膜重新采样到图像参考空间。bin\resampleMask.py 中提供了一个示例,通过将 correctMask 设置为 True,可以在 PyRadiomics 中启用它,只有在掩膜包含有效 ROI 的几何不匹配情况下才执行此修正(即掩膜包含不包括图像物理边界之外区域的标签值)。

#50-常见错误:ValueError: (‘Label(…) not present inmask. Choosefrom […]’

此错误表示由标签值标识的 ROI 不存在。也就是说,在掩膜体积中没有具有标签中指定值的体素。为了帮助您修复错误,此错误还列出了找到的可能的备选标签值。如果在此错误的末尾没有列出任何值,这意味着您的掩膜中没有分割的体素。

注意

在原始掩膜中可能有一些体素被分割,但在重新采样过程中丢失了(当上采样时)。在这种情况下,对于所请求的 resampledPixelSpacing,ROI 太小,应该视为“没有分割”。

文章来源:https://blog.csdn.net/weixin_38594676/article/details/135251228
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。