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 features::*;
pub use periodogram::recurrent_sin_cos::RecurrentSinCos;
pub use periodogram::PeriodogramPower;

Modules

Feature sctructs implements crate::FeatureEvaluator trait

Periodogram-related stuff

Structs

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

The engine which extracts features one by one

LMSDER GSL non-linear least-squares wrapper

MCMC sampler for non-linear least squares

$\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

Optimization algorithm for non-linear least squares

Error returned from crate::FeatureEvaluator

All features are available as variants of this enum

Derive Nyquist frequency from time series

Traits

The trait each feature should implement

Floating number trait, it is implemented for f32 and f64 only

Functions

Straight line fitter

Find local maxima of the array and return their indices