我一直在尝试为下面的image和分段的output实现pyradiomics的特征提取。当我运行该命令时
pyradiomics Brats18_CBICA_AAM_1_t1ce_corrected.nii.gz Brats18_CBICA_AAM_1.nii.gz --setting "correctMask:True"
。
我得到以下错误。
Image/Mask geometry mismatch, attempting to correct Mask Bounding box of ROI is larger than image space: ROI bounds (image coordinate space) ((-86.5, 85.5, 80.5), (-114.5, 46.5, 121.5)) Image Size (240, 240, 155) Image/Mask correction failed, ROI invalid (not found or outside of physical image bounds) Case-1_Image: /home/sid/Documents/pyradiomics-master/bin/Brats18_CBICA_AAM_1/Brats18_CBICA_AAM_1_t1ce_corrected.nii.gz Case-1_Mask: /home/sid/Documents/pyradiomics-master/bin/Brats18_CBICA_AAM_1/Brats18_CBICA_AAM_1.nii.gz
我已经尝试了其他选项的正确遮罩,以及设置高容差,但似乎都不起作用。我已经用CaPTK工具正确地可视化了它们,没有任何问题。遮罩校正或遮罩重采样是否有问题?
发布于 2018-08-14 07:28:01
这两个图像不在同一物理空间中。如果将它们作为两个三维数组进行比较,分割结果确实是正确的。但在医学图像中,在进一步处理之前,它们必须始终转换为全局空间(例如,如果您有来自同一平面的100x100pix PET图像和256x256 CT图像,则应考虑分辨率)。我建议在3D Slicer documentation中对这个问题进行简短的解释。
无论如何,你的图片的标题如下:
flair:
图像源(0, 239, 0)
间隔(1, 1, 1)
轴方向
(1, 0, 0, 0, 1, 0, 0, 0, 1)
分割结果:
图像源(0, 0, 0)
间隔(1, 1, 1)
轴方向
(-1, 0, 0, 0, -1, 0, 0, 0, 1)
(这意味着x和y都是镜像的)
因此,您应该沿X和Y翻转分割的图像,并将其平移一个向量(0,239,0)。不幸的是,我不熟悉吡射线组学,但每个图像处理工具都应该处理它。
发布于 2018-12-14 09:10:57
这确实是错误的原因。我不知道CapTK是否考虑了方向、间距和原点,但PyRadiomics考虑了。这允许您使用由不同源图像制作的蒙版(例如,使用在DWI图像上制作的蒙版从T2W图像中提取特征)。为了防止意外错误,这需要correctMask。
尽管如此,每当必须进行校正时,PyRadiomics都会检查蒙版的边界框是否包含在图像定义的物理空间内。在您的示例中,方向和y是翻转的,这会导致您的蒙版完全位于x域中的图像空间之外(y可能没有问题,因为原点是239)。重新采样只会产生一个空的遮罩。
https://stackoverflow.com/questions/51802320
复制