Brats挑战赛 数据上传失败 Inputs do not occupy the same physical space!

一个困扰我将近半年的问题,之前一直用的本地训练集测试,后来想上传到平台去测,感觉可信度高一点,但是每次上传总是显示这个问题:

itk::ERROR: MaskImageFilter(0x379d560): Inputs do not occupy the same physical space! 
InputImage Origin: [0.0000000e+00, 0.0000000e+00, 0.0000000e+00], InputImage_1 Origin: [-0.0000000e+00, -2.3900000e+02, 0.0000000e+00]Tolerance: 1.0000000e-06

在这里插入图片描述
一直百思不得解,后来一个学姐一眼看出来了问题,要将坐标系对应回去。

具体解决代码如下:在这里插入图片描述

大概就是,先获取官方给的文件的坐标和位置空间

origin_img=sitk.ReadImage("BraTS20_Training_002_seg.nii.gz") #读取原始文件origin=origin_img.GetOrigin() #这三句是获取的原始图像文件的位置和方向吧。
spacing=origin_img.GetSpacing()
direction=origin_img.GetDirection()

然后将我自己预测得到的分割结果进行一个处理,让我的结果和官方的结果回到相同的坐标系,之前一直以为是自己的sitk版本不对应导致的,后来才知道要这样做。

w=sitk.ReadImage("BraTS20_Training_002.nii.gz")  #  读取自己预测得到的nii.gz文件w.SetOrigin(origin) #将自己的文件处理成和官方一致的位置坐标系
w.SetSpacing(spacing)
w.SetDirection(direction)
sitk.WriteImage(w, "位置路径") #处理完之后保存到相应的合适位置。

这一过程应该很好理解。就是对齐操作吧。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部