a b/analyze_dsb_pixel_spacings.py
1
import cPickle as pickle
2
import string
3
import sys
4
import time
5
from itertools import izip
6
import numpy as np
7
from datetime import datetime, timedelta
8
import utils
9
import utils_lung
10
import logger
11
import buffering
12
import pathfinder
13
import data_iterators
14
15
16
candidates_config = 'dsb_c3_s5_p8a1'
17
predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH)
18
candidates_path = predictions_dir + '/%s' % candidates_config
19
id2candidates_path = utils_lung.get_candidates_paths(candidates_path)
20
21
train_valid_ids = utils.load_pkl(pathfinder.VALIDATION_SPLIT_PATH)
22
train_pids, valid_pids, test_pids = train_valid_ids['training'], train_valid_ids['validation'], train_valid_ids['test']
23
all_pids = train_pids + valid_pids + test_pids
24
25
data_iterator = data_iterators.DSBPixelSpacingsGenerator(pathfinder.DATA_PATH, id2candidates_path, all_pids)
26
27
28
z = []
29
y = []
30
x = []
31
pixel_spacings = {}
32
33
# use buffering.buffered_gen_threaded()
34
for idx, (pid, pixel_spacing) in enumerate(data_iterator.generate()):
35
    print idx, pid, pixel_spacing
36
    z.append(pixel_spacing[0])
37
    y.append(pixel_spacing[1])
38
    x.append(pixel_spacing[2])
39
    pixel_spacings[pid] = pixel_spacing
40
41
42
utils.save_pkl(pixel_spacings, 'pixel_spacings_dsb.pkl')
43
print 'z', min(z), max(z)
44
print 'y', min(y), max(y)
45
print 'x', min(x), max(x)