Summary metrics =============== ``cubie.outputhandling.summarymetrics`` --------------------------------------- .. currentmodule:: cubie.outputhandling.summarymetrics .. toctree:: :hidden: :maxdepth: 1 :titlesonly: summary_metrics register_metric summarymetrics/metrics/summary_metric summarymetrics/metrics/summary_metrics summarymetrics/metrics/metric_func_cache summarymetrics/metrics/mean summarymetrics/metrics/max summarymetrics/metrics/rms summarymetrics/metrics/peaks summarymetrics/metrics/std summarymetrics/metrics/min summarymetrics/metrics/max_magnitude summarymetrics/metrics/extrema summarymetrics/metrics/negative_peaks summarymetrics/metrics/mean_std_rms summarymetrics/metrics/dxdt_max summarymetrics/metrics/dxdt_min summarymetrics/metrics/dxdt_extrema summarymetrics/metrics/d2xdt2_max summarymetrics/metrics/d2xdt2_min summarymetrics/metrics/d2xdt2_extrema The ``summarymetrics`` package houses the summary metric registry used by output handling to accumulate reductions during integration. Importing the package creates :data:`summary_metrics` and eagerly imports the built-in metrics so that each registers its CUDA device update and save functions. External packages extend the system by decorating new metric classes with :func:`register_metric`. Public interface ---------------- * :doc:`summary_metrics ` – registry storing metric factories and compiled device callables. * :doc:`register_metric ` – decorator used by metric modules to register implementations. * :doc:`SummaryMetric ` – base class describing summary metric interfaces. * :doc:`SummaryMetrics ` – registry container that stores metrics and compiled functions. * :doc:`MetricFuncCache ` – caches compiled CUDA functions per metric. Built-in metrics ~~~~~~~~~~~~~~~~ * :doc:`Mean ` – arithmetic average. * :doc:`Max ` – maximum value. * :doc:`Min ` – minimum value. * :doc:`RMS ` – root-mean-square. * :doc:`Std ` – standard deviation. * :doc:`MaxMagnitude ` – maximum absolute value. * :doc:`Extrema ` – both maximum and minimum. * :doc:`Peaks ` – peak detection (local maxima). * :doc:`NegativePeaks ` – negative peak detection (local minima). * :doc:`MeanStdRms ` – composite metric computing mean, std, and rms efficiently. * :doc:`DxdtMax ` – maximum first derivative (slope). * :doc:`DxdtMin ` – minimum first derivative (slope). * :doc:`DxdtExtrema ` – both maximum and minimum first derivative. * :doc:`D2xdt2Max ` – maximum second derivative (acceleration). * :doc:`D2xdt2Min ` – minimum second derivative (acceleration). * :doc:`D2xdt2Extrema ` – both maximum and minimum second derivative. Dependencies ------------ * Compiles device functions via :class:`cubie.CUDAFactory` and :mod:`numba.cuda`. * Consumes save/update cadence configuration from :mod:`cubie.outputhandling`.