[][src]Struct light_curve_feature::Periodogram

pub struct Periodogram<T: Float> { /* fields omitted */ }

A number of features based on Lomb–Scargle periodogram

Periodogram $P(\omega)$ is an estimate of spectral density of unevenly time series. Periodogram::new's peaks argument corresponds to a number of the most significant spectral density peaks to return. For each peak its period and "signal to noise" ratio is returned.

$$ \mathrm{signal~to~noise~of~peak} \equiv \frac{P(\omega_\mathrm{peak}) - \langle P(\omega) \rangle}{\sigma_{P(\omega)}}. $$

Periodogram can accept another dyn FeatureEvaluator for feature extraction from periodogram as it was time series without observation errors. You can even pass one Periodogram to another one if you are crazy enough

  • Depends on: time, magnitude
  • Minimum number of observations: 2 (or as required by sub-features)
  • Number of features: $2 \times \mathrm{peaks}~+...$

Implementations

impl<T> Periodogram<T> where
    T: Float
[src]

pub fn new(peaks: usize) -> Self[src]

New Periodogram that finds given number of peaks

pub fn set_freq_resolution(&mut self, resolution: f32) -> &mut Self[src]

Set frequency resolution

The larger frequency resolution allows to find peak period with better precision

pub fn set_max_freq_factor(&mut self, max_freq_factor: f32) -> &mut Self[src]

Multiply maximum (Nyquist) frequency

Maximum frequency is Nyquist frequncy multiplied by this factor. The larger factor allows to find larger frequency and makes PeriodogramPowerFft more precise. However large frequencies can show false peaks

pub fn set_nyquist(&mut self, nyquist: Box<dyn NyquistFreq<T>>) -> &mut Self[src]

Define Nyquist frequency

pub fn add_feature(
    &mut self,
    feature: Box<dyn FeatureEvaluator<T>>
) -> &mut Self
[src]

Extend a feature to extract from periodogram

pub fn set_periodogram_algorithm(
    &mut self,
    periodogram_power: fn() -> Box<dyn PeriodogramPower<T>>
) -> &mut Self
[src]

pub fn init_thread_local_fft_plan(n: &[usize])[src]

pub fn power(&self, ts: &mut TimeSeries<'_, T>) -> Vec<T>[src]

pub fn freq_power(&self, ts: &mut TimeSeries<'_, T>) -> (Vec<T>, Vec<T>)[src]

Trait Implementations

impl<T: Clone + Float> Clone for Periodogram<T>[src]

impl<T: Debug + Float> Debug for Periodogram<T>[src]

impl<T> Default for Periodogram<T> where
    T: Float
[src]

impl<T> FeatureEvaluator<T> for Periodogram<T> where
    T: Float
[src]

Auto Trait Implementations

impl<T> !RefUnwindSafe for Periodogram<T>

impl<T> Send for Periodogram<T>

impl<T> Sync for Periodogram<T>

impl<T> Unpin for Periodogram<T>

impl<T> !UnwindSafe for Periodogram<T>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<Src, Scheme> ApproxFrom<Src, Scheme> for Src where
    Scheme: ApproxScheme
[src]

type Err = NoError

The error type produced by a failed conversion.

impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
    Dst: ApproxFrom<Src, Scheme>,
    Scheme: ApproxScheme
[src]

type Err = <Dst as ApproxFrom<Src, Scheme>>::Err

The error type produced by a failed conversion.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T, Dst> ConvAsUtil<Dst> for T[src]

impl<T> ConvUtil for T[src]

impl<T> DynClone for T where
    T: Clone
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<Src> TryFrom<Src> for Src[src]

type Err = NoError

The error type produced by a failed conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<Src, Dst> TryInto<Dst> for Src where
    Dst: TryFrom<Src>, 
[src]

type Err = <Dst as TryFrom<Src>>::Err

The error type produced by a failed conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<Src> ValueFrom<Src> for Src[src]

type Err = NoError

The error type produced by a failed conversion.

impl<Src, Dst> ValueInto<Dst> for Src where
    Dst: ValueFrom<Src>, 
[src]

type Err = <Dst as ValueFrom<Src>>::Err

The error type produced by a failed conversion.