|
a |
|
b/plot_luna_roi.py |
|
|
1 |
import cPickle as pickle |
|
|
2 |
import string |
|
|
3 |
import sys |
|
|
4 |
import time |
|
|
5 |
from itertools import izip |
|
|
6 |
import lasagne as nn |
|
|
7 |
import numpy as np |
|
|
8 |
import theano |
|
|
9 |
from datetime import datetime, timedelta |
|
|
10 |
import utils |
|
|
11 |
import logger |
|
|
12 |
import theano.tensor as T |
|
|
13 |
import buffering |
|
|
14 |
from configuration import config, set_configuration |
|
|
15 |
import pathfinder |
|
|
16 |
import utils_plots |
|
|
17 |
import utils_lung |
|
|
18 |
import data_iterators |
|
|
19 |
|
|
|
20 |
theano.config.warn_float64 = 'raise' |
|
|
21 |
|
|
|
22 |
if len(sys.argv) < 2: |
|
|
23 |
sys.exit("Usage: train.py <configuration_name>") |
|
|
24 |
|
|
|
25 |
config_name = sys.argv[1] |
|
|
26 |
set_configuration('configs_fpred_scan', config_name) |
|
|
27 |
|
|
|
28 |
predictions_dir = utils.get_dir_path('analysis', pathfinder.METADATA_PATH) |
|
|
29 |
outputs_path = predictions_dir + '/%s' % config_name |
|
|
30 |
utils.auto_make_dir(outputs_path) |
|
|
31 |
|
|
|
32 |
# candidates after segmentations path |
|
|
33 |
predictions_dir = utils.get_dir_path('model-predictions', pathfinder.METADATA_PATH) |
|
|
34 |
segmentation_outputs_path = predictions_dir + '/%s' % config_name |
|
|
35 |
id2candidates_path = utils_lung.get_candidates_paths(segmentation_outputs_path) |
|
|
36 |
|
|
|
37 |
data_iterator = data_iterators.FixedCandidatesLunaDataGenerator(data_path=pathfinder.LUNA_DATA_PATH, |
|
|
38 |
transform_params=config().p_transform, |
|
|
39 |
data_prep_fun=config().data_prep_function, |
|
|
40 |
id2candidates_path=id2candidates_path, |
|
|
41 |
top_n=4) |
|
|
42 |
|
|
|
43 |
print |
|
|
44 |
print 'Data' |
|
|
45 |
print 'n samples: %d' % data_iterator.nsamples |
|
|
46 |
|
|
|
47 |
prev_pid = None |
|
|
48 |
i = 0 |
|
|
49 |
for (x_chunk_train, y_chunk_train, id_train) in data_iterator.generate(): |
|
|
50 |
print id_train |
|
|
51 |
pid = id_train[0] |
|
|
52 |
if pid == prev_pid: |
|
|
53 |
i += 1 |
|
|
54 |
else: |
|
|
55 |
i = 0 |
|
|
56 |
|
|
|
57 |
utils_plots.plot_slice_3d_3axis(input=x_chunk_train[0, 0], |
|
|
58 |
pid='-'.join([str(pid), str(i)]), |
|
|
59 |
img_dir=outputs_path, |
|
|
60 |
idx=np.array(x_chunk_train[0, 0].shape) / 2) |
|
|
61 |
prev_pid = pid |