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, "位置路径") #处理完之后保存到相应的合适位置。
这一过程应该很好理解。就是对齐操作吧。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
