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)
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'])
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
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)