我一直在尝试对以下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工具没有任何问题。遮罩校正或遮罩重采样有问题吗?
答案 0 :(得分:2)
两个图像不在同一物理空间中。如果将它们比较为两个三维数组,则分割结果的确是正确的。但是在医学图像中,必须在进行进一步处理之前始终将它们转换为信息全局空间(例如,如果同一平面上有100x100pix PET图像和256x256 CT图像,则应考虑分辨率)。我建议在3D Slicer documentation中对此问题进行简短说明。
无论如何,图像的标题如下:
天才:
图片来源(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)。不幸的是,我对双体神经系统学并不熟悉,但是每个图像处理工具都应对此进行处理。
答案 1 :(得分:0)
这确实是错误的原因。我不知道CapTK是否考虑方向,间距和原点,但是PyRadiomics确实考虑。这允许您使用由不同源图像制作的遮罩(例如,使用在DWI图像上制作的遮罩从T2W图像中提取特征)。为了防止意外错误,需要使用正确的遮罩。
无论如何,无论何时必须进行校正,PyRadiomics都会检查蒙版的边界框是否包含在图像定义的物理空间内。在您的情况下,方向和y会翻转,这会导致蒙版完全位于x域中的图像空间之外(由于原点为239,因此y可能很好)。重采样只会产生一个空的掩码。