def create_map(start, end, ar_obs, ar_instr, sp_obs, sp_instr): # setting active regions data = DataAccess(start, end, 'AR', ar_obs, ar_instr) chain_encoded = prep.decode_and_split(data.get_chain_code()) ar_carr_synthesis, ar_pix_synthesis = ar.get_shapes(chain_encoded, data.get_pixel_start_x(), data.get_pixel_start_y(), data.get_filename(), data.get_noaa_number(), data.get_ar_id(), data.get_date()) # setting sunspots sp_data = DataAccess(start, end, 'SP', sp_obs, sp_instr) sp_chain_encoded = prep.decode_and_split(sp_data.get_chain_code()) sp_carr, sp_pix = sp.get_shapes(sp_chain_encoded, sp_data.get_pixel_start_x(), sp_data.get_pixel_start_y(), sp_data.get_filename(), sp_data.get_sp_id(), sp_data.get_date()) sp_synthesis = sp.make_sp_synthesis(ar_contour=ar_carr_synthesis, sp_carr=sp_carr) prep.display_object(ar_carr_synthesis, sp_synthesis)
def test_active_regions(ar_id, grav_long, grav_lat): # Active regions position testing if __name__ == '__main__': ar_data = DataAccess('2003-09-26T00:00:00', '2003-09-26T01:00:00', 'AR', 'SOHO', 'MDI') ar_chain_encoded = prep.decode_and_split(ar_data.get_chain_code()) ar_id = ar_data.get_ar_id() ar_centers_lon = ar_data.get_grav_center_long() ar_centers_lat = ar_data.get_grav_center_lat() ar = ar_carr_synthesis[3] prep.display_object([ar], "") ar2 = np.array(ar) x = ar2[0] y = ar2[1] length = len(ar2[0]) + len(ar2[1]) centroid = (sum(x) / len(ar2[0]), sum(y) / len(ar2[1])) print(centroid)
else: return super(Encoder, self).default(obj) if __name__ == '__main__': # DataAccess + Database testing from DataAccess import DataAccess ar = DataAccess('2003-10-06T08:54:09', '2003-10-09T10:54:09', 'AR', 'SOHO', 'MDI') sp = DataAccess('2003-10-06T08:54:09', '2003-10-09T10:54:09', 'SP', 'SOHO', 'MDI') fil = DataAccess('2003-10-06T08:54:09', '2003-10-09T10:54:09', 'FIL', 'MEUDON', 'SPECTROHELIOGRAPH') ar_id = ar.get_ar_id()[0] sp_id = sp.get_sp_id()[0] fil_id = fil.get_fil_id()[0] print("load_ar_from_database() TEST", load_ar_from_database(ar_id)) print("load_sp_from_database() TEST", load_sp_from_database(sp_id)) print("load_fil_from_database() TEST", load_fl_from_database(fil_id)) print("----------------------------------------------------------------") add_ar_to_database(1, 2, 4, 3, [22], [33]) print("add_ar_to_database() TEST", load_ar_from_database(1)) add_sunspot_to_database(1, 2, [22], [33]) print("add_sp_to_database() TEST", load_sp_from_database(1)) add_fl_to_database(1, 2, 3, [22], [33]) print("add_fil_to_database() TEST", load_fl_from_database(1))
# if the longitude difference is smaller than width of ar # and latitude is smaller than height of ar then is success # otherwise fail if lon_diff < width and lat_diff < height: print("SUCCESS", lon_diff) success += 1 else: print("FAIL", lon_diff) print("long_center:", long) print("calculated:", centroid[0]) fail += 1 # prep.display_object(carr_coords, []) else: ignored += 1 print("successes = ", success) print("fail = ", fail) print("ignored = ", ignored) # Active regions position testing if __name__ == '__main__': ar_data = DataAccess('2003-09-28T00:00:00', '2003-10-23T01:00:00', 'AR', 'SOHO', 'MDI') ar_chain_encoded = prep.decode_and_split(ar_data.get_chain_code()) ar_id = ar_data.get_ar_id() ar_centers_lon = ar_data.get_grav_center_long() ar_centers_lat = ar_data.get_grav_center_lat() test_active_regions(ar_id, ar_centers_lon, ar_centers_lat)
return sunspots if __name__ == '__main__': # Active region + Sunspot testing from DataAccess import DataAccess import ActiveRegion as ar # setting active regions data = DataAccess('2003-10-21T00:00:00', '2003-10-24T00:00:00', 'AR', 'SOHO', 'MDI') chain_encoded = prep.decode_and_split(data.get_chain_code()) ar_carr_synthesis, ar_pix_synthesis = ar.get_shapes( chain_encoded, data.get_pixel_start_x(), data.get_pixel_start_y(), data.get_filename(), data.get_noaa_number(), data.get_ar_id(), data.get_date()) # setting sunspots sp_data = DataAccess('2003-10-21T00:00:00', '2003-10-24T00:00:00', 'SP', 'SOHO', 'MDI') sp_chain_encoded = prep.decode_and_split(sp_data.get_chain_code()) sp_carr, sp_pix = get_shapes(sp_chain_encoded, sp_data.get_pixel_start_x(), sp_data.get_pixel_start_y(), sp_data.get_filename(), sp_data.get_sp_id(), sp_data.get_date()) sp_synthesis = make_sp_synthesis(ar_contour=ar_carr_synthesis, sp_carr=sp_carr)
all_contours_carr.append(synthesis) all_contours_pix.append(pixel_coord) return all_contours_carr, all_contours_pix # Calculates average instensity of active regions # ar_intensities - array with ar intensities def calculate_average_ar_intensity(ar_intensities): sum = 0 # go through array of pixel values and add them for x in ar_intensities: sum += x average = sum / len(ar_intensities) # calculate average return average if __name__ == '__main__': # ActiveRegion + ObjectPreparation test from DataAccess import DataAccess ar_data = DataAccess('2003-10-21T00:00:00', '2003-10-24T00:00:00', 'AR', 'SOHO', 'MDI') ar_chain_encoded = prep.decode_and_split(ar_data.get_chain_code()) ar_carr_synthesis, ar_pix_synthesis = get_shapes(ar_chain_encoded, ar_data.get_pixel_start_x(), ar_data.get_pixel_start_y(), ar_data.get_filename(), ar_data.get_noaa_number(), ar_data.get_ar_id(), ar_data.get_date()) prep.display_object(ar_carr_synthesis, [])