1#![allow(clippy::needless_range_loop)]
61#![allow(clippy::too_many_arguments)]
62#![allow(clippy::type_complexity)]
63
64pub mod error;
65pub(crate) mod linalg;
66pub mod matrix;
67pub mod parallel;
68
69pub use error::FdarError;
70
71#[cfg(test)]
72pub(crate) mod test_helpers;
73
74pub mod alignment;
75pub mod andrews;
76
77pub mod basis;
79pub mod classification;
80pub mod clustering;
81pub mod cv;
82pub mod depth;
83pub mod detrend;
84pub mod distance;
85pub mod famm;
86pub mod fdata;
87pub mod fof_regression;
88pub mod function_on_scalar;
89pub mod function_on_scalar_2d;
90pub mod gmm;
91pub mod helpers;
92pub mod irreg_fdata;
93pub mod landmark;
94pub mod metric;
95pub mod outliers;
96pub mod regression;
97pub mod scalar_on_function;
98pub mod seasonal;
99pub mod simulation;
100pub mod smoothing;
101pub mod streaming_depth;
102pub mod tolerance;
103pub mod utility;
104pub mod validation;
105pub mod warping;
106pub mod wire;
107
108pub mod covariance;
110
111pub mod spm;
113
114pub mod conformal;
116pub mod elastic;
117pub mod elastic_changepoint;
118pub mod elastic_explain;
119pub mod elastic_fpca;
120pub mod elastic_regression;
121pub mod explain;
122pub mod explain_generic;
123pub mod prelude;
124pub mod scoring;
125pub mod smooth_basis;
126
127pub use matrix::{FdCurveSet, FdMatrix};
129
130pub use andrews::{andrews_loadings, andrews_transform, AndrewsLoadings, AndrewsResult};
132
133pub use covariance::{
135 covariance_matrix, generate_gaussian_process, CovKernel, GaussianProcessResult,
136};
137
138pub use alignment::{
140 align_to_target, alignment_quality, amplitude_distance, amplitude_self_distance_matrix,
141 bayesian_align_pair, compose_warps, curve_geodesic, curve_geodesic_nd, cut_dendrogram,
142 diagnose_alignment, diagnose_pairwise, elastic_align_pair, elastic_align_pair_closed,
143 elastic_align_pair_constrained, elastic_align_pair_multires, elastic_align_pair_nd,
144 elastic_align_pair_penalized, elastic_align_pair_with_landmarks, elastic_cross_distance_matrix,
145 elastic_cross_distance_matrix_banded, elastic_cross_distance_matrix_with_band,
146 elastic_decomposition, elastic_depth, elastic_distance, elastic_distance_closed,
147 elastic_distance_nd, elastic_outlier_detection, elastic_partial_match,
148 elastic_self_distance_matrix, elastic_self_distance_matrix_banded,
149 elastic_self_distance_matrix_with_band, gauss_model, hierarchical_from_distances, horiz_fpns,
150 invert_warp, joint_gauss_model, karcher_covariance_nd, karcher_mean, karcher_mean_banded,
151 karcher_mean_closed, karcher_mean_nd, karcher_mean_with_band, karcher_median,
152 kmedoids_from_distances, lambda_cv, orbit_representative, pairwise_consistency, pca_nd,
153 peak_persistence, phase_boxplot, phase_distance_pair, phase_self_distance_matrix,
154 reparameterize_curve, robust_karcher_mean, shape_confidence_interval, shape_distance,
155 shape_mean, shape_self_distance_matrix, srsf_inverse, srsf_inverse_nd, srsf_transform,
156 srsf_transform_nd, transfer_alignment, tsrvf_from_alignment, tsrvf_from_alignment_with_method,
157 tsrvf_inverse, tsrvf_transform, tsrvf_transform_with_method, warp_complexity,
158 warp_inverse_error, warp_smoothness, warp_statistics, AlignmentDiagnostic,
159 AlignmentDiagnosticSummary, AlignmentQuality, AlignmentResult, AlignmentResultNd,
160 AlignmentSetResult, BayesianAlignConfig, BayesianAlignmentResult, ClosedAlignmentResult,
161 ClosedKarcherMeanResult, ConstrainedAlignmentResult, DecompositionResult, Dendrogram,
162 DiagnosticConfig, ElasticDepthResult, ElasticOutlierConfig, ElasticOutlierResult, FpnsResult,
163 GenerativeModelResult, GeodesicPath, GeodesicPathNd, KMedoidsConfig, KMedoidsResult,
164 KarcherMeanResult, KarcherMeanResultNd, LambdaCvConfig, LambdaCvResult, Linkage,
165 MultiresConfig, OrbitRepresentative, PartialMatchConfig, PartialMatchResult, PcaNdResult,
166 PersistenceDiagramResult, PhaseBoxplot, RobustKarcherConfig, RobustKarcherResult,
167 ShapeCiConfig, ShapeCiResult, ShapeDistanceResult, ShapeMeanResult, ShapeQuotient,
168 TransferAlignConfig, TransferAlignResult, TransportMethod, TsrvfResult, WarpPenaltyType,
169 WarpStatistics,
170};
171
172pub use helpers::{
174 aic, bandwidth_candidates_from_dists, bic, cumulative_trapz, extract_curves, fdata_interpolate,
175 fdata_interpolate_with_policy, gaussian_kernel, gradient, gradient_nonuniform,
176 gradient_uniform, impute_missing_values, l2_distance, linear_interp, quantile_sorted,
177 r_squared, r_squared_adj, simpsons_weights, simpsons_weights_2d, spline_interpolate,
178 spline_interpolate_with_policy, trapz, ExtrapolationPolicy, ImputationMethod,
179 InterpolationMethod, DEFAULT_CONVERGENCE_TOL, NUMERICAL_EPS,
180};
181
182pub use warping::{
184 exp_map_sphere, gam_to_psi, gam_to_psi_smooth, inner_product_l2, inv_exp_map_sphere,
185 invert_gamma, l2_norm_l2, normalize_warp, phase_distance, psi_to_gam,
186};
187
188pub use seasonal::{
190 autoperiod, autoperiod_fdata, cfd_autoperiod, cfd_autoperiod_fdata, hilbert_transform, sazed,
191 sazed_fdata, AutoperiodCandidate, AutoperiodResult, CfdAutoperiodResult, ChangeDetectionResult,
192 ChangePoint, ChangeType, DetectedPeriod, InstantaneousPeriod, Peak, PeakDetectionResult,
193 PeriodEstimate, SazedComponents, SazedResult, StrengthMethod,
194};
195
196pub use landmark::{
198 detect_and_register, detect_landmarks, landmark_register, Landmark, LandmarkKind,
199 LandmarkResult,
200};
201
202pub use detrend::{DecomposeResult, StlConfig, StlResult, TrendResult};
204
205pub use simulation::{EFunType, EValType};
207
208pub use irreg_fdata::{IrregFdata, KernelType};
210
211pub use tolerance::{
213 conformal_prediction_band, elastic_tolerance_band, elastic_tolerance_band_with_config,
214 equivalence_test, equivalence_test_one_sample, exponential_family_tolerance_band,
215 fpca_tolerance_band, phase_tolerance_band, scb_mean_degras, BandType,
216 ElasticToleranceBandResult, ElasticToleranceConfig, EquivalenceBootstrap,
217 EquivalenceTestResult, ExponentialFamily, MultiplierDistribution, NonConformityScore,
218 PhaseToleranceBand, ToleranceBand,
219};
220
221pub use famm::{fmm, fmm_predict, fmm_test_fixed, FmmResult, FmmTestResult};
223
224pub use fof_regression::{fof_cv, fof_regression, predict_fof, FofCvResult, FofResult};
226
227pub use function_on_scalar::{
229 fanova, fosr, fosr_fpc, predict_fosr, FanovaResult, FosrFpcResult, FosrResult,
230};
231pub use function_on_scalar_2d::{fosr_2d, predict_fosr_2d, FosrResult2d, Grid2d};
232
233pub use scalar_on_function::{
235 bootstrap_ci_fregre_lm, bootstrap_ci_functional_logistic, fregre_basis_cv, fregre_cv,
236 fregre_huber, fregre_l1, fregre_lm, fregre_lm_multi, fregre_lm_multi_cv, fregre_np_cv,
237 fregre_np_from_distances, fregre_np_mixed, fregre_pls, functional_logistic,
238 model_selection_ncomp, predict_fregre_lm, predict_fregre_lm_multi, predict_fregre_np,
239 predict_fregre_np_from_distances, predict_fregre_pls, predict_fregre_robust,
240 predict_functional_logistic, BootstrapCiResult, FregreBasisCvResult, FregreCvResult,
241 FregreLmResult, FregreNpCvResult, FregreNpResult, FregreRobustResult, FunctionalLogisticResult,
242 ModelSelectionResult, MultiCvResult, MultiFregreLmResult, PlsRegressionResult,
243 SelectionCriterion,
244};
245
246pub use explain_generic::{
248 generic_ale, generic_anchor, generic_conditional_permutation_importance,
249 generic_counterfactual, generic_domain_selection, generic_friedman_h, generic_lime,
250 generic_pdp, generic_permutation_importance, generic_prototype_criticism, generic_saliency,
251 generic_shap_values, generic_sobol_indices, generic_stability, generic_vif, FpcPredictor,
252 TaskType,
253};
254
255pub use elastic_explain::{elastic_pcr_attribution, ElasticAttributionResult};
257pub use explain::{
258 anchor_explanation, anchor_explanation_logistic, beta_decomposition,
259 beta_decomposition_logistic, calibration_diagnostics, conditional_permutation_importance,
260 conditional_permutation_importance_logistic, conformal_prediction_residuals,
261 counterfactual_logistic, counterfactual_regression, dfbetas_dffits, domain_selection,
262 domain_selection_logistic, expected_calibration_error, explanation_stability,
263 explanation_stability_logistic, fpc_ale, fpc_ale_logistic, fpc_permutation_importance,
264 fpc_permutation_importance_logistic, fpc_shap_values, fpc_shap_values_logistic, fpc_vif,
265 fpc_vif_logistic, friedman_h_statistic, friedman_h_statistic_logistic, functional_pdp,
266 functional_pdp_logistic, functional_saliency, functional_saliency_logistic,
267 influence_diagnostics, lime_explanation, lime_explanation_logistic, loo_cv_press,
268 pointwise_importance, pointwise_importance_logistic, prediction_intervals, prototype_criticism,
269 regression_depth, regression_depth_logistic, significant_regions, significant_regions_from_se,
270 sobol_indices, sobol_indices_logistic, AleResult, AnchorCondition, AnchorResult, AnchorRule,
271 BetaDecomposition, CalibrationDiagnosticsResult, ConditionalPermutationImportanceResult,
272 ConformalPredictionResult, CounterfactualResult, DepthType, DfbetasDffitsResult,
273 DomainSelectionResult, EceResult, FpcPermutationImportance, FpcShapValues, FriedmanHResult,
274 FunctionalPdpResult, FunctionalSaliencyResult, ImportantInterval, InfluenceDiagnostics,
275 LimeResult, LooCvResult, PointwiseImportanceResult, PredictionIntervalResult,
276 PrototypeCriticismResult, RegressionDepthResult, SignificanceDirection, SignificantRegion,
277 SobolIndicesResult, StabilityAnalysisResult, VifResult,
278};
279
280pub use classification::{
282 fclassif_cv, fclassif_cv_with_config, fclassif_dd, fclassif_kernel, fclassif_knn,
283 fclassif_knn_fit, fclassif_lda, fclassif_lda_fit, fclassif_qda, fclassif_qda_fit,
284 kernel_classify_from_distances, knn_classify_from_distances, ClassifCvConfig, ClassifCvResult,
285 ClassifFit, ClassifMethod, ClassifResult,
286};
287
288pub use conformal::{
290 conformal_classif, conformal_elastic_logistic, conformal_elastic_pcr,
291 conformal_elastic_pcr_with_config, conformal_elastic_regression,
292 conformal_elastic_regression_with_config, conformal_fregre_lm, conformal_fregre_np,
293 conformal_generic_classification, conformal_generic_regression, conformal_logistic,
294 cv_conformal_classification, cv_conformal_regression, jackknife_plus_regression,
295 ClassificationScore, ConformalClassificationResult, ConformalConfig, ConformalMethod,
296 ConformalRegressionResult,
297};
298
299pub use gmm::{
301 gmm_cluster, gmm_cluster_with_config, gmm_em, predict_gmm, CovType, GmmClusterConfig,
302 GmmClusterResult, GmmResult,
303};
304
305pub use streaming_depth::{
307 FullReferenceState, RollingReference, SortedReferenceState, StreamingBd, StreamingDepth,
308 StreamingFraimanMuniz, StreamingMbd,
309};
310
311pub use smooth_basis::{
313 basis_nbasis_cv, basis_nbasis_cv_with_config, bspline_penalty_matrix, fourier_penalty_matrix,
314 smooth_basis, smooth_basis_gcv, smooth_basis_gcv_with_config, BasisCriterion,
315 BasisNbasisCvConfig, BasisNbasisCvResult, BasisType, FdPar, SmoothBasisGcvConfig,
316 SmoothBasisResult,
317};
318
319pub use elastic_fpca::{
321 horiz_fpca, horiz_fpca_from_alignment, joint_fpca, joint_fpca_from_alignment, vert_fpca,
322 vert_fpca_from_alignment, HorizFpcaResult, JointFpcaResult, VertFpcaResult,
323};
324
325pub use elastic_regression::{
327 elastic_logistic, elastic_logistic_with_config, elastic_pcr, elastic_pcr_with_config,
328 elastic_regression, elastic_regression_with_config, predict_elastic_logistic,
329 predict_elastic_regression, predict_scalar_on_shape, scalar_on_shape, ElasticConfig,
330 ElasticLogisticResult, ElasticPcrConfig, ElasticPcrResult, ElasticRegressionResult,
331 IndexMethod, PcaMethod, ScalarOnShapeConfig, ScalarOnShapeResult,
332};
333
334pub use spm::{
336 arl0_ewma_t2, arl0_spe, arl0_t2, arl1_t2, elastic_spm_monitor, elastic_spm_phase1,
337 evaluate_rules, ewma_scores, frcc_monitor, frcc_phase1, hotelling_t2, hotelling_t2_regularized,
338 mf_spm_monitor, mf_spm_phase1, mfpca, nelson_rules, profile_monitor, profile_phase1,
339 select_ncomp, spe_contributions, spe_control_limit, spe_limit_robust,
340 spe_moment_match_diagnostic, spe_multivariate, spe_univariate, spm_amewma_monitor,
341 spm_cusum_monitor, spm_cusum_monitor_with_restart, spm_ewma_monitor, spm_mewma_monitor,
342 spm_monitor, spm_monitor_from_fields, spm_monitor_partial, spm_monitor_partial_batch,
343 spm_phase1, spm_phase1_iterative, t2_contributions, t2_contributions_mfpca, t2_control_limit,
344 t2_limit_robust, t2_pc_contributions, t2_pc_significance, western_electric_rules, AmewmaConfig,
345 AmewmaMonitorResult, ArlConfig, ArlResult, ChartRule, ControlLimit, ControlLimitMethod,
346 CusumConfig, CusumMonitorResult, DomainCompletion, ElasticSpmChart, ElasticSpmConfig,
347 ElasticSpmMonitorResult, EwmaConfig, EwmaMonitorResult, FrccChart, FrccConfig,
348 FrccMonitorResult, IterativePhase1Config, IterativePhase1Result, MewmaConfig,
349 MewmaMonitorResult, MfSpmChart, MfpcaConfig, MfpcaResult, NcompMethod, PartialDomainConfig,
350 PartialMonitorResult, ProfileChart, ProfileMonitorConfig, ProfileMonitorResult, RuleViolation,
351 SpmChart, SpmConfig, SpmMonitorResult,
352};
353
354pub use elastic_changepoint::{
356 elastic_amp_changepoint, elastic_fpca_changepoint, elastic_ph_changepoint, ChangepointResult,
357 ChangepointType, FpcaChangepointMethod,
358};
359
360pub use cv::{
362 classification_metrics, create_folds, create_stratified_folds, cv_fdata, cv_fdata_with_metrics,
363 fold_indices, metric_accuracy, metric_f1, metric_mae, metric_precision, metric_r_squared,
364 metric_recall, metric_rmse, regression_metrics, subset_rows, subset_vec, CvFdataResult,
365 CvMetrics, CvSelectionResult, CvType, MetricFn,
366};
367
368pub use distance::{
370 cross_distance_matrix, euclidean_distance_matrix, l2_distance_matrix, pairwise_distance_matrix,
371};
372
373pub use validation::{
375 validate_dist_mat, validate_fdata, validate_labels, validate_ncomp, validate_response,
376};
377
378pub use smoothing::{
380 cv_smoother, gcv_smoother, knn_gcv, knn_lcv, optim_bandwidth, CvCriterion, KnnCvResult,
381 OptimBandwidthResult,
382};
383
384pub use regression::{fdata_to_pc_1d, fdata_to_pls_1d, FpcaResult, PlsResult};
386#[cfg(feature = "linalg")]
387pub use regression::{ridge_regression_fit, RidgeResult};
388
389pub use clustering::{
391 calinski_harabasz, calinski_harabasz_from_distances, fuzzy_cmeans_fd, kmeans_fd,
392 silhouette_score, silhouette_score_from_distances, FuzzyCmeansResult, KmeansResult,
393};
394
395pub use metric::{
397 dtw_cross_1d, dtw_distance, dtw_self_1d, fourier_cross_1d, fourier_self_1d, hausdorff_3d,
398 hausdorff_cross_1d, hausdorff_cross_2d, hausdorff_self_1d, hausdorff_self_2d, hshift_cross_1d,
399 hshift_self_1d, lp_cross_1d, lp_cross_2d, lp_self_1d, lp_self_2d, soft_dtw_barycenter,
400 soft_dtw_cross_1d, soft_dtw_distance, soft_dtw_div_cross_1d, soft_dtw_div_self_1d,
401 soft_dtw_divergence, soft_dtw_self_1d, SoftDtwBarycenterResult,
402};
403
404pub use depth::{
406 band_1d, fraiman_muniz_1d, fraiman_muniz_2d, functional_spatial_1d, functional_spatial_2d,
407 kernel_functional_spatial_1d, kernel_functional_spatial_2d, modal_1d, modal_2d,
408 modified_band_1d, modified_epigraph_index_1d, random_projection_1d,
409 random_projection_1d_seeded, random_projection_2d, random_tukey_1d, random_tukey_1d_seeded,
410 random_tukey_2d,
411};
412
413pub use outliers::{
415 detect_outliers_lrt, magnitude_shape_outlyingness, outliergram, outliers_threshold_lrt,
416 outliers_threshold_lrt_with_dist, MagnitudeShapeResult, OutligramResult,
417};
418
419pub use utility::{
421 compute_adot, inner_product, inner_product_matrix, integrate_simpson, knn_loocv, knn_predict,
422 pcvm_statistic, rp_stat, RpStatResult,
423};
424
425pub use fdata::{
427 center_1d, depth_based_median, deriv_1d, deriv_2d, functional_covariance, functional_std,
428 functional_variance, geometric_median_1d, geometric_median_2d, mean_1d, mean_2d, norm_lp_1d,
429 normalize, normalize_with_argvals, trim_mean, Deriv2DResult, NormalizationMethod,
430};
431
432pub use basis::{
434 basis_to_fdata, basis_to_fdata_1d, bspline_basis, bspline_basis_from_knots,
435 construct_bspline_knots, difference_matrix, fdata_to_basis, fdata_to_basis_1d, fourier_basis,
436 fourier_basis_with_period, fourier_fit_1d, pspline_evaluate, pspline_fit_1d, pspline_fit_gcv,
437 select_basis_auto_1d, select_fourier_nbasis_gcv, BasisAutoSelectionResult,
438 BasisProjectionResult, FourierFitResult, ProjectionBasisType, PsplineFitResult,
439 SingleCurveSelection,
440};
441
442pub use scoring::{
444 functional_explained_variance, functional_mae, functional_mape, functional_mse, functional_msle,
445};