医学图像工具包monai--中心裁剪

monai.transform包中有多个裁剪方法,其中包括空间裁剪SpatialCropd,中心裁剪CenterSpatial Cropd,以及前景裁剪CropForegroundd。这篇文章主要是针对于本课题需要的目的只进行了中心裁剪,在这边记录以方便后面使用。由于没有标签数据,只对MRA原始图像进行了裁剪。首先需要有data_dict列表,列表中保存了关于key=image的字典。然后我们需要一个加载器loader将数据加载进来,加载进来的数据需要再加上一个通道维。利用CenterSpatialCropd函数将加载进来的数据裁剪成roi_size大小。如果想保存裁剪后的数据,可以通过monai.data包中的NiftiSaver函数将剪裁的数据保存下来,至于NiftiSaver函数中的参数可以自己来研究下,注意一定要加上一个通道维,不然保存下来的数据将不是三维的。


from monai.transforms import CenterSpatialCropd,LoadImaged,AddChanneld
from monai.data import NiftiSaver
import os
from glob import glob

imglist=sorted(glob('./data/*.nii.gz'))
data_dict=[{'image':image} for image in zip(imglist)]
loader=LoadImaged(keys=['image'],dtype=np.float32)
add_channel=AddChanneld(keys=['image'])
data_dict1=loader(data_dict[1])
datac_dict1=add_channel(data_dict1)
crop=CenterSpatialCropd(keys=['image'],roi_size=(256,256,256))
data_crop=crop(datac_dict1)
saver=NiftiSaver(output_dir='./data',output_ext='3.nii.gz')
saver.save(data_crop['image'])

你可能感兴趣的:(python,人工智能,机器学习)