Crate light_curve_feature[][src]

light-curve-feature is a part of light-curve family that implements extraction of numerous light curve features used in astrophysics.

use light_curve_feature::*;

// Let's find amplitude and reduced Chi-squared of the light curve
let fe = feat_extr!(Amplitude::default(), ReducedChi2::default());
// Define light curve
let time = [0.0, 1.0, 2.0, 3.0, 4.0];
let magn = [-1.0, 2.0, 1.0, 3.0, 4.5];
let magn_err_squared = [0.2, 0.1, 0.5, 0.1, 0.2];
let mut ts = TimeSeries::new(&time[..], &magn[..], Some(&magn_err_squared[..]));
// Get results and print
let result = fe.eval(&mut ts)?;
let names = fe.get_names();
println!("{:?}", names.iter().zip(result.iter()).collect::<Vec<_>>());

Re-exports

pub use features::*;
pub use periodogram::recurrent_sin_cos::RecurrentSinCos;
pub use time_series::TimeSeries;

Modules

antifeatures
features
periodogram
sorted_vec
statistics
time_series

Macros

feat_extr

Constructs a FeatureExtractor object from a list of objects that implement FeatureEvaluator

lazy_info

Helper for static EvaluatorInfo creation

transformer_eval

Helper for FeatureEvaluator implementations using time-series transformation. You must implement:

Structs

AverageNyquistFreq

$\Delta t = \mathrm{duration} / (N - 1)$ is the mean time interval between observations

FeatureExtractor

The engine that extracts features one by one

MedianNyquistFreq

$\Delta t$ is the median time interval between observations

PeriodogramPowerDirect

Direct periodogram executor

PeriodogramPowerFft

“Fast” (FFT-based) periodogram executor

QuantileNyquistFreq

$\Delta t$ is the $q$th quantile of time intervals between subsequent observations

Enums

EvaluatorError

Traits

FeatureEvaluator

The trait each feature should implement

Float
NyquistFreq

Derive Nyquist frequency from time series

PeriodogramPower

Periodogram execution algorithm

Functions

fit_straight_line

Type Definitions

VecFe