Пример #1
0
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)
Пример #2
0
            (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
Пример #3
0
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()