Ограничительная область ROI больше, чем пространство изображения с коррекцией маски пирадиомики
Я пытался реализовать извлечение объектов с помощью пирадиомики для следующего изображения и сегментированного вывода. Когда я запускаю команду
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. Что-то не так с коррекцией маски или повторной выборкой маски?
1 ответ
Два изображения не находятся в одном физическом пространстве. Если сравнить их как два трехмерных массива, результаты сегментации действительно верны. Но в медицинских изображениях они всегда должны преобразовываться в глобальное пространство перед дальнейшей обработкой (например, если у вас есть ПЭТ-изображение размером 100x100 пикселей и изображение CT-изображения 256x256 из одной плоскости, вы должны принять во внимание разрешения). Я рекомендую краткое объяснение этой проблемы в документации по 3D Slicer.
В любом случае, заголовки ваших изображений следующие:
чутье:
Происхождение изображения (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). К сожалению, я не знаком с пирадиомикой, но каждый инструмент обработки изображений должен иметь дело с этим.
Это действительно причина ошибки. Я не знаю, учитывает ли CapTK направление, расстояние и происхождение, но PyRadiomics это делает. Это позволяет вам использовать маски, сделанные с различными исходными изображениями (например, использовать маску, созданную на изображении DWI, для извлечения объектов из изображения T2W). Чтобы предотвратить непреднамеренные ошибки, для этого требуется правильная маска.
Тем не менее, всякий раз, когда необходимо внести исправление, PyRadiomics проверяет, содержится ли ограничивающая рамка маски в физическом пространстве, определенном изображением. В вашем случае направление и у меняются, что приводит к тому, что ваша маска полностью выходит за пределы пространства изображения в домене x (у, вероятно, все в порядке из-за того, что источник 239). Повторная выборка просто даст пустую маску.