Skip to content

Commit

Permalink
finally added filter_Data
Browse files Browse the repository at this point in the history
  • Loading branch information
wkerzendorf committed Apr 28, 2018
1 parent 3813aed commit 3acab78
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 0 deletions.
8 changes: 8 additions & 0 deletions wsynphot/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,9 @@ def load_filter(cls, filter_name=None, wavelength_unit=None,
elif 'hst' in filter_name:
wavelength_unit = 'angstrom'

elif 'decam' in filter_name:
wavelength_unit = 'angstrom'

elif 'sdss' in filter_name:
wavelength_unit = 'angstrom'

Expand Down Expand Up @@ -361,6 +364,11 @@ def __repr__(self):
[item.filter_name
for item in self.filter_set]))


@property
def lambda_pivot(self):
return u.Quantity([item.lambda_pivot for item in self])

def calculate_f_lambda(self, spectrum):
return u.Quantity(
[item.calculate_f_lambda(spectrum) for item in self.filter_set])
Expand Down
74 changes: 74 additions & 0 deletions wsynphot/data/decam/convert_filters.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#Reading Gemini GMOS filters

from astropy import units as u, constants as const
from numpy import genfromtxt
import pandas as pd
import os
from glob import glob

def read_decam_filter(fname):
"""
Reading the bessell filter file into a dataframe
Parameters
----------
fname: ~str
path to file to be read
"""

data = pd.DataFrame(genfromtxt(fname, usecols=(0, 1)),
columns=['wavelength', 'transmission_lambda'])

return data


def read_dataset(fname_list, prefix, name_parser=None):
"""
Reading a whole list of filters
Parameters
----------
fname_list: list
list of filenames
prefix: str
prefix for the dictionary keys
Returns
-------
dict
"""

filter_dict = {}

for fname in fname_list:
if name_parser is not None:
filter_name = name_parser(fname)
else:
filter_name = fname

filter_path = os.path.join(prefix, filter_name)

filter_dict[filter_path] = read_decam_filter(fname)

return filter_dict



def read_all_decam():
nameparser = (lambda fname: os.path.basename(fname).replace('DECam.', ''))
return read_dataset(glob('DECam.?'), 'decam',
nameparser)

def save_to_hdf(filter_dict, hdf_file, mode='a'):

fh = pd.HDFStore(hdf_file, mode=mode)

for key in filter_dict:
filter_dict[key].to_hdf(fh, key)

fh.close()
Binary file added wsynphot/data/filter_data.h5
Binary file not shown.

0 comments on commit 3acab78

Please sign in to comment.