Crate light_curve_feature[][src]

Expand description

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 = FeatureExtractor::<_, Feature<_>>::new(vec![Amplitude::default().into(), ReducedChi2::default().into()]);
// 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 weights = [5.0, 10.0, 2.0, 10.0, 5.0]; // inverse squared magnitude errors
let mut ts = TimeSeries::new(&time, &magn, &weights);
// 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::antifeatures;
pub use feature::Feature;
pub use features::*;
pub use periodogram::recurrent_sin_cos::RecurrentSinCos;
pub use periodogram::PeriodogramPower;
pub use time_series::TimeSeries;

Modules

Macros

Helper for static EvaluatorInfo creation

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

Structs

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

The engine that extracts features one by one

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

Direct periodogram executor

“Fast” (FFT-based) periodogram executor

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

Enums

Traits

The trait each feature should implement

Functions