[docs]classLightcurveBinner(Binner):"""A special class of binning used for lightcurves. This is essentially the same as :class:`~taurex.binning.nativebinner.NativeBinner` but for lightcurve forward models. """
[docs]defbindown(self,wngrid:npt.NDArray[np.float64],spectrum:npt.NDArray[np.float64],grid_width:t.Optional[npt.NDArray[np.float64]]=None,error:t.Optional[npt.NDArray[np.float64]]=None,)->BinDownType:"""Does nothing, only returns function arguments"""returnwngrid,spectrum,error,grid_width
[docs]defgenerate_spectrum_output(self,model_output:ModelOutputType,output_size:t.Optional[OutputSize]=OutputSize.heavy,):"""Generate spectrum output for lightcurves. Accepts only a lightcurve forward model. Stores the lightcurve as well as the spectrum. Parameters ---------- model_output: obj:`tuple` Result from running a TauREx3 lightcurve forward model output_size: :class:`~taurex.taurexdefs.OutputSize` Size of the output. Returns ------- :obj:`dict`: Dictionary of spectra containing both lightcurves and spectra. """output={}wngrid,lightcurve,tau,extra=model_outputnative_grid,native,binned,extra=extraoutput["native_wngrid"]=native_gridoutput["native_wlgrid"]=10_000/native_gridoutput["binned_wngrid"]=wngridoutput["binned_wlgrid"]=10_000/wngridoutput["lightcurve"]=lightcurveoutput["native_spectrum"]=nativeoutput["binned_spectrum"]=binnedifoutput_size>OutputSize.lighter:output["binned_tau"]=self.bindown(wngrid,tau)[1]ifoutput_size>OutputSize.light:output["native_tau"]=taureturnoutput