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