|
a |
|
b/pathfinder.py |
|
|
1 |
import json |
|
|
2 |
import utils |
|
|
3 |
import os |
|
|
4 |
import utils_lung |
|
|
5 |
|
|
|
6 |
if utils.hostname() == 'user': |
|
|
7 |
with open('SETTINGS_user.json') as data_file: |
|
|
8 |
paths = json.load(data_file) |
|
|
9 |
else: |
|
|
10 |
with open('SETTINGS.json') as data_file: |
|
|
11 |
paths = json.load(data_file) |
|
|
12 |
|
|
|
13 |
# kaggle data |
|
|
14 |
STAGE = int(paths["STAGE"]) |
|
|
15 |
|
|
|
16 |
if STAGE == 1: |
|
|
17 |
METADATA_PATH = paths["METADATA_PATH_1"] |
|
|
18 |
|
|
|
19 |
DATA_PATH = paths["DATA_PATH_1"] |
|
|
20 |
utils.check_data_paths(DATA_PATH) |
|
|
21 |
|
|
|
22 |
SAMPLE_SUBMISSION_PATH = paths["SAMPLE_SUBMISSION_PATH_1"] |
|
|
23 |
if not os.path.isfile(SAMPLE_SUBMISSION_PATH): |
|
|
24 |
raise ValueError('no stage 1 sample submission file') |
|
|
25 |
|
|
|
26 |
elif STAGE == 2: |
|
|
27 |
METADATA_PATH = paths["METADATA_PATH_2"] |
|
|
28 |
|
|
|
29 |
DATA_PATH = paths["DATA_PATH_2"] |
|
|
30 |
utils.check_data_paths(DATA_PATH) |
|
|
31 |
|
|
|
32 |
SAMPLE_SUBMISSION_PATH = paths["SAMPLE_SUBMISSION_PATH_2"] |
|
|
33 |
if not os.path.isfile(SAMPLE_SUBMISSION_PATH): |
|
|
34 |
raise ValueError('no stage 2 sample submission file') |
|
|
35 |
|
|
|
36 |
LABELS_PATH = paths["LABELS_PATH"] |
|
|
37 |
if not os.path.isfile(LABELS_PATH): |
|
|
38 |
raise ValueError('no file with train labels') |
|
|
39 |
|
|
|
40 |
|
|
|
41 |
TEST_LABELS_PATH = paths["TEST_LABELS_PATH"] |
|
|
42 |
if not os.path.isfile(TEST_LABELS_PATH): |
|
|
43 |
raise ValueError('no file with test labels') |
|
|
44 |
|
|
|
45 |
VALIDATION_SPLIT_PATH = paths["VALIDATION_SPLIT_PATH"] |
|
|
46 |
if not os.path.isfile(VALIDATION_SPLIT_PATH): |
|
|
47 |
raise ValueError('no VALIDATION_SPLIT_PATH file') |
|
|
48 |
|
|
|
49 |
FINAL_SPLIT_PATH = paths["FINAL_SPLIT_PATH"] |
|
|
50 |
if not os.path.isfile(FINAL_SPLIT_PATH): |
|
|
51 |
raise ValueError('no FINAL_SPLIT_PATH file') |
|
|
52 |
|
|
|
53 |
# luna data |
|
|
54 |
LUNA_DATA_PATH = paths["LUNA_DATA_PATH"] |
|
|
55 |
utils.check_data_paths(LUNA_DATA_PATH) |
|
|
56 |
|
|
|
57 |
LUNA_SEG_DATA_PATH = paths["LUNA_SEG_DATA_PATH"] |
|
|
58 |
utils.check_data_paths(LUNA_SEG_DATA_PATH) |
|
|
59 |
|
|
|
60 |
LUNA_LABELS_PATH = paths["LUNA_LABELS_PATH"] |
|
|
61 |
if not os.path.isfile(LUNA_LABELS_PATH): |
|
|
62 |
raise ValueError('no file with luna annotations') |
|
|
63 |
|
|
|
64 |
LUNA_CANDIDATES_PATH = paths["LUNA_CANDIDATES_PATH"] |
|
|
65 |
if not os.path.isfile(LUNA_CANDIDATES_PATH): |
|
|
66 |
raise ValueError('no LUNA file candidates_V2.csv') |
|
|
67 |
|
|
|
68 |
LUNA_VALIDATION_SPLIT_PATH = paths["LUNA_VALIDATION_SPLIT_PATH"] |
|
|
69 |
if not os.path.isfile(LUNA_VALIDATION_SPLIT_PATH): |
|
|
70 |
raise ValueError('no LUNA validation split file') |
|
|
71 |
|
|
|
72 |
LUNA_NODULE_ANNOTATIONS_PATH = paths["LUNA_NODULE_ANNOTATIONS"] |
|
|
73 |
utils.check_data_paths(LUNA_NODULE_ANNOTATIONS_PATH) |
|
|
74 |
|
|
|
75 |
LUNA_PROPERTIES_PATH = paths['LUNA_PROPERTIES_PATH'] |
|
|
76 |
if not os.path.isfile(LUNA_PROPERTIES_PATH): |
|
|
77 |
raise ValueError('no LUNA properties file') |
|
|
78 |
|
|
|
79 |
VALIDATION_LB_MIXED_SPLIT_PATH = paths['VALIDATION_LB_MIXED_SPLIT_PATH'] |
|
|
80 |
if not os.path.isfile(VALIDATION_LB_MIXED_SPLIT_PATH): |
|
|
81 |
raise ValueError('no mixed validation and LB file') |