Example #1
0
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)
Example #2
0
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)
Example #3
0
        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))
Example #4
0
            # 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)
Example #5
0
    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)
Example #6
0
        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, [])