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