# 将nii与对应的标签转化成npy格式
import os
import glob
import SimpleITK as sitk
import numpy as np
import torch
from matplotlib import pyplot as plt
import random
# dataset_dir='/media/zongyouWorkSpace/test2'
#
# Xsum = []
# dir = dataset_dir + '/train/' # train dataset from "dir/train"
# print("train dir is {}".format(dir))
# Label_train = os.listdir(dir)
#
# for l in range(len(Label_train)):
# vname = os.listdir(os.path.join(dir,Label_train[l]))
# for vn in vname:
# Frame_paths = glob.glob(os.path.join(dir, Label_train[l], vn, '*.jpg'))
# # print(Frame_paths[0])
# if len(Frame_paths) > 5 :
# print('frame_path is {}'.format(len(Frame_paths)))
Path = r'D:\Users\80080947\Desktop\yxLocalWork\AutoEF\czy\Segmentation\labeled\nifti'
clsname = os.listdir(Path)
newdata = []
for i in range(len(clsname)):
img = sitk.ReadImage(os.path.join(Path,clsname[i],clsname[i]+'Image.nii'),sitk.sitkFloat32)
arr_image = sitk.GetArrayFromImage(img)
label = sitk.ReadImage(os.path.join(Path,clsname[i],'Untitled.nii.gz'),sitk.sitkFloat32)
arr_label = sitk.GetArrayFromImage(label)
for j in range(arr_image.shape[0]):
if np.sum(arr_label[j,:,:])!=0:
tensor_image = torch.from_numpy(arr_image[j,:,:]).unsqueeze(0)
tensor_label = torch.from_numpy(arr_label[j,:,:]).unsqueeze(0)
tensor_data = torch.nn.functional.interpolate(torch.stack([tensor_image, tensor_label], 0), [256, 256])
newdata.append(tensor_data.squeeze(1))
random.shuffle(newdata)
newdata = torch.stack(newdata, 3)
train = newdata[:,:,:,:int(0.9*newdata.shape[3])]
test = newdata[:,:,:,int(0.9*newdata.shape[3]):]
train = np.transpose(train, (0, 3, 1, 2))
test = np.transpose(test, (0, 3, 1, 2))
# plt.subplot(121)
# plt.imshow(test[0,0,:,:])
# plt.subplot(122)
# plt.imshow(test[1,0,:,:])
# plt.show()
# # train = np.load(r'D:\Users\80080947\Desktop\yxLocalWork\AutoEF\A4C\train.npy')
# # test = np.load(r'D:\Users\80080947\Desktop\yxLocalWork\AutoEF\A4C\test.npy')
np.save(os.path.join(r'D:\Users\80080947\Desktop\yxLocalWork\AutoEF\A4C','train.npy'),train)
np.save(os.path.join(r'D:\Users\80080947\Desktop\yxLocalWork\AutoEF\A4C','test.npy'),test)
图像分割标签+nii格式的预处理
139 浏览量
2023-05-12
23:06:49
上传
评论 4
收藏 4KB ZIP 举报
只搬烫手的砖
- 粉丝: 1801
- 资源: 34
最新资源
- Q1.py
- 企业政府灵智电子政务网站系统-lingzhi.rar
- Thinkphp内核开发Lsky Pro兰空图床网站源码.rar
- 基于FPGA(XC6SLX9)+SDRAM+AD7829多通道数据采集板硬件(原理图+PCB)工程文件.zip
- 阿里巴巴精准测试体系:基于代码链路分析的性能优化方案
- mmexport1714217773503.jpg
- 【图片网盘外链系统5.0】全新前端UI界面设计 支持图片违规检测网站自适应H5源码.rar
- jsp+sql的BBS论坛系统.zip
- 网盘外链PHP开发彩虹网盘外链程序源码.rar
- 2023年最新文件快递柜系统网站源码 保护用户隐私的匿名口令分享和临时文件分享功能.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈