def __init__(self): from igrins_config import IGRINSConfig config = IGRINSConfig("../recipe.config") def get_refdata(band): from master_calib import load_sky_ref_data sky_refdata = load_sky_ref_data(config, band) return sky_refdata sky_ref_data = get_refdata("H") self.ohline_indices = sky_ref_data["ohline_indices"] self.ohlines_db = sky_ref_data["ohlines_db"] import json fn = "../calib/primary/20140525/SDCH_20140525_0003.wvlsol_v0.json" wvl_solution = json.load(open(fn)) self.wvl_map = dict( zip(wvl_solution["orders"], wvl_solution["wvl_sol"])) fn = "../calib/primary/20140525/SDCH_20140525_0029.oned_spec.json" s_list = json.load(open(fn)) self.s_map = dict(zip(s_list["orders"], s_list["specs"]))
def __init__(self, config_name, utdate, recipe_name="", ensure_dir=False): from igrins_config import IGRINSConfig if isinstance(config_name, str): self.config = IGRINSConfig(config_name) else: self.config = config_name self.utdate = utdate self.refdate = self.config.get("MASTER_CAL", "REFDATE") self._igr_path = IGRINSPath(self.config, utdate, ensure_dir=ensure_dir) self._igr_storage = PipelineStorage(self._igr_path) self.recipe_name = recipe_name
def process(self, utdate, bands="HK", starting_obsids=None, groups=None, config_file="recipe.config", **kwargs): from igrins_config import IGRINSConfig self.config = IGRINSConfig(config_file) self.refdate = self.config.get("MASTER_CAL", "REFDATE") self._validate_bands(bands) recipes = self.get_recipes(utdate) selected = get_selected(recipes, self.RECIPE_NAME, starting_obsids, groups) self.run_selected_bands_with_recipe(utdate, selected, bands, **kwargs)