Commit 931d43476b67c62bee686d579b3d6e2f9b0fa034

Authored by Louis Baetens
1 parent 1ec6573e
Exists in master

ENH changed the user_choices to autmatically_geneated

PCC/all_run_pcc.py
... ... @@ -36,7 +36,7 @@ def create_directories(comparison_parameters):
36 36 print(to_check + ' created')
37 37  
38 38  
39   - main_dir = comparison_parameters["user_choices"]["main_dir"]
  39 + main_dir = comparison_parameters["automatically_generated"]["main_dir"]
40 40 directories = ['', 'Multi_classif', 'Binary_classif',
41 41 'Multi_difference', 'Binary_difference', 'Original_data',
42 42 'Intermediate', 'Statistics', 'Out', op.join('Statistics', 'features')]
... ... @@ -60,7 +60,7 @@ def create_directories(comparison_parameters):
60 60 print('Done')
61 61  
62 62  
63   -def initialization_comparison_parameters(main_dir, location, current_date):
  63 +def initialization_comparison_parameters(main_dir, location, current_date, sub_data_dir):
64 64 ''' To initialize the path and name in the JSON file
65 65 Must be done at the very beggining
66 66 '''
... ... @@ -72,15 +72,17 @@ def initialization_comparison_parameters(main_dir, location, current_date):
72 72 jsonFile.close() # Close the JSON file
73 73  
74 74 # Working with buffered content
75   - data["user_choices"]["main_dir"] = main_dir
76   - data["user_choices"]["current_date"] = current_date
77   - data["user_choices"]["location"] = location
78   - data["user_choices"]["raw_img"] = location + '_bands.tif'
  75 + data["automatically_generated"]["main_dir"] = main_dir
  76 + data["automatically_generated"]["current_date"] = current_date
  77 + data["automatically_generated"]["location"] = location
  78 + data["automatically_generated"]["raw_img"] = location + '_bands.tif'
  79 + data["automatically_generated"]["sub_data_dir"] = sub_data_dir
79 80  
80 81 tile = paths_configuration["tile_location"][location]
81   - data["user_choices"]["tile"] = tile
  82 + data["automatically_generated"]["tile"] = tile
82 83  
83   - data["alcd_output"]["main_dir"] = op.join(paths_configuration["data_paths"]["data_alcd"], (location + '_' + tile + '_' + current_date))
  84 + #~ data["alcd_output"]["main_dir"] = op.join(paths_configuration["data_paths"]["data_alcd"], (location + '_' + tile + '_' + current_date))
  85 + data["automatically_generated"]["alcd_main_dir"] = op.join(paths_configuration["data_paths"]["data_alcd"], (location + '_' + tile + '_' + current_date))
84 86  
85 87 # Save our changes to JSON file
86 88 jsonFile = open(json_path, "w+")
... ... @@ -90,7 +92,7 @@ def initialization_comparison_parameters(main_dir, location, current_date):
90 92  
91 93  
92 94  
93   -def run_all(part, location=None, current_date=None, masks_already_computed = False,
  95 +def run_all(part, location, current_date, sub_data_dir, masks_already_computed = False,
94 96 comparison_parameters = None, alcd_ref = 'idc', binary_only = False):
95 97 paths_configuration = json.load(open(op.join('..', 'paths_configuration.json')))
96 98 Data_PCC_dir = paths_configuration["data_paths"]["data_pcc"]
... ... @@ -100,8 +102,11 @@ def run_all(part, location=None, current_date=None, masks_already_computed = Fal
100 102  
101 103 if part == 1:
102 104 # ----- Create the directories and general structure
103   - main_dir = op.join(Data_PCC_dir, (location + '_' + tile + '_' + current_date))
104   - initialization_comparison_parameters(main_dir, location, current_date)
  105 + if sub_data_dir == '':
  106 + main_dir = op.join(Data_PCC_dir, (location + '_' + tile + '_' + current_date))
  107 + else:
  108 + main_dir = op.join(Data_PCC_dir, sub_data_dir, (location + '_' + tile + '_' + current_date))
  109 + initialization_comparison_parameters(main_dir, location, current_date, sub_data_dir)
105 110  
106 111 # Load the parameters
107 112 comparison_parameters = json.load(open(op.join('parameters_files','comparison_parameters.json')))
... ... @@ -109,7 +114,7 @@ def run_all(part, location=None, current_date=None, masks_already_computed = Fal
109 114  
110 115 # Copy the global_parameters files to save it
111 116 src = op.join('parameters_files','comparison_parameters.json')
112   - dst = op.join(Data_PCC_dir, comparison_parameters["user_choices"]["main_dir"], 'used_comparison_parameters.json')
  117 + dst = op.join(Data_PCC_dir, comparison_parameters["automatically_generated"]["main_dir"], 'used_comparison_parameters.json')
113 118 shutil.copyfile(src, dst)
114 119 return comparison_parameters
115 120  
... ... @@ -117,10 +122,10 @@ def run_all(part, location=None, current_date=None, masks_already_computed = Fal
117 122 else:
118 123 if comparison_parameters == None:
119 124 comparison_parameters = json.load(open(op.join('parameters_files','comparison_parameters.json')))
120   - main_dir = comparison_parameters["user_choices"]["main_dir"]
121   - location = comparison_parameters["user_choices"]["location"]
122   - date_string = comparison_parameters["user_choices"]["current_date"]
123   - tile = comparison_parameters["user_choices"]["tile"]
  125 + main_dir = comparison_parameters["automatically_generated"]["main_dir"]
  126 + location = comparison_parameters["automatically_generated"]["location"]
  127 + date_string = comparison_parameters["automatically_generated"]["current_date"]
  128 + tile = comparison_parameters["automatically_generated"]["tile"]
124 129  
125 130  
126 131 if part == 2:
... ... @@ -202,7 +207,7 @@ def run_all(part, location=None, current_date=None, masks_already_computed = Fal
202 207 # ----- Post treat the difference masks
203 208 png_converter.post_treatment(comparison_parameters)
204 209 # clean the .aux.xml files
205   - main_dir = comparison_parameters["user_choices"]["main_dir"]
  210 + main_dir = comparison_parameters["automatically_generated"]["main_dir"]
206 211 for root, dirnames, filenames in os.walk(main_dir):
207 212 to_delete = [op.join(root, name) for name in filenames if '.aux.xml' in name]
208 213 for file_to_delete in to_delete:
... ... @@ -222,20 +227,22 @@ def str2bool(v):
222 227 def main():
223 228 parser = argparse.ArgumentParser()
224 229  
225   - parser.add_argument('-l', action='store', default=None, dest='location', help='Location (e.g. Orleans)')
226   - parser.add_argument('-d', action='store', default=None, dest='current_date', help='The desired date to process (e.g. 20170702)')
  230 + parser.add_argument('-l', action='store', default=None, dest='location', help='Location (e.g. Orleans)', required = True)
  231 + parser.add_argument('-d', action='store', default=None, dest='current_date', help='The desired date to process (e.g. 20170702)', required = True)
  232 + parser.add_argument('-s', action='store', default='', dest='sub_data_dir', help='A sub dir')
227 233 parser.add_argument('-m', action='store', default=None, dest='masks_already_computed', help='Bool, if the masks have already been computed')
228   - parser.add_argument('-r', action='store', default=None, dest='alcd_ref', help='Which chains you want to compare to. Can contain i (initial), d (dilation). e.g. id for initial and dilation')
  234 + parser.add_argument('-r', action='store', default='id', dest='alcd_ref', help='Which chains you want to compare to. Can contain i (initial), d (dilation). e.g. id for initial and dilation')
229 235 parser.add_argument('-b', action='store', default=None, dest='binary_only', help='If you only want to compute the binary difference. False will compute the multi-class difference also')
230 236  
231 237 results = parser.parse_args()
232 238  
233 239 location = results.location
234 240 current_date = results.current_date
  241 + sub_data_dir = results.sub_data_dir
235 242 alcd_ref = results.alcd_ref
  243 + sub_data_dir = results.sub_data_dir
  244 +
236 245  
237   - if alcd_ref == None:
238   - alcd_ref = 'id'
239 246  
240 247 if results.binary_only == None:
241 248 binary_only = False
... ... @@ -247,20 +254,17 @@ def main():
247 254 else :
248 255 masks_already_computed = str2bool(results.masks_already_computed)
249 256  
250   -
251   - if location == None or current_date == None:
252   - location = 'Orleans'
253   - current_date = '20170516'
  257 +
254 258  
255 259  
256   - comparison_parameters = run_all(1, location, current_date, masks_already_computed, alcd_ref)
  260 + comparison_parameters = run_all(1, location, current_date, sub_data_dir, masks_already_computed, alcd_ref)
257 261 # Saving the comparison parameters in a variable allows to run
258 262 # multiple PCC in parallel on different locations and dates at the same time
259   - run_all(2, location, current_date, masks_already_computed, comparison_parameters, alcd_ref)
260   - run_all(3, location, current_date, masks_already_computed, comparison_parameters, alcd_ref, binary_only = binary_only)
261   - run_all(4, location, current_date, masks_already_computed, comparison_parameters, alcd_ref, binary_only = binary_only)
262   - run_all(5, location, current_date, masks_already_computed, comparison_parameters, alcd_ref)
263   - run_all(6, location, current_date, masks_already_computed, comparison_parameters, alcd_ref)
  263 + run_all(2, location, current_date, sub_data_dir, masks_already_computed, comparison_parameters, alcd_ref)
  264 + run_all(3, location, current_date, sub_data_dir, masks_already_computed, comparison_parameters, alcd_ref, binary_only = binary_only)
  265 + run_all(4, location, current_date, sub_data_dir, masks_already_computed, comparison_parameters, alcd_ref, binary_only = binary_only)
  266 + run_all(5, location, current_date, sub_data_dir, masks_already_computed, comparison_parameters, alcd_ref)
  267 + run_all(6, location, current_date, sub_data_dir, masks_already_computed, comparison_parameters, alcd_ref)
264 268  
265 269 if __name__=='__main__':
266 270 start_time = time.time()
... ...
PCC/comparison.py
... ... @@ -154,7 +154,7 @@ def compare_all(comparison_parameters, binary_classif = True, reference_algo = '
154 154 '''
155 155 Compare the different processing chains
156 156 '''
157   - main_dir = comparison_parameters["user_choices"]["main_dir"]
  157 + main_dir = comparison_parameters["automatically_generated"]["main_dir"]
158 158  
159 159 # Which classification we apply
160 160 try:
... ...
PCC/masks_conversion.py
... ... @@ -495,11 +495,11 @@ def convert_all_masks(comparison_parameters, masks_already_computed = False, bin
495 495 to the output of the ALCD, i.e. in same classes.
496 496 Afterward, it converts them to binary classification also
497 497 '''
498   - main_dir = comparison_parameters["user_choices"]["main_dir"]
  498 + main_dir = comparison_parameters["automatically_generated"]["main_dir"]
499 499 original_dir = op.join(main_dir, 'Original_data')
500 500 binary_classif_dir = op.join(main_dir, 'Binary_classif')
501 501 multi_classif_dir = op.join(main_dir, 'Multi_classif')
502   - suffix = '_' + comparison_parameters["user_choices"]["location"] + '_' + comparison_parameters["user_choices"]["current_date"]
  502 + suffix = '_' + comparison_parameters["automatically_generated"]["location"] + '_' + comparison_parameters["automatically_generated"]["current_date"]
503 503  
504 504 # Realign the tifs between them
505 505 # Resolution should be 60 or 20
... ...
PCC/metrics_grapher.py
... ... @@ -23,7 +23,7 @@ def plot_all_metrics(comparison_parameters, reference_algo = 'alcd_initial'):
23 23 '''
24 24 Plot 4 metrics for all the processing chains
25 25 '''
26   - main_dir = comparison_parameters["user_choices"]["main_dir"]
  26 + main_dir = comparison_parameters["automatically_generated"]["main_dir"]
27 27 reference_sub_dir = comparison_parameters["processing"][reference_algo]["sub_dir"]
28 28 stats_dir = op.join(main_dir, 'Statistics', reference_sub_dir)
29 29  
... ... @@ -85,8 +85,8 @@ def plot_all_metrics(comparison_parameters, reference_algo = 'alcd_initial'):
85 85 plt.xlabel('Processing chain')
86 86 plt.ylabel('Scores')
87 87  
88   - location = comparison_parameters["user_choices"]["location"]
89   - date = comparison_parameters["user_choices"]["current_date"]
  88 + location = comparison_parameters["automatically_generated"]["location"]
  89 + date = comparison_parameters["automatically_generated"]["current_date"]
90 90  
91 91 plt.title('Results of the processing chains for {}, {}'.format(location, date))
92 92 plt.xticks(index + bar_width*(nb_metrics/2), chain_names)
... ...
PCC/parameters_files/comparison_parameters.json
... ... @@ -4,9 +4,17 @@
4 4 "dilation_radius_meters": "480",
5 5 "erosion_radius_meters": "480",
6 6 "labeled_img_name": "labeled_img_regular.tif",
7   - "main_dir": "/mnt/data/home/baetensl/clouds_detection_git/Data_ALCD/Alta_Floresta_Brazil_21LWK_20180714",
8 7 "resolution": "60"
9 8 },
  9 + "automatically_generated": {
  10 + "alcd_main_dir": "/mnt/data/home/baetensl/clouds_detection_git/Data_ALCD/Alta_Floresta_Brazil_21LWK_20180813",
  11 + "current_date": "20180813",
  12 + "location": "Alta_Floresta_Brazil",
  13 + "main_dir": "/mnt/data/home/baetensl/clouds_detection_git/Data_PCC_testtime/BLOU/Alta_Floresta_Brazil_21LWK_20180813",
  14 + "raw_img": "Alta_Floresta_Brazil_bands.tif",
  15 + "sub_data_dir": "BLOU",
  16 + "tile": "21LWK"
  17 + },
10 18 "processing": {
11 19 "alcd_cirrus": {
12 20 "cloud_mask": "alcd_cirrus.tif",
... ... @@ -60,12 +68,5 @@
60 68 "name": "sen2cor_dilat",
61 69 "prefix": "sen2cor_dilat"
62 70 }
63   - },
64   - "user_choices": {
65   - "current_date": "20180714",
66   - "location": "Alta_Floresta_Brazil",
67   - "main_dir": "/mnt/data/home/baetensl/clouds_detection_git/Data_PCC_HOT017/Alta_Floresta_Brazil_21LWK_20180714",
68   - "raw_img": "Alta_Floresta_Brazil_bands.tif",
69   - "tile": "21LWK"
70 71 }
71 72 }
72 73 \ No newline at end of file
... ...
PCC/pixels_features_analysis.py
... ... @@ -85,9 +85,9 @@ def plot_confusion_repartition(comparison_parameters, processing_chain):
85 85 matrix.
86 86 e.g. what percentage of low_clouds and clouds_shadows in false positive
87 87 '''
88   - main_dir = comparison_parameters["user_choices"]["main_dir"]
89   - location = comparison_parameters["user_choices"]["location"]
90   - date = comparison_parameters["user_choices"]["current_date"]
  88 + main_dir = comparison_parameters["automatically_generated"]["main_dir"]
  89 + location = comparison_parameters["automatically_generated"]["location"]
  90 + date = comparison_parameters["automatically_generated"]["current_date"]
91 91  
92 92 class_nb = []
93 93 all_proportion = []
... ... @@ -176,12 +176,12 @@ def get_miclassified_histograms(comparison_parameters, processing_chain, diff_cl
176 176 paths_configuration = json.load(open(op.join('..', 'paths_configuration.json')))
177 177  
178 178 original_data = paths_configuration["data_paths"]["data_alcd"]
179   - location = str(comparison_parameters["user_choices"]["location"])
180   - date = str(comparison_parameters["user_choices"]["current_date"])
  179 + location = str(comparison_parameters["automatically_generated"]["location"])
  180 + date = str(comparison_parameters["automatically_generated"]["current_date"])
181 181 location_dir = location + '_' + '*' + '_' + date
182 182 raw_img = glob.glob(op.join(original_data, location_dir, 'In_data', 'Image', (location + '_bands.tif')))[0]
183 183  
184   - main_dir = comparison_parameters["user_choices"]["main_dir"]
  184 + main_dir = comparison_parameters["automatically_generated"]["main_dir"]
185 185  
186 186 reference_sub_dir = comparison_parameters["processing"]["alcd_initial"]["sub_dir"]
187 187  
... ... @@ -244,8 +244,8 @@ def get_miclassified_histograms(comparison_parameters, processing_chain, diff_cl
244 244 plt.xlabel('True class')
245 245 plt.ylabel('Proportion')
246 246  
247   - location = comparison_parameters["user_choices"]["location"]
248   - date = comparison_parameters["user_choices"]["current_date"]
  247 + location = comparison_parameters["automatically_generated"]["location"]
  248 + date = comparison_parameters["automatically_generated"]["current_date"]
249 249  
250 250 plt.ylim(0.,1.)
251 251  
... ... @@ -289,10 +289,10 @@ def get_normalized_histo(comparison_parameters, processing_chain, diff_class_nb,
289 289 paths_configuration = json.load(open(op.join('..', 'paths_configuration.json')))
290 290 #~ original_data = '/mnt/data/home/baetensl/clouds_detection_git/Data_ALCD'
291 291 original_data = paths_configuration["data_paths"]["data_alcd"]
292   - location = str(comparison_parameters["user_choices"]["location"])
293   - location_dir = location + '_' + '*' + '_' + str(comparison_parameters["user_choices"]["current_date"])
  292 + location = str(comparison_parameters["automatically_generated"]["location"])
  293 + location_dir = location + '_' + '*' + '_' + str(comparison_parameters["automatically_generated"]["current_date"])
294 294 raw_img = glob.glob(op.join(original_data, location_dir, 'In_data', 'Image', (location + '_bands.tif')))[0]
295   - main_dir = comparison_parameters["user_choices"]["main_dir"]
  295 + main_dir = comparison_parameters["automatically_generated"]["main_dir"]
296 296  
297 297 diff_img = glob.glob(op.join(main_dir, 'Binary_difference', 'ALCD_initial', '*{}*.tif'.format(processing_chain)))[0]
298 298 alcd_labeled_img = op.join(main_dir, 'Original_data', comparison_parameters["processing"]["alcd_initial"]["cloud_mask"])
... ... @@ -351,7 +351,7 @@ def extract_bands_per_class(comparison_parameters, processing_chain, alcd_class_
351 351  
352 352 DEPRECATED, should be improved !
353 353 '''
354   - main_dir = comparison_parameters["user_choices"]["main_dir"]
  354 + main_dir = comparison_parameters["automatically_generated"]["main_dir"]
355 355 stats_dir = op.join(main_dir, 'Statistics')
356 356  
357 357 all_diff_class_nb = [1,2,3,4]
... ...
PCC/png_converter.py
... ... @@ -9,6 +9,7 @@ from PIL import ImageFont
9 9 from PIL import ImageDraw
10 10 import glob
11 11 import json
  12 +import shutil
12 13  
13 14 def get_quicklook(location, date, out_png):
14 15 '''
... ... @@ -45,6 +46,14 @@ def get_quicklook(location, date, out_png):
45 46 return
46 47  
47 48  
  49 +def copy_alcd_contours(comparison_parameters):
  50 + alcd_main_dir = comparison_parameters["automatically_generated"]["alcd_main_dir"]
  51 + src_tif = op.join(alcd_main_dir, 'Out', 'contours_superposition.png')
  52 + pcc_main_dir = comparison_parameters["automatically_generated"]["main_dir"]
  53 + dst_tif = op.join(pcc_main_dir, 'Out', 'contours_alcd.png')
  54 +
  55 + shutil.copy(src_tif, dst_tif)
  56 +
48 57 def create_png(in_tifs, out_pngs, color_scheme='difference'):
49 58 '''
50 59 Convert the tif to png for easy comparison
... ... @@ -127,14 +136,20 @@ def post_treatment(comparison_parameters):
127 136 Post-treat all the tifs of the binary differences, i.e.
128 137 generate the quicklook of the difference and add text on it
129 138 '''
130   - main_dir = comparison_parameters["user_choices"]["main_dir"]
131   - location = comparison_parameters["user_choices"]["location"]
132   - date = comparison_parameters["user_choices"]["current_date"]
  139 + main_dir = comparison_parameters["automatically_generated"]["main_dir"]
  140 + location = comparison_parameters["automatically_generated"]["location"]
  141 + date = comparison_parameters["automatically_generated"]["current_date"]
133 142  
134 143 # Generate the quicklook
135 144 out_png = op.join(main_dir, 'Out', 'quicklook_' + location + '_' + date + '.png')
136 145 get_quicklook(location, date, out_png)
137 146  
  147 + # Copy the contours from ALCD
  148 + try:
  149 + copy_alcd_contours(comparison_parameters)
  150 + except:
  151 + pass
  152 +
138 153 # Extract the classification differences
139 154 bin_dir = op.join(main_dir, 'Binary_difference')
140 155 references_dir = [comparison_parameters["processing"]["alcd_initial"]["sub_dir"],
... ...
Tools/create_pcc_launch.py
... ... @@ -8,6 +8,7 @@ import glob
8 8 import numpy as np
9 9 import json
10 10 import csv
  11 +import argparse
11 12  
12 13  
13 14 def open_csv(csv_path):
... ... @@ -26,35 +27,55 @@ def open_csv(csv_path):
26 27 print(cloudy_dates)
27 28 return locations, clear_dates, cloudy_dates
28 29  
29   -def create_pcc_launch(locations, dates, out_file):
30   -
  30 +def create_pcc_launch(locations, dates, out_file, serial = False, sub_data_dir = ''):
31 31 commands = []
32 32 for i in range(len(locations)):
33 33 commands.append("cd /mnt/data/home/baetensl/clouds_detection_git/PCC\n")
34   - #~ commands.append("python all_run_pcc.py -l {} -d {} -m True\n".format(locations[i], dates[i]))
35   - commands.append("python all_run_pcc.py -l {} -d {}\n".format(locations[i], dates[i]))
36   -
37   -
  34 + if sub_data_dir == '':
  35 + commands.append("python all_run_pcc.py -l {} -d {}\n".format(locations[i], dates[i]))
  36 + else:
  37 + commands.append("python all_run_pcc.py -l {} -d {} -s {}\n".format(locations[i], dates[i], sub_data_dir))
  38 +
38 39 # write shell files to launch the PEPS download
39   - nb_commands = 2*4
40   -
41   - start = 0
42   - end = nb_commands
43   - for k in range(1+int(float(len(commands))/nb_commands)):
44   - outf = open('{}_{}.sh'.format(out_file, k), 'w')
45   - for line in commands[start:end]:
  40 + if not serial: #create multiple .sh to allow parallel computing
  41 + nb_lines_per_scenes = 2
  42 + nb_scene_per_batch = 4
  43 + nb_commands = nb_lines_per_scenes*nb_scene_per_batch
  44 +
  45 + start = 0
  46 + end = nb_commands
  47 + for k in range(1+int(float(len(commands))/nb_commands)):
  48 + outf = open('{}_{}.sh'.format(out_file, k), 'w')
  49 + for line in commands[start:end]:
  50 + outf.write(line)
  51 + outf.close()
  52 + start += nb_commands
  53 + end += nb_commands
  54 +
  55 + else:
  56 + outf = open('{}_{}.sh'.format(out_file, 'all'), 'w')
  57 + for line in commands:
46 58 outf.write(line)
47   - outf.close()
48   - start += nb_commands
49   - end += nb_commands
  59 + outf.close()
50 60  
51 61  
52 62 def main():
53   - csv_path = '/mnt/data/home/baetensl/clouds_detection_git/Various_data/all_scenes.csv'
  63 + parser = argparse.ArgumentParser()
  64 +
  65 + parser.add_argument('-csv', action='store', default=None, dest='csv_path', help='CSV path containing the locations and dates')
  66 + parser.add_argument('-s', action='store', default='', dest='sub_data_dir', help='Sub dir name for the PCC')
  67 +
  68 + results = parser.parse_args()
  69 + csv_path = results.csv_path
  70 + sub_data_dir = results.sub_data_dir
  71 +
  72 + if csv_path == None:
  73 + csv_path = '../Various_data/all_scenes.csv'
  74 +
54 75 locations, clear_dates, cloudy_dates = open_csv(csv_path)
55 76  
56   - out_file_dir = '/mnt/data/home/baetensl/clouds_detection_git/Tools/pcc_launch/launch_pcc'
57   - create_pcc_launch(locations, cloudy_dates, out_file_dir)
  77 + out_file_dir = 'pcc_launch/launch_pcc'
  78 + create_pcc_launch(locations, cloudy_dates, out_file_dir, serial = True, sub_data_dir = sub_data_dir)
58 79  
59 80  
60 81  
... ...
Tools/pcc_launch/launch_pcc_all.sh 0 → 100644
... ... @@ -0,0 +1,64 @@
  1 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  2 +python all_run_pcc.py -l Arles -d 20170917 -s BLOU
  3 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  4 +python all_run_pcc.py -l Arles -d 20171002 -s BLOU
  5 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  6 +python all_run_pcc.py -l Arles -d 20171221 -s BLOU
  7 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  8 +python all_run_pcc.py -l Gobabeb -d 20161221 -s BLOU
  9 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  10 +python all_run_pcc.py -l Gobabeb -d 20170909 -s BLOU
  11 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  12 +python all_run_pcc.py -l Gobabeb -d 20171014 -s BLOU
  13 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  14 +python all_run_pcc.py -l Gobabeb -d 20180209 -s BLOU
  15 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  16 +python all_run_pcc.py -l Ispra -d 20170815 -s BLOU
  17 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  18 +python all_run_pcc.py -l Ispra -d 20171009 -s BLOU
  19 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  20 +python all_run_pcc.py -l Ispra -d 20171111 -s BLOU
  21 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  22 +python all_run_pcc.py -l Marrakech -d 20160417 -s BLOU
  23 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  24 +python all_run_pcc.py -l Marrakech -d 20170621 -s BLOU
  25 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  26 +python all_run_pcc.py -l Marrakech -d 20171218 -s BLOU
  27 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  28 +python all_run_pcc.py -l Mongu -d 20161112 -s BLOU
  29 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  30 +python all_run_pcc.py -l Mongu -d 20170804 -s BLOU
  31 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  32 +python all_run_pcc.py -l Mongu -d 20171013 -s BLOU
  33 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  34 +python all_run_pcc.py -l Orleans -d 20170516 -s BLOU
  35 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  36 +python all_run_pcc.py -l Orleans -d 20170819 -s BLOU
  37 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  38 +python all_run_pcc.py -l Orleans -d 20180218 -s BLOU
  39 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  40 +python all_run_pcc.py -l Pretoria -d 20170313 -s BLOU
  41 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  42 +python all_run_pcc.py -l Pretoria -d 20170820 -s BLOU
  43 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  44 +python all_run_pcc.py -l Pretoria -d 20171014 -s BLOU
  45 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  46 +python all_run_pcc.py -l Pretoria -d 20171213 -s BLOU
  47 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  48 +python all_run_pcc.py -l RailroadValley -d 20170501 -s BLOU
  49 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  50 +python all_run_pcc.py -l RailroadValley -d 20170827 -s BLOU
  51 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  52 +python all_run_pcc.py -l RailroadValley -d 20180213 -s BLOU
  53 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  54 +python all_run_pcc.py -l Munich -d 20180422 -s BLOU
  55 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  56 +python all_run_pcc.py -l Munich -d 20180424 -s BLOU
  57 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  58 +python all_run_pcc.py -l Alta_Floresta_Brazil -d 20180505 -s BLOU
  59 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  60 +python all_run_pcc.py -l Alta_Floresta_Brazil -d 20180609 -s BLOU
  61 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  62 +python all_run_pcc.py -l Alta_Floresta_Brazil -d 20180714 -s BLOU
  63 +cd /mnt/data/home/baetensl/clouds_detection_git/PCC
  64 +python all_run_pcc.py -l Alta_Floresta_Brazil -d 20180813 -s BLOU
... ...
paths_configuration.json
... ... @@ -12,7 +12,7 @@
12 12 },
13 13 "data_paths": {
14 14 "data_alcd": "/mnt/data/home/baetensl/clouds_detection_git/Data_ALCD",
15   - "data_pcc": "/mnt/data/home/baetensl/clouds_detection_git/Data_PCC_HOT017"
  15 + "data_pcc": "/mnt/data/home/baetensl/clouds_detection_git/Data_PCC_testtime"
16 16 },
17 17 "tile_location": {
18 18 "Orleans": "31UDP",
... ...