spotter.light_curves
====================

.. py:module:: spotter.light_curves

.. autoapi-nested-parse::

   Light curve and design matrix utilities for rotating and transited stars described by HEALPix maps.

   This module provides functions to compute design matrices, light curves, and
   transit light curves for stars with arbitrary surface maps and limb darkening.



Functions
---------

.. autoapisummary::

   spotter.light_curves.design_matrix
   spotter.light_curves.light_curve
   spotter.light_curves.transit_design_matrix
   spotter.light_curves.transit_light_curve


Module Contents
---------------

.. py:function:: design_matrix(star: spotter.star.Star, time: jax.typing.ArrayLike, normalize: bool = True) -> jax.typing.ArrayLike

   Compute the design matrix for a rotating Star.

   :param star: Star object.
   :type star: Star
   :param time: Time array in days.
   :type time: ArrayLike

   :returns: **matrix** -- Design matrix.
   :rtype: ndarray


.. py:function:: light_curve(star: spotter.star.Star, time: jax.typing.ArrayLike, normalize=True) -> jax.typing.ArrayLike

   Compute the light curve of a rotating Star.

   :param star: Star object.
   :type star: Star
   :param time: Time array in days.
   :type time: ArrayLike
   :param normalize: Whether to normalize the light curve (default True).
   :type normalize: bool, optional

   :returns: **lc** -- Light curve array.
   :rtype: ndarray


.. py:function:: transit_design_matrix(star, x, y, z, r, time=None, normalize=True)

   Compute the design matrix for a transited Star.

   :param star: Star object.
   :type star: Star
   :param x: x coordinate of the disk center.
   :type x: float
   :param y: y coordinate of the disk center.
   :type y: float
   :param z: z coordinate of the disk center.
   :type z: float
   :param r: Radius of the disk.
   :type r: float
   :param time: Time in days.
   :type time: float or None, optional

   :returns: **matrix** -- Transit design matrix.
   :rtype: ndarray


.. py:function:: transit_light_curve(star: spotter.star.Star, x: float = 0.0, y: float = 0.0, z: float = 0.0, r: float = 0.0, time: float = 0.0, normalize=True)

   Compute the light curve of a transited Star.

   :param star: Star object.
   :type star: Star
   :param x: x coordinate of the disk center (default 0.0).
   :type x: float, optional
   :param y: y coordinate of the disk center (default 0.0).
   :type y: float, optional
   :param z: z coordinate of the disk center (default 0.0).
   :type z: float, optional
   :param r: Radius of the disk (default 0.0).
   :type r: float, optional
   :param time: Time in days (default 0.0).
   :type time: float, optional
   :param normalize: Whether to normalize the light curve (default True).
   :type normalize: bool, optional

   :returns: **lc** -- Transit light curve array.
   :rtype: ndarray


