PyRadiomics并不是为某一特定模态而开发的。PyRadiomics可以处理多种模态,尽管不同模态之间的最佳设置可能有所不同。然而,对输入有一些限制:
灰度图像:PyRadiomics目前不支持从彩色图像或具有复杂值的图像中提取特征。在这些情况下,每个像素/体素具有多个值,而PyRadiomics不知道您如何组合这些值。可以选择一个颜色通道并将其用作输入:
import SimpleITK as sitk
from radiomics import featureextractor
# 使用参数文件实例化提取器
extractor = featureextractor.RadiomicsFeatureExtractor(r'path/to/params.yml')
# 设置掩膜路径
ma_path = 'path/to/maskfile.nrrd'
label = 1 # 如果您的掩膜中的ROI由其他值标识,请更改此处
# 加载图像并提取颜色通道
color_channel = 0
im = sitk.ReadImage(r'path/to/image.jpg')
selector = sitk.VectorIndexSelectionCastImageFilter()
selector.SetIndex(color_channel)
im = selector.Execute(im)
# 运行提取器
results = extractor.execute(im, ma_path, label=label)
文件格式:目前,PyRadiomics要求图像和掩膜输入是一个指向包含图像/掩膜的单个文件的字符串,或者是一个SimpleITK.Image对象(仅在交互模式下可能)。当使用DICOM时,需要先将单独的文件合并成一个体积,然后提取特征,方法是将其转换为NRRD或NIFTII,或者在python脚本中读取DICOM并从该脚本调用PyRadiomics。另请参阅PyRadiomics支持哪些输入图像和掩膜的文件类型?。
维度:PyRadiomics支持2D和3D输入图像,但请注意,特征类形状仅提取3D形状描述符,而shape2D仅提取2D形状描述符。如果您有一个3D体积,但是一个单切片分割,并希望结果包括2D形状描述符,请启用shape2D并设置force2D=True。这允许您从具有单切片分割的3D体积中提取2D形状特征(但在分割表示多个切片的体积分割时失败)。