--- a +++ b/analyze_dsb_pixel_spacings.py @@ -0,0 +1,45 @@ +import cPickle as pickle +import string +import sys +import time +from itertools import izip +import numpy as np +from datetime import datetime, timedelta +import utils +import utils_lung +import logger +import buffering +import pathfinder +import data_iterators + + +candidates_config = 'dsb_c3_s5_p8a1' +predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH) +candidates_path = predictions_dir + '/%s' % candidates_config +id2candidates_path = utils_lung.get_candidates_paths(candidates_path) + +train_valid_ids = utils.load_pkl(pathfinder.VALIDATION_SPLIT_PATH) +train_pids, valid_pids, test_pids = train_valid_ids['training'], train_valid_ids['validation'], train_valid_ids['test'] +all_pids = train_pids + valid_pids + test_pids + +data_iterator = data_iterators.DSBPixelSpacingsGenerator(pathfinder.DATA_PATH, id2candidates_path, all_pids) + + +z = [] +y = [] +x = [] +pixel_spacings = {} + +# use buffering.buffered_gen_threaded() +for idx, (pid, pixel_spacing) in enumerate(data_iterator.generate()): + print idx, pid, pixel_spacing + z.append(pixel_spacing[0]) + y.append(pixel_spacing[1]) + x.append(pixel_spacing[2]) + pixel_spacings[pid] = pixel_spacing + + +utils.save_pkl(pixel_spacings, 'pixel_spacings_dsb.pkl') +print 'z', min(z), max(z) +print 'y', min(y), max(y) +print 'x', min(x), max(x)