from skimage import morphology import torch import os from tqdm import tqdm import models from config.configuration import DefaultConfig import SimpleITK as sitk import numpy as np import warnings import pickle import copy import scipy.ndimage as ndimage from medpy import metric warnings.filterwarnings("ignore") opt = DefaultConfig() opt.liver_model_path = "checkpoints/dilated-dense-unet_0523_13:10:49.pth" # 验证肝脏分割模型的效果 def val_liver_net(): # 第一步:加载模型(模型,预训练参数,GPU),并设置为推理模式 # model = getattr(models, opt.model)(training=False) # 等价于 models.CascadeResUNet(net_type="liver_seg") model = models.DilatedDenseUNet() if opt.liver_model_path: print("current model path is: ", opt.liver_model_path) model.load(opt.liver_model_path) # 加载模型参数 if opt.use_gpu: model.cuda(opt.device)
(3.4) new_ct_array和seg_array分块处理,并保存 # Attention,因为我们处理完图像进行了归一化操作,所以在读取图像时,需要设定为 sitk.sitkFloat32 """ import os import pickle import shutil from config.configuration import DefaultConfig import SimpleITK as sitk from tqdm import tqdm import numpy as np import warnings import scipy.ndimage as ndimage warnings.filterwarnings("ignore") opt = DefaultConfig() # 预处理之前,清空之前处理的数据 if os.path.exists(opt.train_data_root_2): shutil.rmtree(opt.train_data_root_2) os.mkdir(opt.train_data_root_2) os.mkdir(opt.train_data_root_2 + '/ct') os.mkdir(opt.train_data_root_2 + '/seg') def generate_clock(image, array, start, end): """ 生成厚度为48的切片块 :param image: 原始的volume.nii或segmentation.nii所对应的image :param array: 原始的volume.nii或segmentation.nii所对应的array
from skimage import morphology import torch import os from tqdm import tqdm import models from config.configuration import DefaultConfig import SimpleITK as sitk from medpy import metric import numpy as np import warnings import pickle import copy import scipy.ndimage as ndimage warnings.filterwarnings("ignore") opt = DefaultConfig() opt.tumor_model_path = "checkpoints/resunet_0216_04:47:45.pth" # 验证肝脏分割模型的效果 def val_tumor_net(): # 第一步:加载模型(模型,预训练参数,GPU),并设置为推理模式 model = models.ResUNet() if opt.tumor_model_path: print("current model path is: ", opt.tumor_model_path) model.load(opt.tumor_model_path) # 加载模型参数 if opt.use_gpu: model.cuda(opt.device) model.eval()