Source code for taurex.model.directimage

"""Direct imaging model."""

import typing as t

import numpy as np
import numpy.typing as npt

from .emission import EmissionModel


[docs] def compute_direct_image_final_flux( f_total: npt.NDArray[np.float64], planet_radius: float, star_distance: float, ) -> npt.NDArray[np.float64]: """Compute the final flux at the observer.""" return f_total * (planet_radius**2) / (star_distance**2)
[docs] class DirectImageModel(EmissionModel): """A forward model for direct imaging of exo-planets."""
[docs] def compute_final_flux( self, f_total: npt.NDArray[np.float64] ) -> npt.NDArray[np.float64]: """Compute the final flux. This is the emission flux that is observed at the telescope directly from an exo-planet. """ return compute_direct_image_final_flux( f_total, self._planet.fullRadius, self._star.distance * 3.08567758e16 )
[docs] @classmethod def input_keywords(cls) -> t.Tuple[str, ...]: """Input keywords for this class.""" return ( "direct", "directimage", )