monaI中保存图像主要使用的是 monai.transforms.SaveImage
或 monai.transforms.SaveImaged
接口。
基本用法
import monai.transforms as mt
save_image = mt.SaveImage()
# 假设image是已读取到的 monai.data.MetaTensor
save_image(image)
几个比较容易疑惑的点
- 裁剪了图像,为什么保存的图像大小仍然没变?
这是由于没有指定是resample
参数为False
造成的image_cropped = crop(image) # 此时保存的图像就是裁剪的了 save_image = mt.SaveImage(resample=False) save_image(image_cropped)
- 怎么才能输出到指定文件夹里面?
指定output_dir
参数# 此时图像文件将被保存到output_dir中,文件名称默认为:原文件名称_trans.nii.gz save_image = mt.SaveImage(output_dir='output') save_image(image)
- 保存的图像老是会保存到新创建的文件夹中怎么办?
指定separate_folder=False
即可save_image = mt.SaveImage(separate_folder=False) save_image(image)
- 怎么指定文件名后缀?
指定output_postfix=name
即可# 不指定后缀 save_image = mt.SaveImage(output_postfix='') save_image(image)
- 我有一堆图像,我想分别把他们裁剪过后的图像保存到不同的文件夹下怎么办?
使用偏函数from functools import partial import monai.transforms as mt saver = partial( mt.SaveImage, resample=False, separate_folder=False ) for image in 这堆图像: saver(output_dir=path)(image)