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
fn eval(&self, ts: &mut TimeSeries<'_, T>) -> Result<Vec<T>, EvaluatorError>
fn eval(&self, ts: &mut TimeSeries<'_, T>) -> Result<Vec<T>, EvaluatorError>
Vector of feature values or EvaluatorError
Vector of feature names. The length and feature order corresponds to eval() output
fn get_descriptions(&self) -> Vec<&str>
fn get_descriptions(&self) -> Vec<&str>
Vector of feature descriptions. The length and feature order corresponds to eval() output
Provided methods
fn eval_or_fill(&self, ts: &mut TimeSeries<'_, T>, fill_value: T) -> Vec<T>
fn eval_or_fill(&self, ts: &mut TimeSeries<'_, T>, fill_value: T) -> Vec<T>
Returns vector of feature values and fill invalid components with given value
Size of vectors returned by eval(), get_names() and get_descriptions()
fn min_ts_length(&self) -> usize
fn min_ts_length(&self) -> usize
Minimum time series length required to successfully evaluate feature
fn is_t_required(&self) -> bool
fn is_t_required(&self) -> bool
If time array used by the feature
fn is_m_required(&self) -> bool
fn is_m_required(&self) -> bool
If magnitude array is used by the feature
fn is_w_required(&self) -> bool
fn is_w_required(&self) -> bool
If weight array is used by the feature
fn is_sorting_required(&self) -> bool
fn is_sorting_required(&self) -> bool
If feature requires time-sorting on the input TimeSeries
fn check_ts_length(
&self,
ts: &TimeSeries<'_, T>
) -> Result<usize, EvaluatorError>
fn check_ts_length(
&self,
ts: &TimeSeries<'_, T>
) -> Result<usize, EvaluatorError>
Checks if TimeSeries has enough points to evaluate the feature