我的LiTS2017数据集的路径为E:\LiTS2017。保存路径为E:\2D-LiTS2017,帮我创建保存图像与标签的文件夹,并且将转换好的数据保存到对应的文件夹。 我的LiTS2017数据集里面有命名为Training Batch 1的文件夹和命名为Training Batch 2的文件夹。Training Batch 1文件夹里面有图像,图像的拓展名为.nii。Training Batch 2文件夹里面有标签,标签拓展名为.nii。 请将我的LiTS2017数据集的3D图像切片成2D、RGB三通道的png格式的图像。数据集的3D标签变成2D单通道的png格式标签。segmentation部分中肝脏加上肿瘤在图中面积占比小于2%的切片不保留。
时间: 2024-02-20 13:00:58 浏览: 124
好的,我明白您的要求。以下是我为您编写的Python代码,可以实现您的要求:
```python
import os
import numpy as np
import SimpleITK as sitk
from PIL import Image
# 创建文件夹函数
def create_folder(folder):
if not os.path.exists(folder):
os.makedirs(folder)
# 将3D图像切片成2D、RGB三通道的png格式的图像
def slice_image(image_path, label_path, save_path):
# 读取图像和标签数据
image = sitk.ReadImage(image_path)
label = sitk.ReadImage(label_path)
image_array = sitk.GetArrayFromImage(image)
label_array = sitk.GetArrayFromImage(label)
# 切片并保存
for i in range(image_array.shape[0]):
# 判断肝脏和肿瘤的面积占比是否大于2%
mask = label_array[i]
mask_area = np.sum(mask)
if mask_area > mask.size * 0.02:
# 将图像归一化到0-255之间
image_slice = image_array[i]
image_slice = (image_slice - np.min(image_slice)) / (np.max(image_slice) - np.min(image_slice))
image_slice = (image_slice * 255).astype(np.uint8)
# 将灰度图转换为RGB图像
image_slice = np.stack((image_slice, image_slice, image_slice), axis=-1)
# 保存图像和标签
Image.fromarray(image_slice).save(os.path.join(save_path, 'image', 'img_%03d.png' % i))
Image.fromarray(mask).save(os.path.join(save_path, 'label', 'label_%03d.png' % i))
# 设置数据集路径和保存路径
data_folder = 'E:\\LiTS2017'
save_folder = 'E:\\2D-LiTS2017'
# 创建保存图像和标签的文件夹
create_folder(os.path.join(save_folder, 'image'))
create_folder(os.path.join(save_folder, 'label'))
# 循环处理每个数据批次
for batch_num in range(1, 3):
# 获取图像和标签的文件路径
image_path = os.path.join(data_folder, 'Training Batch %d' % batch_num, 'volume-%d.nii' % batch_num)
label_path = os.path.join(data_folder, 'Training Batch %d' % batch_num, 'segmentation-%d.nii' % batch_num)
# 将3D图像切片成2D图像并保存
slice_image(image_path, label_path, save_folder)
```
运行以上代码后,您将得到E:\2D-LiTS2017文件夹,其中包含image文件夹和label文件夹。image文件夹中包含切片图像,label文件夹中包含切片标签。其中,保留了肝脏加上肿瘤在图中面积占比大于2%的切片。
阅读全文