:py:mod:`tape.analysis.light_curve`
===================================

.. py:module:: tape.analysis.light_curve


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

Classes
~~~~~~~

.. autoapisummary::

   tape.analysis.light_curve.LightCurve




.. py:class:: LightCurve(times: numpy.ndarray, fluxes: numpy.ndarray, errors: numpy.ndarray, minimum_observations: int = 0)


   This base class is meant to support various analysis routines and be
   extended as needed. (Hence it's location in the `analysis` package.)

   The base class ensures that the data for a single lightcurve is well formed.
   Namely that the input data is all of the same length, with NaN's removed and
   that there are enough observations to perform a given analysis.

   .. py:method:: _process_input_data()

      Cleaning and validation occurs here, ideally by calling
      sub-methods for specific checks and cleaning tasks.


   .. py:method:: _filter_nans()

      Mask out any NaN values from time, flux and error arrays


   .. py:method:: _check_input_data_size_is_equal()

      Make sure that the three input np.arrays have the same size


   .. py:method:: _check_input_data_length_is_sufficient()

      Make sure that we have enough data after cleaning and filtering
      to be able to perform Structure Function calculations.



