Observations (lazuli_exo.observe)
Assemble a simulated Lazuli IFS transmission-spectroscopy observation.
- class lazuli_exo.observe.SimulatedSpectrum(planet: str, scenario: str, n_transits: int, R: int, wavelength: numpy.ndarray, depth: numpy.ndarray, depth_err: numpy.ndarray, model_wavelength: numpy.ndarray, model_depth: numpy.ndarray, flat_depth: float, meta: dict = <factory>)[source]
Bases:
object- Parameters:
- lazuli_exo.observe.positive_int(name, value)[source]
Validate a count or resolving power: a positive integer (an integral float such as 3.0 is accepted); bool is rejected.
- lazuli_exo.observe.observe(planet, scenario='clear', n_transits=1, R=100, tables_dir=None, f_spot=0.0, T_spot_K=None, f_fac=0.0, T_fac_K=None)[source]
Simulate observing showcase planet under scenario for n_transits.
The spectrum is the parametric model evaluated at the frozen registry values (presets.showcase), so observe() and simulate() share one model and one radius convention: the archive R_p is the band-median transit radius and H uses the true T_eq. The per-bin 1-sigma uncertainties come from the precomputed slicersim noise table, scaled by 1/sqrt(n_transits). f_spot, T_spot_K, f_fac, T_fac_K add stellar contamination (star.contamination, registry T_eff/log g/[Fe/H]); default off. flat_depth stays the geometric (R_p/R_s)^2.