读取nii文件

Traceback (most recent call last):
  File "E:\PyCharm 2021.3.3\plugins\python\helpers\pydev\pydevd.py", line 1483, in _exec
    pydev_imports.execfile(file, globals, locals)  # execute the script
  File "E:\PyCharm 2021.3.3\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "E:/deep_learn_code/myself_project/01Brain_seg/codev2.1.py", line 10, in <module>
    train_image,train_label = brainset.__getitem__(40)
  File "E:\deep_learn_code\myself_project\01Brain_seg\util\brain_dataset.py", line 26, in __getitem__
    image = self.transform(image)
  File "F:\other_ana\My_Pymic\lib\site-packages\torchvision\transforms\transforms.py", line 135, in __call__
    return F.to_tensor(pic)
  File "F:\other_ana\My_Pymic\lib\site-packages\torchvision\transforms\functional.py", line 137, in to_tensor
    raise TypeError(f"pic should be PIL Image or ndarray. Got {type(pic)}")
TypeError: pic should be PIL Image or ndarray. Got <class 'SimpleITK.SimpleITK.Image'>
python-BaseException

Process finished with exit code 1

解决方法:
因为 sitk.ReadImage(filename)读取的对象是image对象,需要进行转换。
sitk.GetArrayFromImage(img_obj)可以获取数据,nii文件还有空间信息等可以image的 GetOrigin(),GetSpacing(),GetDirection()方法获取。

TypeError: can't convert np.ndarray of type numpy.uint16. The only supported types are: float64, float32, float16, complex64, complex128, int64, int32, int16, int8, uint8, and bool.

解决方法:最简单是办变量除以1.0,原来变量就会变成浮点数
在这里插入图片描述
现在image,label都是(768,26,768),目标形状为(26,768,768)
解决方法:

1 image.reshap(26,768,768) 开辟新的空间 消除内存

2 image.view() 不能用

3 image.permute() 推荐这个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值