Trait light_curve_feature::FeatureEvaluator[][src]

pub trait FeatureEvaluator<T: Float>: Send + Clone + Debug + Serialize + DeserializeOwned + JsonSchema {
    fn eval(&self, ts: &mut TimeSeries<'_, T>) -> Result<Vec<T>, EvaluatorError>;
fn get_info(&self) -> &EvaluatorInfo;
fn get_names(&self) -> Vec<&str>;
fn get_descriptions(&self) -> Vec<&str>; fn eval_or_fill(&self, ts: &mut TimeSeries<'_, T>, fill_value: T) -> Vec<T> { ... }
fn size_hint(&self) -> usize { ... }
fn min_ts_length(&self) -> usize { ... }
fn is_t_required(&self) -> bool { ... }
fn is_m_required(&self) -> bool { ... }
fn is_w_required(&self) -> bool { ... }
fn is_sorting_required(&self) -> bool { ... }
fn check_ts_length(
        &self,
        ts: &TimeSeries<'_, T>
    ) -> Result<usize, EvaluatorError> { ... } }
Expand description

The trait each feature should implement

Required methods

Vector of feature values or EvaluatorError

Get feature evaluator meta-information

Vector of feature names. The length and feature order corresponds to eval() output

Vector of feature descriptions. The length and feature order corresponds to eval() output

Provided methods

Returns vector of feature values and fill invalid components with given value

Size of vectors returned by eval(), get_names() and get_descriptions()

Minimum time series length required to successfully evaluate feature

If time array used by the feature

If magnitude array is used by the feature

If weight array is used by the feature

If feature requires time-sorting on the input TimeSeries

Checks if TimeSeries has enough points to evaluate the feature

Implementors