Source code for rubin_sim.maf.stackers.sdss_stackers

__all__ = ("SdssRADecStacker",)


import numpy as np

from .base_stacker import BaseStacker
from .coord_stackers import wrap_ra


[docs] class SdssRADecStacker(BaseStacker): """convert the p1,p2,p3... columns to radians and wrap them""" cols_added = ["RA1", "Dec1", "RA2", "Dec2", "RA3", "Dec3", "RA4", "Dec4"] def __init__(self, pcols=["p1", "p2", "p3", "p4", "p5", "p6", "p7", "p8"]): """The p1,p2 columns represent the corners of chips. Could generalize this a bit.""" self.units = ["rad"] * 8 self.cols_req = pcols def _run(self, sim_data, cols_present=False): if cols_present: # Assume this is unusual enough to run that you really mean it. pass for pcol, newcol in zip(self.cols_req, self.cols_added): if newcol[0:2] == "RA": sim_data[newcol] = wrap_ra(np.radians(sim_data[pcol])) else: sim_data[newcol] = np.radians(sim_data[pcol]) return sim_data