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