|
int | W410 = 0 |
|
int | W445 = 1 |
|
int | W490 = 2 |
|
int | W550 = 3 |
|
int | W670 = 4 |
|
int | W865 = 5 |
|
int | W1240 = 6 |
|
int | W1610 = 7 |
|
int | W2250 = 8 |
|
int | NWL = 9 |
|
list | wlstr = ["410","445","490","550","670","865","1240","1610","2250"] |
|
float | Kb = 0.114 |
|
float | Kr = 0.299 |
|
| RGB2YCbCr = np.array([[0.257, 0.504, 0.098],[-0.148, -0.291, 0.439],[0.439, -0.368, -0.071]]) |
|
| YCbCr2RGB = np.array([[1.0, 0.0, 1.596],[1.0, -0.392, -0.813],[1.0, 2.017, 0.0]]) |
|
| RGB2YUV = np.array([[0.299, 0.587, 0.114],[-0.14713, -0.28886, 0.436],[0.615, -0.51499, -0.10001]]) |
|
| YUV2RGB = np.array([[1.0, 0.0, 1.13983],[1.0, -0.39465, -0.58060],[1.0, 2.03211, 0.0]]) |
|
| args = sys.argv |
|
| dtdb_dirpath = args[1] |
|
| dataset = args[2] |
|
string | colors = "123" |
|
int | bc = np.int(args[3][0])-1 |
|
int | gc = np.int(args[3][1])-1 |
|
int | rc = np.int(args[3][2])-1 |
|
string | logfile = "" |
|
string | command = "date > " + logfile |
|
| result = os.system(command) |
|
| dtdb_dircontents = os.listdir(dtdb_dirpath) |
|
string | filepath = dtdb_dirpath + "/" + x |
|
string | image_path = dtdb_dirpath + "/IMAGES" |
|
string | outfilename = x + "_" + dname + ".png" |
|
string | path = image_path + "_" + dname |
|
string | outpath = path + "/" + outfilename |
|
string | title_str = ' Angstrom Exponent' |
|
string | ds_str = 'ae' |
|
float | maxa = 2.0 |
|
float | mina = 0.0 |
|
string | image_path1 = image_path + "/histograms" |
|
string | outfilename1 = x + "_hist_410.png" |
|
string | outpath1 = image_path1 + "/" + outfilename1 |
|
string | image_path2 = image_path + "/maps" |
|
string | outfilename2 = x + "_map.png" |
|
string | outpath2 = image_path2 + "/" + outfilename2 |
|
list | ct = [3200,3200] |
|
list | st = [0,0] |
|
int | refwl = W865 |
|
int | refbs = W410 |
|
int | nbins = 100 |
|
int | hmin = 0 |
|
int | hmax = 10 |
|
float | max0 = 0.0 |
|
float | min0 = -2.0 |
|
float | max1 = 2.5 |
|
float | min1 = -0.5 |
|
| hist = np.zeros((NWL, nbins, nbins)) |
|
| cmap = cm.get_cmap('turbo') |
|
| fig1 = plt.figure(figsize=(16,10)) |
|
| fig2 = plt.figure(figsize=(16,8)) |
|
def | irgb = plot_rgb() |
|
| ax2 = fig2.add_subplot(2,4,1) |
|
| rfl0 = xr.load_dataset(filepath,group='/observations')['rhot_'+wlstr[refwl]].values[st[0]:st[0]+ct[0],st[1]:st[1]+ct[1]] |
|
| lrfl0 = np.log10(np.clip(rfl0, a_min=0.0001, a_max=1.0)) |
|
| rflbs = xr.load_dataset(filepath,group='/observations')['rhot_'+wlstr[refbs]].values[st[0]:st[0]+ct[0],st[1]:st[1]+ct[1]] |
|
| lrflbs = np.log10(np.clip(rflbs, a_min=0.0001, a_max=1.0)) |
|
| ml = mpl.cm.ScalarMappable(norm=None, cmap=cmap) |
|
| aec = ml.to_rgba(lrfl0, alpha=None) |
|
int | wl1 = 1 |
|
int | wl2 = 1 |
|
bool | bwl2 = False |
|
| rfl1 = xr.load_dataset(filepath,group='/observations')['rhot_'+wlstr[wl]].values[st[0]:st[0]+ct[0],st[1]:st[1]+ct[1]] |
|
| lrfl1 = lrflbs - np.log10(np.clip(rfl1, a_min=0.0001, a_max=1.0)) |
|
| edges |
|
| range |
|
| bins |
|
| density |
|
| ax1 = fig1.add_subplot(2,4,wl1) |
|
| xpos0 |
|
| ypos0 |
|
| cp1 = ax1.contourf(xpos0/2, ypos0/2, np.clip(hist[wl].T, a_min=hmin, a_max=hmax), levels=100, cmap=cmap) |
|
bool | bticks = True |
|
| labelleft |
|
| left |
|
| b |
|
| True |
|
| which |
|
| color |
|
| linestyle |
|
| alpha |
|
| facecolor |
|
| loc = plt.LinearLocator(11) |
|
| tvals = loc.tick_values(hmin, hmax) |
|
| bottom |
|
| top |
|
| right |
|
| wspace |
|
| hspace |
|
| cb_ax = fig1.add_axes([0.93, 0.1, 0.02, 0.8]) |
|
| cax |
|
| ticks |
|
| bluec = xr.load_dataset(filepath,group='/observations',mask_and_scale=True)['rhot_490'].values |
|
| greenc = xr.load_dataset(filepath,group='/observations',mask_and_scale=True)['rhot_550'].values |
|
| redc = xr.load_dataset(filepath,group='/observations',mask_and_scale=True)['rhot_670'].values |
|
| ocean = xr.load_dataset(filepath,group='/geophysical_data')['AOT_ocean'] |
|
| land = xr.load_dataset(filepath,group='/geophysical_data')['AOT_land'] |
|
| cldmsk = xr.load_dataset(filepath,group='/meteorology')['cloud_mask'] |
|
| cldtst = xr.load_dataset(filepath,group='/quality')['cloud_test'] |
|
| nomask = np.zeros_like(cldmsk, dtype=np.int16) |
|
| ro = np.clip(np.nan_to_num(redc),0,10.0) |
|
| go = np.clip(np.nan_to_num(greenc),0,10.0) |
|
| bo = np.clip(np.nan_to_num(bluec),0,10.0) |
|
| y = y/np.max(y) |
|
| u |
|
| v |
|
| yh |
|
| Y_cdf |
|
| mino_all = min(np.min(ro), np.min(go), np.min(bo)) |
|
float | maxo_all = max(np.max(ro), np.max(go), np.max(bo)) + 0.001 |
|
float | gamma = 1.0 |
|
float | ga = np.ones_like(ro)*gamma |
|
| rg = np.power(ro, ga) |
|
| gg = np.power(go, ga) |
|
| bg = np.power(bo, ga) |
|
| yg = np.power(yh, ga) |
|
| ys = np.divide(yg,y) |
|
int | scale = 255 |
|
| im_red = im.fromarray(np.uint8(np.clip(rg,0,1.0)*scale)) |
|
| im_green = im.fromarray(np.uint8(np.clip(gg,0,1.0)*scale)) |
|
| im_blue = im.fromarray(np.uint8(np.clip(bg,0,1.0)*scale)) |
|
| im_rgb = im.merge("RGB", (im_red, im_green, im_blue)) |
|
| set = dataset.partition("/") |
|