Source code for utils.specutils.get_flux_stats

"""
.. module:: get_flux_stats
   :synopsis: Calculates statistics on an arrays of fluxes and corresponding
       flux uncertainties, such as the median values and the 95th percentile
       values.

.. moduleauthor:: Scott W. Fleming <fleming@stsci.edu>
"""

#--------------------
# Built-In Imports
#--------------------
from __future__ import absolute_import
#--------------------
# External Imports
#--------------------
import numpy
#--------------------
# Package Imports
#--------------------
from spec_plots import __version__

#--------------------

[docs] def get_flux_stats(fluxes, fluxerrs): """ Calculates median values of the fluxes and flux uncertainties, and the 95th percentile flux uncertainty. :param fluxes: The fluxes to be plotted. :type fluxes: numpy.ndarray :param fluxerrs: The uncertainties of the fluxes to be plotted. :type fluxerrs: numpy.ndarray :returns: tuple -- The median flux, median flux uncertainty, and the 95th percentile flux uncertainty. """ # Find the median flux value, ignoring any NaN values or fluxes that are # 0.0. where_finite_and_notzero = numpy.where((numpy.isfinite(fluxes)) & (fluxes != 0.0))[0] if len(where_finite_and_notzero) > 0: median_flux = numpy.median(fluxes[where_finite_and_notzero]) median_fluxerr = numpy.median(fluxerrs[where_finite_and_notzero]) # Get the 95th percentile flux uncertainty value. fluxerr_95th = numpy.percentile(fluxerrs, 95.) else: median_flux = numpy.nan median_fluxerr = numpy.nan fluxerr_95th = numpy.nan return median_flux, median_fluxerr, fluxerr_95th
#--------------------