Esempio n. 1
0
def load_data_from_fits(files, keys):
    """Load data from fits files and return a dataFrame"""
    times = []
    filenames = []
    calcsunx = []
    calcsuny = []
    i = 0
    for file in files:
        print("Opening file " + file + " (" + str(i) + "/" + str(len(files)) +
              ")")
        filenames.append(file)
        times.append(get_image_time(file))
        p = pyas(file)
        calcsun = p.find_sun_center()
        calcsunx.append(calcsun[0])
        calcsuny.append(calcsun[1])
        if i == 0:
            values = np.array([i] + [p.header.get(key) for key in keys])
        else:
            values = np.vstack(
                [values, [i] + [p.header.get(key) for key in keys]])
        i += 1
    lc = pandas.DataFrame(values, index=times, columns=['index'] + keys)
    lc['filename'] = pandas.Series(files)
    lc['filename'] = files
    lc['FSUN-CENTER1'] = pandas.Series(calcsunx)
    lc['FSUN-CENTER2'] = pandas.Series(calcsuny)
    return lc
Esempio n. 2
0
def load_data_from_fits(files, keys):
    """Load data from fits files and return a dataFrame"""
    times = []
    filenames = []
    calcsunx = []
    calcsuny = []
    i = 0
    for file in files:
        print("Opening file " + file + " (" + str(i) + "/" + str(len(files)) + ")")
        filenames.append(file)
        times.append(get_image_time(file))
        p = pyas(file)
        calcsun = p.find_sun_center()
        calcsunx.append(calcsun[0])
        calcsuny.append(calcsun[1])
        if i == 0:
            values = np.array([i] + [p.header.get(key) for key in keys])
        else:
            values = np.vstack([values, [i] + [p.header.get(key) for key in keys]])
        i += 1
    lc = pandas.DataFrame(values, index = times, columns = ['index'] + keys)
    lc['filename'] = pandas.Series(files)
    lc['filename'] = files
    lc['FSUN-CENTER1'] = pandas.Series(calcsunx)
    lc['FSUN-CENTER2'] = pandas.Series(calcsuny)
    return lc
Esempio n. 3
0
def get_sun_center_lc(files):
    i = 0
    times = []
    for file in files:
        print("Opening file " + file + " (" + str(i) + "/" + str(len(files)) + ")")
        times.append(get_image_time(file))
        if i == 0:
            found_sun_center = check_sun_center(file)
        else:
            found_sun_center = np.vstack([check_sun_center(file), found_sun_center])
        i += 1
    lc = pandas.DataFrame(found_sun_center * pixel_size_arcsec, index = times, columns = ["diffX", "diffY"])
    return lc
Esempio n. 4
0
def get_lc(files, key, limit = False):
    times = []
    values = []
    i = 0
    for file in files:
        print("Opening file " + file + " (" + str(i) + "/" + str(len(files)) + ")")
        header = pyfits.getheader(file)
        date = datetime.datetime.utcfromtimestamp(header.get('RT_SEC') + header.get('RT_NSEC')/1e9)
        times.append(date)
        values.append(header.get(key))
        i += 1
        if type(limit) == type(1):
            if i >= limit: break
    lc = pandas.Series(values, times)
    return lc
Esempio n. 5
0
def get_sun_center_lc(files):
    i = 0
    times = []
    for file in files:
        print("Opening file " + file + " (" + str(i) + "/" + str(len(files)) +
              ")")
        times.append(get_image_time(file))
        if i == 0:
            found_sun_center = check_sun_center(file)
        else:
            found_sun_center = np.vstack(
                [check_sun_center(file), found_sun_center])
        i += 1
    lc = pandas.DataFrame(found_sun_center * pixel_size_arcsec,
                          index=times,
                          columns=["diffX", "diffY"])
    return lc
Esempio n. 6
0
def get_lc(files, key, limit=False):
    times = []
    values = []
    i = 0
    for file in files:
        print("Opening file " + file + " (" + str(i) + "/" + str(len(files)) +
              ")")
        header = pyfits.getheader(file)
        date = datetime.datetime.utcfromtimestamp(
            header.get('RT_SEC') + header.get('RT_NSEC') / 1e9)
        times.append(date)
        values.append(header.get(key))
        i += 1
        if type(limit) == type(1):
            if i >= limit: break
    lc = pandas.Series(values, times)
    return lc
Esempio n. 7
0
def get_sun_lightcurve(files):
    """Load data from fits files and lightcurve"""
    times = []
    image_max = []
    sun_center_flux = []
    i = 0
    for file in files:
        print("Opening file " + file + " (" + str(i) + "/" + str(len(files)) + ")")
        p = pyas(file)
        image_max.append(p.data.max())
        times.append(p.date)
        sun_center_flux.append(p.data[np.floor(p.sun_center[1]),np.floor(p.sun_center[0])])
        i += 0
    lc1 = pandas.Series(image_max, times)
    lc2 = pandas.Series(sun_center_flux, times)
    lc = pandas.DataFrame({"image max":lc1, "sun center flux":lc2})
    return lc
Esempio n. 8
0
def get_sun_lightcurve(files):
    """Load data from fits files and lightcurve"""
    times = []
    image_max = []
    sun_center_flux = []
    i = 0
    for file in files:
        print("Opening file " + file + " (" + str(i) + "/" + str(len(files)) +
              ")")
        p = pyas(file)
        image_max.append(p.data.max())
        times.append(p.date)
        sun_center_flux.append(p.data[np.floor(p.sun_center[1]),
                                      np.floor(p.sun_center[0])])
        i += 0
    lc1 = pandas.Series(image_max, times)
    lc2 = pandas.Series(sun_center_flux, times)
    lc = pandas.DataFrame({"image max": lc1, "sun center flux": lc2})
    return lc