Пример #1
0
    def run(self, sv_image, sv_path):
        os.chdir(file_dir+'dl_template')
        print os.getcwd()
        nn_type   = self.args_dict['nn_type']

        spacing   = float(self.args_dict['spacing'])

        threshold = float(self.args_dict['threshold'])

        global_config = io.load_yaml("./config/global.yaml")
        ext = global_config["CROP_DIMS"]
        if nn_type == "norm":
            config = io.load_yaml("./config/case1_perturb15.yaml")
            normalize = norm

        if nn_type == "window":
            config = io.load_yaml("./config/i2i_window.yaml")
            center = int(self.args_dict['center'])
            window = int(self.args_dict['window'])

            normalize = build_window(center, window)

        net = I2INet.Model(global_config, config)
        net.load()

        path_points = sv_path.get_path_points()
        for i in tqdm(range(len(path_points))):
            d = path_points[i]

            fn = d['name']

            p = d['p']
            n = d['n']
            x = d['x']

            im = sv_image.get_reslice(ext,p,n,x,spacing)

            im = normalize(im)

            out = net.predict(im)[0,:,:,0]
            out[out >= threshold] = 1
            out[out < threshold] = 0

            filename = self.output_directory+"{}{}".format(fn,self.output_file_type)
            filename = call_dir + filename[1:]
#            print filename
            save_output(out,filename)
Пример #2
0
import os
import argparse
from modules import io
from modules import vascular_data as sv
import scipy
import numpy as np
from imageio import imsave

global_config_file = "./config/global.yaml"
case_config_file = "./config/case.yaml"

global_config = io.load_yaml(global_config_file)
case_config = io.load_yaml(case_config_file)

####################################
# Get necessary params
####################################
cases = os.listdir(global_config['CASES_DIR'])
cases = [global_config['CASES_DIR'] + '/' + f for f in cases if 'case.' in f]

spacing_vec = [case_config['SPACING']] * 2
dims_vec = [case_config['DIMS']] * 2
ext_vec = [case_config['DIMS'] - 1] * 2
path_start = case_config['PATH_START']

files = open(case_config['DATA_DIR'] + '/files.txt', 'w')

for i, case_fn in enumerate(cases):
    case_dict = io.load_yaml(case_fn)
    print(case_dict['NAME'])
Пример #3
0
from modules import io

config = io.load_yaml('./config/global.yaml')

cases_dir = config['CASES_DIR']
cases_prefix = config['CASES_PREFIX']

images = open(cases_dir + '/images.txt').readlines()
images = [f.replace('\n', '') for f in images]

truths = open(cases_dir + '/truths.txt')
truths = [f.replace('\n', '') for f in truths]

groups = open(cases_dir + '/groups.txt')
groups = [f.replace('\n', '') for f in groups]

paths = open(cases_dir + '/paths.txt')
paths = [f.replace('\n', '') for f in paths]

for i in range(len(images)):
    d = {}
    d['IMAGE'] = cases_prefix + images[i]
    d['SEGMENTATION'] = cases_prefix + truths[i]
    d['GROUPS'] = cases_prefix + groups[i]
    d['PATHS'] = cases_prefix + paths[i]

    name = images[i].split('/')[-1].replace('-cm.mha','')\
        .replace('-image.mha','').replace('_contrast.mha','')

    d['NAME'] = name
Пример #4
0
import subprocess
import os
from modules import io

dir_ = './data/cases'
cases = os.listdir(dir_)
config_file = './config/global.yaml'

config = io.load_yaml(config_file)

f = open(config['DATA_DIR'] + '/files.txt', 'w')
f.close()

for c in cases:
    f = dir_ + '/' + c
    print(f)
    subprocess.check_call('python process_data.py {} {}'.format(
        config_file, f),
                          shell=True)