Diff of /config.py [000000] .. [4f54f1]

Switch to unified view

a b/config.py
1
import os
2
3
# The path points to the original images and is
4
# used if a preprocessing step needs to be executed
5
ALL_IMGS = 'D:/stage1'
6
7
LABELS_INPUT_DIR = './input'
8
9
PATIENT_LABELS_CSV = LABELS_INPUT_DIR + '/stage1_labels.csv'
10
TEST_PATIENTS_IDS = LABELS_INPUT_DIR + '/stage1_sample_submission.csv'
11
12
VALIDATION_PATINETS_IDS = LABELS_INPUT_DIR + '/validation_data.csv'
13
TRAINING_PATIENTS_IDS = LABELS_INPUT_DIR + '/training_data.csv'
14
15
MODELS_STORE_DIR = './models'
16
SOLUTION_FILE_PATH = './solution_last.csv'
17
REAL_SOLUTION_CSV = './input/stage1_solution.csv'
18
RESTORE_MODEL_CKPT = 'model_best_sensitivity.ckpt'
19
SUMMARIES_DIR = './summaries/model_summary'
20
RESTORE = False
21
START_STEP = 1
22
23
COLUMN_NAME = 'cancer'
24
ID_COLUMN_NAME = 'id'
25
26
CANCER_CLS = 1
27
NO_CANCER_CLS = 0
28
29
# Image properties
30
OUT_SCAN = -2000
31
MIN_BOUND = -1000.0
32
MAX_BOUND = 400.0
33
34
BACKGROUND = 0
35
BATCH_SIZE = 1
36
NUM_CHANNELS = 1
37
N_CLASSES = 2
38
39
# Preprocessing options used for the defined models
40
BASELINE_PREPROCESS = 0
41
MORPHOLOGICAL_OPERATIONS = 1
42
WATERSHED = 2
43
44
FETCHED_DATA_DIR = './fetch_data'
45
46
# Configuration for the buckets with preprocessed images
47
# to download the data from
48
bucket_names = {
49
    BASELINE_PREPROCESS: 'baseline-preprocess',
50
    MORPHOLOGICAL_OPERATIONS: 'segmented-lungs',
51
    WATERSHED: 'segmented-lungs-watershed'  
52
}
53
54
# construct the path using the object name in the buckets, since
55
# by default images are stored in directories with the object name
56
preprocessed_imgs = {
57
    BASELINE_PREPROCESS: os.path.join(FETCHED_DATA_DIR, 'baseline_preprocessing'),
58
    MORPHOLOGICAL_OPERATIONS: os.path.join(FETCHED_DATA_DIR, 'segmented_morph_op'),
59
    WATERSHED: os.path.join(FETCHED_DATA_DIR, 'segmented_watershed')  
60
}
61
62
63
# Defined models
64
BASELINE = 'baseline'
65
BASELINE_WITH_SEGMENTATION = 'baseline_with_segmentation'
66
NO_REGULARIZATION = 'no_regularization'
67
NO_REGULARIZATION_WATERSHED = 'no_regularization_watershed'
68
DROPOUT_L2NORM_REGULARIZARION = 'with_regularization'
69
REGULARIZATION_MORE_SLICES = 'regularization_more_slices'
70
WITH_DATA_AUGMENTATION = 'more_slices_augmentation'
71
72
73
model_to_img_shape = { 
74
    BASELINE: (100, 128, 128),
75
    BASELINE_WITH_SEGMENTATION: (100, 128, 128),
76
    NO_REGULARIZATION: (140, 256, 256),
77
    NO_REGULARIZATION_WATERSHED: (140, 256, 256),
78
    DROPOUT_L2NORM_REGULARIZARION: (140, 256, 256),
79
    REGULARIZATION_MORE_SLICES: (180, 256, 256),
80
    WITH_DATA_AUGMENTATION: (180, 256, 256)
81
}
82
83
model_to_preprocessing = {
84
    BASELINE: BASELINE_PREPROCESS,
85
    BASELINE_WITH_SEGMENTATION: MORPHOLOGICAL_OPERATIONS,
86
    NO_REGULARIZATION: MORPHOLOGICAL_OPERATIONS,
87
    NO_REGULARIZATION_WATERSHED: WATERSHED,
88
    DROPOUT_L2NORM_REGULARIZARION: WATERSHED,
89
    REGULARIZATION_MORE_SLICES: WATERSHED,
90
    WITH_DATA_AUGMENTATION: WATERSHED
91
}
92
93
# This configuration must be changed in order to select other
94
# predefined model for training
95
SELECTED_MODEL = WITH_DATA_AUGMENTATION
96
97
SEGMENTATION_ALGO = model_to_preprocessing.get(SELECTED_MODEL, 
98
    model_to_preprocessing[WITH_DATA_AUGMENTATION]) 
99
100
IMG_SHAPE = model_to_img_shape.get(SELECTED_MODEL, 
101
                                   model_to_img_shape[WITH_DATA_AUGMENTATION])
102
103
SLICES, IMAGE_PXL_SIZE_X, IMAGE_PXL_SIZE_Y = IMG_SHAPE
104
105
SEGMENTED_LUNGS_DIR = preprocessed_imgs[SEGMENTATION_ALGO]
106
107
BUCKET_IN_USE = bucket_names[SEGMENTATION_ALGO]
108
109
REQUIRED_IMGS_COUNT = 1595
110
111
# Google cloud API client related
112
# Use for downloading preprocessed images from the
113
# cloud buckets
114
PROJECT_NAME = 'lung-cancer-tests'
115
CREDENTIALS_DIR = './fetch_data'
116
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] =  os.path.join(CREDENTIALS_DIR,
117
    'lung-cancer-tests-168b7b36ab99.json')