コード例 #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)
コード例 #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)
コード例 #3
0
    ax.set_yticks(np.arange(latitude_start, latitude_end, break_between))

    ax.grid(which='both')

    ax.add_collection(p)
    # push grid lines behind the elements
    ax.set_axisbelow(True)
    plt.show()


if __name__ == '__main__':
    from DataAccess import DataAccess

    data = DataAccess('2010-01-01T00:03:02', '2010-01-01T04:03:02')

    chain_encoded = encode_and_split(data.get_chain_code())

    cords2 = get_shapes(chain_encoded, data.get_pixel_start_x(),
                        data.get_pixel_start_y(), "2.fits")

    display_object(cords2)

# # coordinates - numpy array with coordinates of the contour of the object
# # Function convets from pixel coordinates to carrington
# # Return - numpy array with carrington coordinates
# def convert_to_carrington(coordinates, filename):
#     np_carrington_array = []
#
#     for c in coordinates:
#         np_contour = np.array(c)  # Convert list to numpy array
#         rows = np_contour.shape[0]  # get number of rows
コード例 #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)
コード例 #5
0
    for chains in chain_codes:
        if type(chains) is bytes:
            chains = chains.decode("utf-8")

        splitted_chain = list(map(int, str(chains)))
        codes.append(splitted_chain)

    return codes


if __name__ == '__main__':
    # http://voparis-helio.obspm.fr/hfc-gui/showmap.php?date=2010-01-01%2000:03:02&feat=ar&style=pixel
    # http://voparis-helio.obspm.fr/helio-hfc/HelioQueryService?FROM=VIEW_AR_HQI&STARTTIME=2010-01-01T00:00:00&ENDTIME=2010-01-01T01:00:00&WHERE=OBSERVAT,SOHO;INSTRUME,MDI

    from DataAccess import DataAccess

    data = DataAccess('2010-01-01T00:00:00', '2010-01-01T02:59:00', 'AR')
    chain_encoded = encode_and_split([data.get_chain_code()[0]])

    sp_data = DataAccess('2010-01-01T00:00:00', '2010-01-01T02:59:00', 'SP')
    sp_chain = encode_and_split([sp_data.get_chain_code()[0]])

    ar = chain_code(chain_encoded[0],
                    data.get_pixel_start_x()[0],
                    data.get_pixel_start_y()[0])
    sp = chain_code(sp_chain[0],
                    sp_data.get_pixel_start_x()[0],
                    sp_data.get_pixel_start_y()[0])

    draw(ar, sp)
コード例 #6
0
            if proportion == 1.0:
                sunspots.append(sp)
                break

    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())