Struct light_curve_feature::features::Periodogram [−][src]
pub struct Periodogram<T, F> where
T: Float, { /* fields omitted */ }
Expand description
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
Set frequency resolution
The larger frequency resolution allows to find peak period with better precision
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
Define Nyquist frequency
Extend a feature to extract from periodogram
pub fn set_periodogram_algorithm(
&mut self,
periodogram_power: PeriodogramPower<T>
) -> &mut Self
New Periodogram that finds given number of peaks
Trait Implementations
impl<T, F> Default for Periodogram<T, F> where
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks>,
impl<T, F> Default for Periodogram<T, F> where
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks>,
impl<'de, T, F> Deserialize<'de> for Periodogram<T, F> where
T: Float,
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
impl<'de, T, F> Deserialize<'de> for Periodogram<T, F> where
T: Float,
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl<T, F> FeatureEvaluator<T> for Periodogram<T, F> where
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
impl<T, F> FeatureEvaluator<T> for Periodogram<T, F> where
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
Should return the vector of feature values or EvaluatorError
Should return the vector of feature values and fill invalid components with given value
Should return the vector of feature names. The length and feature order should
correspond to eval()
output Read more
Should return the vector of feature descriptions. The length and feature order should
correspond to eval()
output Read more
Should return the size of vectors returned by eval()
and get_names()
Should return minimum time series length to successfully find feature value
Performs the conversion.
impl<T, F> Serialize for Periodogram<T, F> where
T: Float,
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
impl<T, F> Serialize for Periodogram<T, F> where
T: Float,
T: Float,
F: FeatureEvaluator<T> + From<PeriodogramPeaks> + TryInto<PeriodogramPeaks>,
<F as TryInto<PeriodogramPeaks>>::Error: Debug,
fn try_into(
self
) -> Result<Periodogram<T, Self>, <Self as TryInto<Periodogram<T, Self>>>::Error>
fn try_into(
self
) -> Result<Periodogram<T, Self>, <Self as TryInto<Periodogram<T, Self>>>::Error>
Performs the conversion.
Auto Trait Implementations
impl<T, F> RefUnwindSafe for Periodogram<T, F> where
F: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, F> Send for Periodogram<T, F> where
F: Send,
impl<T, F> Sync for Periodogram<T, F> where
F: Sync,
impl<T, F> Unpin for Periodogram<T, F> where
F: Unpin,
T: Unpin,
impl<T, F> UnwindSafe for Periodogram<T, F> where
F: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
Convert the given value into an approximately equivalent representation.
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
Convert the subject into an approximately equivalent representation.
Mutably borrows from an owned value. Read more
Approximate the subject with the default scheme.
fn approx_by<Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_by<Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject with a specific scheme.
Approximate the subject to a given type with the default scheme.
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
Approximate the subject to a given type with a specific scheme.
Attempt to convert the subject to a given type.