0

我有一些不同形状的 nii.gz 格式的医学图像。我想将所有的大小调整为相同的形状以供深度学习模型使用,我尝试使用 nibabel 的 resample_img(),但它破坏了我的图像。我想做一些其他功能,只是将其调整为特定形状,例如 (512,512,129)。

有人请在这方面帮助我。我被困在这一步好几天了。

4

2 回答 2

3

也许你可以使用这个:

https://scikit-image.org/docs/dev/api/skimage.transform.html

我在其中一篇论文中看到了。这是函数 ScaleToFixed 中的示例:

https://github.com/sacmehta/3D-ESPNet/blob/master/Transforms.py

这是我的做法。我有形状 320x320x130 的体积(黑色和白色,所以没有 rgb 尺寸)。我想让它变小两倍。这对我有用:

import skimage.transform as skTrans
im = nib.load(file_path).get_fdata()
result1 = skTrans.resize(im, (160,160,130), order=1, preserve_range=True)
于 2020-11-05T11:25:58.983 回答
3

您可以使用TorchIO

import torchio as tio

image = tio.ScalarImage('path/to/image.nii.gz')
transform = tio.CropOrPad((512,512,129))
output = transform(image)

如果您想保留原始视野,则可以使用Resample变换。

免责声明:我是 TorchIO 的主要开发者。

于 2020-11-16T14:22:55.087 回答