[][src]Struct light_curve_feature::BeyondNStd

pub struct BeyondNStd<T> { /* fields omitted */ }

Fraction of observations beyond $n\,\sigma_m$ from the mean magnitude $\langle m \rangle$

$$ \mathrm{beyond}~n\,\sigma_m \equiv \frac{\sum_i I_{|m - \langle m \rangle| > n\,\sigma_m}(m_i)}{N}, $$ where $I$ is the indicator function, $N$ is the number of observations, $\langle m \rangle$ is the mean magnitude and $\sigma_m = \sqrt{\sum_i (m_i - \langle m \rangle)^2 / (N-1)}$ is the magnitude standard deviation.

  • Depends on: magnitude
  • Minimum number of observations: 2
  • Number of features: 1

D’Isanto et al. 2016 DOI:10.1093/mnras/stw157

use light_curve_feature::*;
use light_curve_common::all_close;
use std::f64::consts::SQRT_2;

let fe = feat_extr!(BeyondNStd::default(), BeyondNStd::new(2.0));
let time = [0.0; 21];  // Doesn't depend on time
let mut magn = vec![0.0; 17];
magn.extend_from_slice(&[SQRT_2, -SQRT_2, 2.0 * SQRT_2, -2.0 * SQRT_2]);
let mut ts = TimeSeries::new(&time[..], &magn[..], None);
assert_eq!(0.0, ts.m.get_mean());
assert!((1.0 - ts.m.get_std()).abs() < 1e-15);
assert_eq!(vec![4.0 / 21.0, 2.0 / 21.0], fe.eval(ts));

Implementations

impl<T> BeyondNStd<T> where
    T: Float, 
[src]

pub fn new(nstd: T) -> Self[src]

pub fn set_name(&mut self, name: String)[src]

Trait Implementations

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

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

Auto Trait Implementations

impl<T> RefUnwindSafe for BeyondNStd<T> where
    T: RefUnwindSafe

impl<T> Send for BeyondNStd<T> where
    T: Send

impl<T> Sync for BeyondNStd<T> where
    T: Sync

impl<T> Unpin for BeyondNStd<T> where
    T: Unpin

impl<T> UnwindSafe for BeyondNStd<T> where
    T: UnwindSafe

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> From<T> for T[src]

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

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.