Skip to content
Snippets Groups Projects
Commit d7592b6b authored by tomrink's avatar tomrink
Browse files

snapshot...

parent f06d8087
No related branches found
No related tags found
No related merge requests found
...@@ -20,8 +20,8 @@ label_params = [group_name_i+target_param] ...@@ -20,8 +20,8 @@ label_params = [group_name_i+target_param]
data_params = [group_name_m+'temp_11_0um', group_name_m+'refl_0_65um', group_name_m+target_param] data_params = [group_name_m+'temp_11_0um', group_name_m+'refl_0_65um', group_name_m+target_param]
def keep_tile(param_s, tile): def keep_tile(param, param_s, tile):
k = param_s.index(group_name_m + target_param) k = param_s.index(param)
grd_k = tile[k, ].copy() grd_k = tile[k, ].copy()
if target_param == 'cloud_probability': if target_param == 'cloud_probability':
...@@ -89,15 +89,16 @@ def run_all(directory, out_directory, day_night='ANY', pattern='clavrx_*.nc', st ...@@ -89,15 +89,16 @@ def run_all(directory, out_directory, day_night='ANY', pattern='clavrx_*.nc', st
continue continue
try: try:
run(h5f, data_params, data_train_tiles, data_valid_tiles, label_params, label_train_tiles, label_valid_tiles, total, kept = run(h5f, data_params, data_train_tiles, data_valid_tiles,
num_keep_x_tiles=num_keep_x_tiles, tile_width=64, kernel_size=5, day_night=day_night) label_params, label_train_tiles, label_valid_tiles,
num_keep_x_tiles=num_keep_x_tiles, tile_width=64, kernel_size=5, day_night=day_night)
except Exception as e: except Exception as e:
print(e) print(e)
h5f.close() h5f.close()
continue continue
print(data_f)
f_cnt += 1
print(data_f, int(100 * (kept/total)))
f_cnt += 1
h5f.close() h5f.close()
if len(data_train_tiles) == 0: if len(data_train_tiles) == 0:
...@@ -180,6 +181,8 @@ def run(h5f, param_s, train_tiles, valid_tiles, lbl_param_s, lbl_train_tiles, lb ...@@ -180,6 +181,8 @@ def run(h5f, param_s, train_tiles, valid_tiles, lbl_param_s, lbl_train_tiles, lb
num_y_valid = int(num_keep_y_tiles * 0.1) + 1 num_y_valid = int(num_keep_y_tiles * 0.1) + 1
num_y_train = num_keep_y_tiles - num_y_valid - 1 num_y_train = num_keep_y_tiles - num_y_valid - 1
cnt_total = 0
cnt_kept = 0
for j in range(num_y_train): for j in range(num_y_train):
j_a = j_start + j * j_skip j_a = j_start + j * j_skip
j_b = j_a + tile_width j_b = j_a + tile_width
...@@ -188,17 +191,25 @@ def run(h5f, param_s, train_tiles, valid_tiles, lbl_param_s, lbl_train_tiles, lb ...@@ -188,17 +191,25 @@ def run(h5f, param_s, train_tiles, valid_tiles, lbl_param_s, lbl_train_tiles, lb
i_a = i_start + i * i_skip i_a = i_start + i * i_skip
i_b = i_a + tile_width i_b = i_a + tile_width
cnt_total += 1
if day_night == 'DAY' and not is_day(solzen[j_a:j_b, i_a:i_b]): if day_night == 'DAY' and not is_day(solzen[j_a:j_b, i_a:i_b]):
continue continue
elif day_night == 'NIGHT' and is_day(solzen[j_a:j_b, i_a:i_b]): elif day_night == 'NIGHT' and is_day(solzen[j_a:j_b, i_a:i_b]):
continue continue
nda = data[:, j_a:j_b, i_a:i_b] nda = data[:, j_a:j_b, i_a:i_b]
nda = keep_tile(group_name_m+target_param, param_s, nda)
if nda is None: # if none, no need to check the next one
continue
nda_lbl = label[:, j_a*2:j_b*2, i_a*2:i_b*2] nda_lbl = label[:, j_a*2:j_b*2, i_a*2:i_b*2]
nda = keep_tile(param_s, nda) nda_lbl = keep_tile(group_name_i+target_param, lbl_param_s, nda_lbl)
if nda is not None:
if nda_lbl is not None:
train_tiles.append(nda) train_tiles.append(nda)
lbl_train_tiles.append(nda_lbl) lbl_train_tiles.append(nda_lbl)
cnt_kept += 1
j_start = num_y_train * tile_width + 2*tile_width j_start = num_y_train * tile_width + 2*tile_width
for j in range(num_y_valid): for j in range(num_y_valid):
...@@ -209,17 +220,27 @@ def run(h5f, param_s, train_tiles, valid_tiles, lbl_param_s, lbl_train_tiles, lb ...@@ -209,17 +220,27 @@ def run(h5f, param_s, train_tiles, valid_tiles, lbl_param_s, lbl_train_tiles, lb
i_a = i_start + i * i_skip i_a = i_start + i * i_skip
i_b = i_a + tile_width i_b = i_a + tile_width
cnt_total += 1
if day_night == 'DAY' and not is_day(solzen[j_a:j_b, i_a:i_b]): if day_night == 'DAY' and not is_day(solzen[j_a:j_b, i_a:i_b]):
continue continue
elif day_night == 'NIGHT' and is_day(solzen[j_a:j_b, i_a:i_b]): elif day_night == 'NIGHT' and is_day(solzen[j_a:j_b, i_a:i_b]):
continue continue
nda = data[:, j_a:j_b, i_a:i_b] nda = data[:, j_a:j_b, i_a:i_b]
nda = keep_tile(group_name_m+target_param, param_s, nda)
if nda is None:
continue
nda_lbl = label[:, j_a * 2:j_b * 2, i_a * 2:i_b * 2] nda_lbl = label[:, j_a * 2:j_b * 2, i_a * 2:i_b * 2]
nda = keep_tile(param_s, nda) nda_lbl = keep_tile(group_name_i+target_param, lbl_param_s, nda_lbl)
if nda is not None:
if nda_lbl is not None:
valid_tiles.append(nda) valid_tiles.append(nda)
lbl_valid_tiles.append(nda_lbl) lbl_valid_tiles.append(nda_lbl)
cnt_kept += 1
return cnt_total, cnt_kept
def scan(directory): def scan(directory):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment