Module pipelines.rj_cor.meteorologia.satelite.cpt_convert
cpt_convert explanation https://geonetcast.wordpress.com/2017/06/02/geonetclass-manipulating-goes-16-data-with-python-part-v/
Functions
def create_color_arrays(lines)
-
Expand source code
def create_color_arrays(lines): """ Create array for each color """ x_array = np.array([]) r_array = np.array([]) g_array = np.array([]) b_array = np.array([]) color_model = "RGB" for line in lines: line_split = line.split() if line[0] == "#": if line_split[-1] == "HSV": color_model = "HSV" continue if line_split[0] == "B" or line_split[0] == "F" or line_split[0] == "N": pass else: x_array = np.append(x_array, float(line_split[0])) r_array = np.append(r_array, float(line_split[1])) g_array = np.append(g_array, float(line_split[2])) b_array = np.append(b_array, float(line_split[3])) xtemp = float(line_split[4]) rtemp = float(line_split[5]) gtemp = float(line_split[6]) btemp = float(line_split[7]) x_array = np.append(x_array, xtemp) r_array = np.append(r_array, rtemp) g_array = np.append(g_array, gtemp) b_array = np.append(b_array, btemp) if color_model == "HSV": for i in range(r_array.shape[0]): r_array[i], g_array[i], b_array[i] = colorsys.hsv_to_rgb( r_array[i] / 360.0, g_array[i], b_array[i] ) if color_model == "RGB": r_array = r_array / 255.0 g_array = g_array / 255.0 b_array = b_array / 255.0 return x_array, r_array, g_array, b_array
Create array for each color
def load_cpt(path)
-
Expand source code
def load_cpt(path): """ Load cpt """ try: with open(path, mode="r", encoding="utf-8") as file: # coloquei o encoding porque o pylint obriga, pode ser motivo de erros lines = file.readlines() except FileNotFoundError: print("File ", path, "not found") return None x_array, r_array, g_array, b_array = create_color_arrays(lines) x_norm = (x_array - x_array[0]) / (x_array[-1] - x_array[0]) red = [] blue = [] green = [] for i in range(len(x_array)): red.append([x_norm[i], r_array[i], r_array[i]]) green.append([x_norm[i], g_array[i], g_array[i]]) blue.append([x_norm[i], b_array[i], b_array[i]]) color_dict = {"red": red, "green": green, "blue": blue} return color_dict
Load cpt