[−][src]Struct light_curve_feature::BeyondNStd
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(&mut ts).unwrap());
Implementations
impl<T> BeyondNStd<T> where
T: Float,
[src]
T: Float,
pub fn new(nstd: T) -> Self
[src]
pub fn set_name(&mut self, name: String)
[src]
pub fn default_nstd() -> T
[src]
Trait Implementations
impl<T: Clone> Clone for BeyondNStd<T>
[src]
fn clone(&self) -> BeyondNStd<T>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Debug> Debug for BeyondNStd<T>
[src]
impl<T> Default for BeyondNStd<T> where
T: Float,
[src]
T: Float,
impl<T> FeatureEvaluator<T> for BeyondNStd<T> where
T: Float,
[src]
T: Float,
fn eval(&self, ts: &mut TimeSeries<'_, T>) -> Result<Vec<T>, EvaluatorError>
[src]
fn get_info(&self) -> &EvaluatorInfo
[src]
fn get_names(&self) -> Vec<&str>
[src]
fn get_descriptions(&self) -> Vec<&str>
[src]
fn eval_or_fill(&self, ts: &mut TimeSeries<'_, T>, fill_value: T) -> Vec<T>
[src]
fn size_hint(&self) -> usize
[src]
fn min_ts_length(&self) -> usize
[src]
fn is_t_required(&self) -> bool
[src]
fn is_m_required(&self) -> bool
[src]
fn is_w_required(&self) -> bool
[src]
fn is_sorting_required(&self) -> bool
[src]
fn check_ts_length(
&self,
ts: &TimeSeries<'_, T>
) -> Result<usize, EvaluatorError>
[src]
&self,
ts: &TimeSeries<'_, T>
) -> Result<usize, EvaluatorError>
Auto Trait Implementations
impl<T> RefUnwindSafe for BeyondNStd<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for BeyondNStd<T> where
T: Send,
T: Send,
impl<T> Sync for BeyondNStd<T> where
T: Sync,
T: Sync,
impl<T> Unpin for BeyondNStd<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for BeyondNStd<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Src where
Scheme: ApproxScheme,
[src]
Scheme: ApproxScheme,
type Err = NoError
The error type produced by a failed conversion.
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
[src]
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Src where
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
[src]
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, Dst> ConvAsUtil<Dst> for T
[src]
fn approx(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, DefaultApprox>,
[src]
Self: ApproxInto<Dst, DefaultApprox>,
fn approx_by<Scheme>(self) -> Result<Dst, Self::Err> where
Scheme: ApproxScheme,
Self: ApproxInto<Dst, Scheme>,
[src]
Scheme: ApproxScheme,
Self: ApproxInto<Dst, Scheme>,
impl<T> ConvUtil for T
[src]
fn approx_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: ApproxInto<Dst, DefaultApprox>,
[src]
Self: ApproxInto<Dst, DefaultApprox>,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err> where
Scheme: ApproxScheme,
Self: ApproxInto<Dst, Scheme>,
[src]
Scheme: ApproxScheme,
Self: ApproxInto<Dst, Scheme>,
fn into_as<Dst>(self) -> Dst where
Self: Into<Dst>,
[src]
Self: Into<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: TryInto<Dst>,
[src]
Self: TryInto<Dst>,
fn value_as<Dst>(self) -> Result<Dst, Self::Err> where
Self: ValueInto<Dst>,
[src]
Self: ValueInto<Dst>,
impl<T> DynClone for T where
T: Clone,
[src]
T: Clone,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<Src> TryFrom<Src> for Src
[src]
type Err = NoError
The error type produced by a failed conversion.
fn try_from(src: Src) -> Result<Src, <Src as TryFrom<Src>>::Err>
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<Src, Dst> TryInto<Dst> for Src where
Dst: TryFrom<Src>,
[src]
Dst: TryFrom<Src>,
type Err = <Dst as TryFrom<Src>>::Err
The error type produced by a failed conversion.
fn try_into(self) -> Result<Dst, <Src as TryInto<Dst>>::Err>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<Src> ValueFrom<Src> for Src
[src]
type Err = NoError
The error type produced by a failed conversion.
fn value_from(src: Src) -> Result<Src, <Src as ValueFrom<Src>>::Err>
[src]
impl<Src, Dst> ValueInto<Dst> for Src where
Dst: ValueFrom<Src>,
[src]
Dst: ValueFrom<Src>,