import sys import numpy as np import theano import pathfinder import utils from configuration import set_configuration import utils_lung theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: test_luna_scan.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_fpred_scan', config_name) # predictions path predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH) outputs_path = predictions_dir + '/%s' % config_name pid2candidates_path = utils_lung.get_candidates_paths(outputs_path) pid2candidates = {} for k, v in pid2candidates_path.iteritems(): pid2candidates[k] = utils.load_pkl(v) pid2annotations = utils_lung.read_luna_annotations(pathfinder.LUNA_LABELS_PATH) n_top = 1 tp_top_n = 0 fp_top_n = 0 tp = 0 n_pos = 0
import theano from datetime import datetime, timedelta import utils import logger import theano.tensor as T import buffering from configuration import config, set_configuration import pathfinder theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: train.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_class_dsb', config_name) expid = utils.generate_expid(config_name) print() print("Experiment ID: %s" % expid) print() # metadata metadata_dir = utils.get_dir_path('models', pathfinder.METADATA_PATH) metadata_path = metadata_dir + '/%s.pkl' % expid # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s.log' % expid) sys.stderr = sys.stdout print('Build model')
if j in correct_blobs_idxs: print 'blob in original', blob_j_original blobs_original_voxel_coords.append(blob_j_original) blobs = np.asarray(blobs_original_voxel_coords) utils.save_pkl(blobs, outputs_path + '/%s.pkl' % pid) jobs = [] theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: test_luna_scan.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_seg_scan', config_name) # predictions path predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH) outputs_path = predictions_dir + '/%s' % config_name utils.auto_make_dir(outputs_path) # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s.log' % config_name) sys.stderr = sys.stdout # builds model and sets its parameters model = config().build_model() x_shared = nn.utils.shared_empty(dim=len(model.l_in.shape))
import theano from datetime import datetime, timedelta import utils import logger import theano.tensor as T import buffering from configuration import config, set_configuration import pathfinder theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: train.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_class_dsb', config_name) expid = utils.generate_expid(config_name) print print "Experiment ID: %s" % expid print # metadata metadata_dir = utils.get_dir_path('models', pathfinder.METADATA_PATH) metadata_path = metadata_dir + '/%s.pkl' % expid # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s.log' % expid) sys.stderr = sys.stdout print 'Build model'
import os import numpy as np import data_transforms import pathfinder import utils import utils_lung from configuration import set_configuration, config from utils_plots import plot_slice_3d_2, plot_2d, plot_2d_4, plot_slice_3d_3 import utils_lung import lung_segmentation set_configuration('configs_seg_scan', 'luna_s_local') def test1(): image_dir = utils.get_dir_path('analysis', pathfinder.METADATA_PATH) image_dir = image_dir + '/test_luna/' utils.auto_make_dir(image_dir) id2zyxd = utils_lung.read_luna_annotations(pathfinder.LUNA_LABELS_PATH) luna_data_paths = utils_lung.get_patient_data_paths( pathfinder.LUNA_DATA_PATH) luna_data_paths = [p for p in luna_data_paths if '.mhd' in p] print len(luna_data_paths) print id2zyxd.keys() for k, p in enumerate(luna_data_paths): img, origin, pixel_spacing = utils_lung.read_mhd(p) img = data_transforms.hu2normHU(img) id = os.path.basename(p).replace('.mhd', '')
import lasagne as nn import numpy as np import theano from datetime import datetime, timedelta import utils import logger import theano.tensor as T import buffering from configuration import config, set_configuration import pathfinder if len(sys.argv) < 2: sys.exit("Usage: train.py <configuration_name>") config_name = sys.argv[1] set_configuration(config_name) expid = utils.generate_expid(config_name) print print "Experiment ID: %s" % expid print # metadata metadata_dir = utils.get_dir_path('train', pathfinder.METADATA_PATH) metadata_path = metadata_dir + '/%s.pkl' % expid # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s.log' % expid) sys.stderr = sys.stdout print 'Build model'
import utils from configuration import config, set_configuration from utils_plots import plot_slice_3d_3 import theano.tensor as T import utils_lung import blobs_detection import logger from collections import defaultdict theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: test_luna_size_scan.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_luna_size_scan', config_name) # predictions path predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH) outputs_path = predictions_dir + '/%s' % config_name utils.auto_make_dir(outputs_path) # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s.log' % config_name) sys.stderr = sys.stdout # builds model and sets its parameters model = config().build_model() x_shared = nn.utils.shared_empty(dim=len(model.l_in.shape))
from utils_plots import plot_slice_3d_3 import theano.tensor as T import utils_lung import blobs_detection import logger from collections import defaultdict import glob import data_transforms theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: test_luna_scan.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_fpred_scan', config_name) # predictions path predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH) outputs_path = predictions_dir + '/%s' % config_name outputs_img_path = predictions_dir + '/%s_img' % config_name utils.auto_make_dir(outputs_img_path) blob_files = sorted(glob.glob(outputs_path + '/*.pkl')) p_transform = { 'patch_size': (64, 64, 64), 'mm_patch_size': (64, 64, 64), 'pixel_spacing': (1., 1., 1.) }
import utils from configuration import config, set_configuration from utils_plots import plot_slice_3d_3 import theano.tensor as T import utils_lung import blobs_detection import logger from collections import defaultdict theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: generate_features_dsb.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_gen_features', config_name) # predictions path predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH) outputs_path = predictions_dir + '/%s' % config_name utils.auto_make_dir(outputs_path) # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s.log' % config_name) sys.stderr = sys.stdout # builds model and sets its parameters model = config().build_model() x_shared = nn.utils.shared_empty(dim=len(model.l_in.shape))
import theano import buffering import pathfinder import utils from configuration import config, set_configuration from utils_plots import plot_slice_3d_3 import utils_lung import logger theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: train.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_fpred_patch', config_name) # metadata metadata_dir = utils.get_dir_path('models', pathfinder.METADATA_PATH) metadata_path = utils.find_model_metadata(metadata_dir, config_name) metadata = utils.load_pkl(metadata_path) expid = metadata['experiment_id'] # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s-test.log' % expid) sys.stderr = sys.stdout # predictions path predictions_dir = utils.get_dir_path('model-predictions',
import theano import buffering import pathfinder import utils from configuration import config, set_configuration from utils_plots import plot_slice_3d_3 import utils_lung import logger theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: train.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_seg_patch', config_name) # metadata metadata_dir = utils.get_dir_path('models', pathfinder.METADATA_PATH) metadata_path = utils.find_model_metadata(metadata_dir, config_name) metadata = utils.load_pkl(metadata_path) expid = metadata['experiment_id'] # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s-test.log' % expid) sys.stderr = sys.stdout # predictions path predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH)
import os import numpy as np import data_transforms import pathfinder import utils import utils_lung from configuration import set_configuration, config from utils_plots import plot_2d_animation, plot_slice_3d_3 set_configuration('test_config') def test_luna3d(): # path = '/mnt/sda3/data/kaggle-lung/lunapred/luna_scan_v3_dice-20170131-173443/' path = '/mnt/sda3/data/kaggle-lung/lunapred_el/luna_scan_v3_dice-20170201-231707/' files = os.listdir(path) print files x, y, p = [], [], [] for f in files: if 'in' in f: x.append(f) elif 'tgt' in f: y.append(f) else: p.append(f) x = sorted(x) y = sorted(y) p = sorted(p) for xf, yf, pf in zip(x, y, p): x_batch = utils.load_pkl(path + xf) pred_batch = utils.load_pkl(path + pf)
import theano import buffering import pathfinder import utils from configuration import config, set_configuration from utils_plots import plot_slice_3d_3 import utils_lung import data_transforms # theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: train.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_luna_patch', config_name) # metadata metadata_dir = utils.get_dir_path('models', pathfinder.METADATA_PATH) metadata_path = utils.find_model_metadata(metadata_dir, config_name) metadata = utils.load_pkl(metadata_path) expid = metadata['experiment_id'] # predictions path predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH) outputs_path = predictions_dir + '/' + expid utils.auto_make_dir(outputs_path) print 'Build model'
import theano from datetime import datetime, timedelta import utils import logger import theano.tensor as T import buffering from configuration import config, set_configuration import pathfinder theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: train.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_luna_size_patch', config_name) expid = utils.generate_expid(config_name) print print "Experiment ID: %s" % expid print # metadata metadata_dir = utils.get_dir_path('models', pathfinder.METADATA_PATH) metadata_path = metadata_dir + '/%s.pkl' % expid # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s.log' % expid) sys.stderr = sys.stdout print 'Build model'
]) csvwriter.writerow(["%d_Systole" % prediction["patient"]] + [ "%.18f" % p for p in prediction["systole_average"].flatten() ]) print("submission file dumped") return if __name__ == "__main__": parser = argparse.ArgumentParser(description=__doc__) required = parser.add_argument_group('required arguments') required.add_argument('-c', '--config', help='configuration to run', required=True) optional = parser.add_argument_group('optional arguments') optional.add_argument('-m', '--metadata', help='metadatafile to use', required=False) args = parser.parse_args() set_configuration(args.config) expid = utils.generate_expid(args.config) mfile = args.metadata predict_model(expid, mfile)
class MDPDeprecationWarning(DeprecationWarning, MDPWarning): """Warn about deprecated MDP API.""" pass import configuration __version__ = '3.4' __revision__ = configuration.get_git_revision() __authors__ = 'MDP Developers' __copyright__ = '(c) 2003-2012 [email protected]' __license__ = 'BSD License, see COPYRIGHT' __contact__ = '*****@*****.**' __homepage__ = 'http://mdp-toolkit.sourceforge.net' configuration.set_configuration() config = configuration.config (numx_description, numx, numx_linalg, numx_fft, numx_rand, numx_version) = configuration.get_numx() # import the utils module (used by other modules) import utils # set symeig utils.symeig = configuration.get_symeig(numx_linalg) # import exceptions from nodes and flows from signal_node import (NodeException, InconsistentDimException, TrainingException, TrainingFinishedException, IsNotTrainableException, IsNotInvertibleException)
import buffering import utils_heart from configuration import config, set_configuration, set_subconfiguration from pathfinder import METADATA_PATH if not (len(sys.argv) < 3): sys.exit("Usage: predict.py <metadata_path>") metadata_path = sys.argv[1] metadata_dir = utils.get_dir_path('train', METADATA_PATH) metadata = utils.load_pkl(metadata_dir + '/%s' % metadata_path) config_name = metadata['configuration'] if 'subconfiguration' in metadata: set_subconfiguration(metadata['subconfiguration']) set_configuration(config_name) # predictions paths prediction_dir = utils.get_dir_path('predictions', METADATA_PATH) prediction_path = prediction_dir + "/%s.pkl" % metadata['experiment_id'] prediction_mu_std_path = prediction_dir + "/%s_mu_sigma.pkl" % metadata['experiment_id'] print "Build model" model = config().build_model() all_layers = nn.layers.get_all_layers(model.l_top) all_params = nn.layers.get_all_params(model.l_top) num_params = nn.layers.count_params(model.l_top) print ' number of parameters: %d' % num_params nn.layers.set_all_param_values(model.l_top, metadata['param_values']) xs_shared = [nn.utils.shared_empty(dim=len(l.shape)) for l in model.l_ins]
'predictions_per_slice': predictions, }, f, pickle.HIGHEST_PROTOCOL) print "prediction file dumped" return if __name__ == "__main__": parser = argparse.ArgumentParser(description=__doc__) required = parser.add_argument_group('required arguments') required.add_argument('-c', '--config', help='configuration to run', required=True) required.add_argument('-o', '--output', help='output file', required=True) optional = parser.add_argument_group('optional arguments') optional.add_argument('-m', '--metadata', help='metadatafile to use', required=False) args = parser.parse_args() set_configuration(args.config) expid = utils.generate_expid(args.config) mfile = args.metadata ofile = args.output predict_slice_model(expid, ofile, mfile)
import os import numpy as np import data_transforms import pathfinder import utils import utils_lung from configuration import set_configuration, config from utils_plots import plot_slice_3d_2, plot_2d, plot_2d_4, plot_slice_3d_3 import utils_lung import lung_segmentation set_configuration('configs_seg_scan', 'luna_s_local') p_transform = {'patch_size': (416, 416, 416), 'mm_patch_size': (416, 416, 416), 'pixel_spacing': (1., 1., 1.) } def test_luna3d(): image_dir = utils.get_dir_path('analysis', pathfinder.METADATA_PATH) image_dir = image_dir + '/test_luna/' utils.auto_make_dir(image_dir) id2zyxd = utils_lung.read_luna_annotations(pathfinder.LUNA_LABELS_PATH) luna_data_paths = [ 'problem_patients/1.3.6.1.4.1.14519.5.2.1.6279.6001.877026508860018521147620598474.mhd'] candidates = utils.load_pkl( 'problem_patients/1.3.6.1.4.1.14519.5.2.1.6279.6001.877026508860018521147620598474.pkl')
import os import numpy as np import data_transforms import pathfinder import utils import utils_lung from configuration import set_configuration, config from utils_plots import plot_slice_3d_2, plot_2d, plot_2d_4, plot_slice_3d_3 set_configuration('configs_luna_patch', 'luna_patch_local') def test_luna_patches_3d(): image_dir = utils.get_dir_path('analysis', pathfinder.METADATA_PATH) image_dir = image_dir + '/test_luna/' utils.auto_make_dir(image_dir) id2zyxd = utils_lung.read_luna_annotations(pathfinder.LUNA_LABELS_PATH) luna_data_paths = utils_lung.get_patient_data_paths( pathfinder.LUNA_DATA_PATH) luna_data_paths = [p for p in luna_data_paths if '.mhd' in p] # pid = '1.3.6.1.4.1.14519.5.2.1.6279.6001.138080888843357047811238713686' # luna_data_paths = [pathfinder.LUNA_DATA_PATH + '/%s.mhd' % pid] for k, p in enumerate(luna_data_paths): img, origin, pixel_spacing = utils_lung.read_mhd(p) # img = data_transforms.hu2normHU(img) id = os.path.basename(p).replace('.mhd', '') print(id)
parser.add_argument("eval", type=str, help="test/valid/feat/train/test_tta/valid_tta") parser.add_argument("--dump", type=int, default=0, help="Should we store the predictions in raw format") parser.add_argument( "--best", type=int, default=0, help="Should we use the best model instead of the last model") args = parser.parse_args() config_name = args.config_name set_configuration('configs_pytorch', config_name) all_tta_feat = args.eval == 'all_tta_feat' feat = args.eval == 'feat' train = args.eval == 'train' train_tta = args.eval == 'train_tta' train_tta_feat = args.eval == 'train_tta_feat' valid = args.eval == 'valid' valid_tta = args.eval == 'valid_tta' valid_tta_feat = args.eval == 'valid_tta_feat' valid_tta_majority = args.eval == 'valid_tta_majority' test = args.eval == 'test' test_tta = args.eval == 'test_tta'
class MDPDeprecationWarning(DeprecationWarning, MDPWarning): """Warn about deprecated MDP API.""" pass import configuration __version__ = '3.3' __revision__ = configuration.get_git_revision() __authors__ = 'MDP Developers' __copyright__ = '(c) 2003-2011 [email protected]' __license__ = 'BSD License, see COPYRIGHT' __contact__ = '*****@*****.**' __homepage__ = 'http://mdp-toolkit.sourceforge.net' configuration.set_configuration() config = configuration.config (numx_description, numx, numx_linalg, numx_fft, numx_rand, numx_version) = configuration.get_numx() # import the utils module (used by other modules) import utils # set symeig utils.symeig = configuration.get_symeig(numx_linalg) # import exceptions from nodes and flows from signal_node import (NodeException, InconsistentDimException, TrainingException, TrainingFinishedException, IsNotTrainableException, IsNotInvertibleException) from linear_flows import CrashRecoveryException, FlowException, FlowExceptionCR
import utils from configuration import config, set_configuration from utils_plots import plot_slice_3d_3 import theano.tensor as T import utils_lung import blobs_detection import logger from collections import defaultdict theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: test_luna_props_scan.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_luna_props_scan', config_name) # predictions path predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH) outputs_path = predictions_dir + '/%s' % config_name utils.auto_make_dir(outputs_path) # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s.log' % config_name) sys.stderr = sys.stdout # builds model and sets its parameters model = config().build_model()
import dicom import matplotlib import matplotlib.pyplot as plt import numpy as np import utils from matplotlib import animation from pkl2patient import clean_metadata import configuration import data_loader import utils #configuration.set_configuration('je_test') configuration.set_configuration('j8_ira_layer') _config = configuration.config def extract_image_patch(chunk_dst, img): """ extract a correctly sized patch from img and place it into chunk_dst, which assumed to be preinitialized to zeros. """ # # DEBUG: draw a border to see where the image ends up # img[0, :] = 127 # img[-1, :] = 127 # img[:, 0] = 127 # img[:, -1] = 127 p_x, p_y = chunk_dst.shape
parser.add_argument("eval", type=str, help="test/valid/feat/train/test_tta/valid_tta") parser.add_argument("--dump", type=int, default=0, help="Should we store the predictions in raw format") parser.add_argument( "--best", type=int, default=0, help="Should we use the best model instead of the last model") args = parser.parse_args() config_name = args.config_name set_configuration('configs', config_name) all_tta_feat = args.eval == 'all_tta_feat' feat = args.eval == 'feat' train = args.eval == 'train' train_tta = args.eval == 'train_tta' train_tta_feat = args.eval == 'train_tta_feat' valid = args.eval == 'valid' valid_tta = args.eval == 'valid_tta' valid_tta_feat = args.eval == 'valid_tta_feat' valid_tta_majority = args.eval == 'valid_tta_majority' test = args.eval == 'test' test_tta = args.eval == 'test_tta'
import utils from configuration import config, set_configuration from utils_plots import plot_slice_3d_3 import theano.tensor as T import utils_lung import blobs_detection import logger from collections import defaultdict theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: test_luna_props_scan.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_luna_props_scan', config_name) # predictions path predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH) outputs_path = predictions_dir + '/%s' % config_name utils.auto_make_dir(outputs_path) # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s.log' % config_name) sys.stderr = sys.stdout # builds model and sets its parameters model = config().build_model() x_shared = nn.utils.shared_empty(dim=len(model.l_in.shape))
from datetime import datetime, timedelta from collections import defaultdict import utils import logger import theano.tensor as T import buffering from configuration import config, set_configuration import pathfinder theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: train.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_luna_props_patch', config_name) expid = utils.generate_expid(config_name) print print "Experiment ID: %s" % expid print # metadata metadata_dir = utils.get_dir_path('models', pathfinder.METADATA_PATH) metadata_path = metadata_dir + '/%s.pkl' % expid # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s.log' % expid) sys.stderr = sys.stdout print 'Build model'
import theano import buffering import pathfinder import utils from configuration import config, set_configuration from utils_plots import plot_slice_3d_3 import utils_lung import logger theano.config.warn_float64 = 'raise' if len(sys.argv) < 2: sys.exit("Usage: train.py <configuration_name>") config_name = sys.argv[1] set_configuration('configs_fpred_patch', config_name) # metadata metadata_dir = utils.get_dir_path('models', pathfinder.METADATA_PATH) metadata_path = utils.find_model_metadata(metadata_dir, config_name) metadata = utils.load_pkl(metadata_path) expid = metadata['experiment_id'] # logs logs_dir = utils.get_dir_path('logs', pathfinder.METADATA_PATH) sys.stdout = logger.Logger(logs_dir + '/%s-test.log' % expid) sys.stderr = sys.stdout # predictions path predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH)
import os import numpy as np import data_transforms import pathfinder import utils import utils_lung from configuration import set_configuration, config from utils_plots import plot_slice_3d_2, plot_2d, plot_2d_4, plot_slice_3d_3 set_configuration('configs_luna_patch', 'luna_patch_local') def test_luna_patches_3d(): image_dir = utils.get_dir_path('analysis', pathfinder.METADATA_PATH) image_dir = image_dir + '/test_luna/' utils.auto_make_dir(image_dir) id2zyxd = utils_lung.read_luna_annotations(pathfinder.LUNA_LABELS_PATH) luna_data_paths = utils_lung.get_patient_data_paths(pathfinder.LUNA_DATA_PATH) luna_data_paths = [p for p in luna_data_paths if '.mhd' in p] # pid = '1.3.6.1.4.1.14519.5.2.1.6279.6001.138080888843357047811238713686' # luna_data_paths = [pathfinder.LUNA_DATA_PATH + '/%s.mhd' % pid] for k, p in enumerate(luna_data_paths): img, origin, pixel_spacing = utils_lung.read_mhd(p) # img = data_transforms.hu2normHU(img) id = os.path.basename(p).replace('.mhd', '') print id annotations = id2zyxd[id]