tape.analysis.light_curve
=========================

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


Classes
-------

.. autoapisummary::

   tape.analysis.light_curve.LightCurve


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

.. 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:attribute:: _times


   .. py:attribute:: _fluxes


   .. py:attribute:: _errors


   .. py:attribute:: _minimum_observations


   .. 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.



