Source code for exorad.models.foregrounds.skyForegrounds

from scipy.interpolate import interp1d

from exorad.log import Logger
from exorad.models.signal import Radiance


[docs] class SkyFilter(Radiance): """ Handler for sky filter Attributes ---------- transmission: array contains the transmission information sampled at the radiance wl grid """ transmission = None
[docs] class SkyForeground(Logger): def __init__(self, wl, description): super().__init__() self.wl = wl self.name = description["value"] self.description = description self.skyFilter = self._get_radiance() def _get_radiance(self): skyFilter_data = self.description["data"] em_func = interp1d( skyFilter_data["Wavelength"].to(self.wl.unit), skyFilter_data["Radiance"], assume_sorted=False, fill_value=0.0, bounds_error=False, ) skyFilter = SkyFilter( self.wl, em_func(self.wl) * skyFilter_data["Radiance"].unit ) self.debug("radiance : {}".format(skyFilter.data)) tr_func = interp1d( skyFilter_data["Wavelength"].to(self.wl.unit), skyFilter_data["Transmission"], assume_sorted=False, fill_value=1.0, bounds_error=False, ) skyFilter.transmission = tr_func(self.wl) self.debug("transmission : {}".format(skyFilter.transmission)) return skyFilter