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