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;
76pub mod autodiff;
77
78pub mod basis;
80pub mod boosting_regression;
81pub mod classification;
82pub mod clustering;
83pub mod clustering_advanced;
84pub mod coclustering;
85pub mod concurrent_regression;
86pub mod cv;
87pub mod density_fda;
88pub mod depth;
89pub mod detrend;
90pub mod dim;
91pub mod distance;
92pub(crate) mod distributions;
93pub mod famm;
94pub mod fdata;
95pub mod fem_smoothing;
96pub mod fof_regression;
97pub mod fpca_variants;
98pub mod frechet;
99pub mod fts;
100pub mod function_on_scalar;
101pub mod function_on_scalar_2d;
102pub mod gmm;
103pub mod helpers;
104pub mod inference;
105pub mod irreg_fdata;
106pub mod kernel_kmeans;
107pub mod kshape;
108pub mod landmark;
109pub mod metric;
110pub mod optimal_design;
111pub mod outliers;
112pub mod peer;
113pub mod regression;
114pub mod scalar_on_function;
115pub mod seasonal;
116pub mod shapelet;
117pub mod simulation;
118pub mod smoothing;
119pub mod streaming_depth;
120pub mod tolerance;
121pub mod utility;
122pub mod validation;
123pub mod warping;
124pub mod wavelet;
125pub mod wire;
126
127pub mod covariance;
129
130pub mod spm;
132
133pub mod conformal;
135pub mod elastic;
136pub mod elastic_changepoint;
137pub mod elastic_explain;
138pub mod elastic_fpca;
139pub mod elastic_pfi;
140pub mod elastic_regression;
141pub mod explain;
142pub mod explain_generic;
143pub mod jfpca_model;
144pub mod multi_fdata;
145pub mod pace_fpca;
146pub mod pda;
147pub(crate) mod permutation_test;
148pub mod prelude;
149pub mod scoring;
150pub mod smooth_basis;
151
152#[doc(hidden)]
161pub mod __equivalence_test_support {
162 pub mod current {
166 #[inline]
167 pub fn chi_square_sf(x: f64, k: usize) -> f64 {
168 crate::inference::dist::chi_square_sf(x, k)
169 }
170 #[inline]
171 pub fn chi_square_sf_df(x: f64, df: f64) -> f64 {
172 crate::inference::dist::chi_square_sf_df(x, df)
173 }
174 #[inline]
175 pub fn f_sf(f: f64, d1: f64, d2: f64) -> f64 {
176 crate::inference::dist::f_sf(f, d1, d2)
177 }
178 #[inline]
179 pub fn chi2_cdf(x: f64, k: usize) -> f64 {
180 crate::spm::chi_squared::chi2_cdf(x, k)
181 }
182 #[inline]
183 pub fn chi2_quantile(p: f64, k: usize) -> f64 {
184 crate::spm::chi_squared::chi2_quantile(p, k)
185 }
186 #[inline]
187 pub fn regularized_gamma_p(a: f64, x: f64) -> f64 {
188 crate::spm::chi_squared::regularized_gamma_p(a, x)
189 }
190 }
191
192 pub mod distributions {
195 #[inline]
196 pub fn chi2_sf(x: f64, df: f64) -> f64 {
197 crate::distributions::chi2_sf(x, df)
198 }
199 #[inline]
200 pub fn chi2_cdf(x: f64, k: usize) -> f64 {
201 crate::distributions::chi2_cdf(x, k)
202 }
203 #[inline]
204 pub fn chi2_quantile(p: f64, k: usize) -> f64 {
205 crate::distributions::chi2_quantile(p, k)
206 }
207 #[inline]
208 pub fn reg_gamma_p(a: f64, x: f64) -> f64 {
209 crate::distributions::reg_gamma_p(a, x)
210 }
211 #[inline]
212 pub fn reg_gamma_q(a: f64, x: f64) -> f64 {
213 crate::distributions::reg_gamma_q(a, x)
214 }
215 #[inline]
216 pub fn ln_gamma(x: f64) -> f64 {
217 crate::distributions::ln_gamma(x)
218 }
219 }
220
221 pub mod helpers {
226 #[inline]
231 pub fn seed_for_thread_draws(seed: u64, k: usize, n: usize) -> Vec<u64> {
232 use rand::RngCore;
233 let mut rng = crate::helpers::seed_for_thread(seed, k);
234 (0..n).map(|_| rng.next_u64()).collect()
235 }
236 }
237}
238
239pub use matrix::{FdCurveSet, FdMatrix};
241
242pub use multi_fdata::{FdComponent, MultiFunData};
244
245pub use pda::{principal_differential_analysis, Lfd, PdaResult};
247
248pub use density_fda::{
250 inverse_lqd, lqd_fpca, lqd_transform, normalize_density, wasserstein_barycenter, LqdFpcaResult,
251};
252
253pub use frechet::{
255 frechet_anova, frechet_anova_space, frechet_global_reg, frechet_global_reg_space,
256 frechet_local_reg, frechet_local_reg_space, frechet_mean, frechet_variance,
257 wasserstein2_distance, CorrelationMatrixSpace, FrechetAnovaResult, FrechetGlobalRegResult,
258 FrechetLocalRegResult, MetricSpace, NetworkSpace, PointProcessSpace, SpdMatrixSpace, SpdMetric,
259 SphericalSpace, WassersteinDensitySpace,
260};
261
262pub use andrews::{andrews_loadings, andrews_transform, AndrewsLoadings, AndrewsResult};
264
265pub use covariance::{
267 covariance_matrix, generate_gaussian_process, CovKernel, GaussianProcessResult,
268};
269
270pub use alignment::{
272 align_to_target, alignment_quality, amplitude_distance, amplitude_distance_at_warp_generic,
273 amplitude_self_distance_matrix, bayesian_align_pair, compose_warps, curve_geodesic,
274 curve_geodesic_nd, cut_dendrogram, diagnose_alignment, diagnose_pairwise, elastic_align_pair,
275 elastic_align_pair_closed, elastic_align_pair_constrained, elastic_align_pair_multires,
276 elastic_align_pair_nd, elastic_align_pair_penalized, elastic_align_pair_with_landmarks,
277 elastic_cross_distance_matrix, elastic_cross_distance_matrix_banded,
278 elastic_cross_distance_matrix_with_band, elastic_decomposition, elastic_depth,
279 elastic_distance, elastic_distance_closed, elastic_distance_nd, elastic_outlier_detection,
280 elastic_partial_match, elastic_self_distance_matrix, elastic_self_distance_matrix_banded,
281 elastic_self_distance_matrix_with_band, gauss_model, hierarchical_from_distances, horiz_fpns,
282 invert_warp, joint_gauss_model, karcher_covariance_nd, karcher_mean, karcher_mean_banded,
283 karcher_mean_closed, karcher_mean_nd, karcher_mean_with_band, karcher_median,
284 kmedoids_from_distances, lambda_cv, least_squares_score, least_squares_shift_registration,
285 orbit_representative, pairwise_consistency, pairwise_correlation_score, pca_nd,
286 peak_persistence, phase_boxplot, phase_distance_pair, phase_self_distance_matrix,
287 reparameterize_curve, robust_karcher_mean, shape_confidence_interval, shape_distance,
288 shape_mean, shape_self_distance_matrix, sobolev_least_squares_score, srsf_inverse,
289 srsf_inverse_nd, srsf_transform, srsf_transform_nd, transfer_alignment, tsrvf_from_alignment,
290 tsrvf_from_alignment_with_method, tsrvf_inverse, tsrvf_transform, tsrvf_transform_with_method,
291 warp_complexity, warp_inverse_error, warp_smoothness, warp_statistics, AlignmentDiagnostic,
292 AlignmentDiagnosticSummary, AlignmentQuality, AlignmentResult, AlignmentResultNd,
293 AlignmentSetResult, BayesianAlignConfig, BayesianAlignmentResult, ClosedAlignmentResult,
294 ClosedKarcherMeanResult, ConstrainedAlignmentResult, DecompositionResult, Dendrogram,
295 DiagnosticConfig, ElasticDepthResult, ElasticOutlierConfig, ElasticOutlierResult, FpnsResult,
296 GenerativeModelResult, GeodesicPath, GeodesicPathNd, KMedoidsConfig, KMedoidsResult,
297 KarcherMeanResult, KarcherMeanResultNd, LambdaCvConfig, LambdaCvResult, Linkage,
298 MultiresConfig, OrbitRepresentative, PartialMatchConfig, PartialMatchResult, PcaNdResult,
299 PersistenceDiagramResult, PhaseBoxplot, RobustKarcherConfig, RobustKarcherResult,
300 ShapeCiConfig, ShapeCiResult, ShapeDistanceResult, ShapeMeanResult, ShapeQuotient,
301 ShiftRegistrationResult, TransferAlignConfig, TransferAlignResult, TransportMethod,
302 TsrvfResult, WarpPenaltyType, WarpStatistics,
303};
304
305pub use helpers::{
307 aic, bandwidth_candidates_from_dists, bic, cumulative_trapz, extract_curves, fdata_interpolate,
308 fdata_interpolate_with_policy, gaussian_kernel, gradient, gradient_nonuniform,
309 gradient_uniform, impute_missing_values, l2_distance, linear_interp, quantile_sorted,
310 r_squared, r_squared_adj, simpsons_weights, simpsons_weights_2d, spline_interpolate,
311 spline_interpolate_with_policy, trapz, ExtrapolationPolicy, ImputationMethod,
312 InterpolationMethod, DEFAULT_CONVERGENCE_TOL, NUMERICAL_EPS,
313};
314
315pub use warping::{
317 exp_map_sphere, gam_to_psi, gam_to_psi_smooth, inner_product_l2, inv_exp_map_sphere,
318 invert_gamma, l2_norm_l2, normalize_warp, phase_distance, psi_to_gam,
319};
320
321pub use seasonal::{
323 autoperiod, autoperiod_fdata, cfd_autoperiod, cfd_autoperiod_fdata, hilbert_transform, sazed,
324 sazed_fdata, AutoperiodCandidate, AutoperiodResult, CfdAutoperiodResult, ChangeDetectionResult,
325 ChangePoint, ChangeType, DetectedPeriod, InstantaneousPeriod, Peak, PeakDetectionResult,
326 PeriodEstimate, SazedComponents, SazedResult, StrengthMethod,
327};
328
329pub use landmark::{
331 detect_and_register, detect_landmarks, landmark_register, Landmark, LandmarkKind,
332 LandmarkResult,
333};
334
335pub use detrend::{DecomposeResult, StlConfig, StlResult, TrendResult};
337
338pub use simulation::{sim_farma, sim_fvarma, EFunType, EValType, FarmaResult, FvarmaResult};
340
341pub use irreg_fdata::{IrregFdata, KernelType};
343pub use irreg_fdata::{face_covariance, face_trajectory, mface_covariance, MfaceCovResult};
345
346pub use tolerance::{
348 conformal_prediction_band, elastic_conformal_anomaly, elastic_nonconformity,
349 elastic_tolerance_band, elastic_tolerance_band_with_config, equivalence_test,
350 equivalence_test_one_sample, exponential_family_tolerance_band, fpca_tolerance_band,
351 phase_tolerance_band, scb_mean_degras, BandType, ConformalAnomalyConfig,
352 ConformalAnomalyResult, ElasticToleranceBandResult, ElasticToleranceConfig,
353 EquivalenceBootstrap, EquivalenceTestResult, ExponentialFamily, MultiplierDistribution,
354 NonConformityScore, PhaseToleranceBand, ToleranceBand,
355};
356
357pub use inference::{
359 f_perm_test, flm_f_test, flm_gof_test, itp_flm, itp_one_pop, itp_two_pop, mean_scb,
360 oneway_anova_vstat, scb_two_sample_test, t_perm_test, two_sample_mean_test, ItpResult,
361 TestResult, DEFAULT_N_PERM,
362};
363
364pub use fts::{
367 dpca, dpca_reconstruct, fplsr, ftsm, ftsm_forecast, ftsm_forecast_multistep, ftsm_update,
368 functional_acf, functional_difference, functional_pacf, long_run_covariance, spectral_density,
369 stationarity_test, ArModelResult, DpcaReconstruction, DpcaResult, FacfResult, FplsrResult,
370 FtsmForecastResult, FtsmResult, LongRunCovResult, SpectralDensityResult, StationarityResult,
371};
372
373pub use famm::{
375 dense_flmm, fast_fmm, fmm, fmm_predict, fmm_test_fixed, multi_famm, DenseFlmmConfig,
376 DenseFlmmResult, FastFmmConfig, FastFmmResult, FmmResult, FmmTestResult, MultiFammConfig,
377 MultiFammResult,
378};
379
380pub use concurrent_regression::{concurrent_regression, ConcurrentRegrResult};
382
383pub use pace_fpca::{pace_fpca, PaceFpcaConfig, PaceFpcaResult};
385
386pub use fof_regression::{
388 fof_cv, fof_re_regression, fof_regression, predict_fof, predict_fof_re, FofCvResult,
389 FofReConfig, FofReResult, FofResult,
390};
391
392#[allow(deprecated)]
396pub use function_on_scalar::{
397 fanova, fanova_seeded, fosr, fosr_fpc, predict_fosr, FanovaResult, FosrFpcResult, FosrResult,
398};
399pub use function_on_scalar_2d::{fosr_2d, predict_fosr_2d, FosrResult2d, Grid2d};
400
401pub use scalar_on_function::{
403 bootstrap_ci_fregre_lm, bootstrap_ci_functional_logistic, fam, fregre_basis_cv, fregre_cv,
404 fregre_gkam, fregre_gsam, fregre_huber, fregre_l1, fregre_lm, fregre_lm_multi,
405 fregre_lm_multi_cv, fregre_np_cv, fregre_np_from_distances, fregre_np_mixed, fregre_pls,
406 functional_glm, functional_logistic, history_index, model_selection_ncomp,
407 permutation_test_fam, predict_fregre_lm, predict_fregre_lm_multi, predict_fregre_np,
408 predict_fregre_np_from_distances, predict_fregre_pls, predict_fregre_robust,
409 predict_functional_glm, predict_functional_logistic, variable_selection, BootstrapCiResult,
410 FamConfig, FamResult, FregreBasisCvResult, FregreCvResult, FregreLmResult, FregreNpCvResult,
411 FregreNpResult, FregreRobustResult, FunctionalGlmResult, FunctionalLogisticResult, GkamConfig,
412 GkamResult, GlmFamily, GsamConfig, GsamResult, HistoryIndexConfig, HistoryIndexResult,
413 ModelSelectionResult, MultiCvResult, MultiFregreLmResult, PermTestConfig, PermTestResult,
414 PermTestStatistic, PlsRegressionResult, SelectionCriterion, VarSelectConfig, VarSelectPenalty,
415 VarSelectResult,
416};
417
418pub use explain_generic::{
420 generic_ale, generic_anchor, generic_conditional_permutation_importance,
421 generic_counterfactual, generic_domain_selection, generic_friedman_h, generic_lime,
422 generic_pdp, generic_permutation_importance, generic_prototype_criticism, generic_saliency,
423 generic_shap_values, generic_sobol_indices, generic_stability, generic_vif, FpcPredictor,
424 TaskType,
425};
426
427pub use elastic_explain::{elastic_pcr_attribution, ElasticAttributionResult};
429pub use explain::{
430 anchor_explanation, anchor_explanation_logistic, beta_decomposition,
431 beta_decomposition_logistic, calibration_diagnostics, conditional_permutation_importance,
432 conditional_permutation_importance_logistic, conformal_prediction_residuals,
433 counterfactual_logistic, counterfactual_regression, dfbetas_dffits, domain_selection,
434 domain_selection_logistic, expected_calibration_error, explanation_stability,
435 explanation_stability_logistic, fpc_ale, fpc_ale_logistic, fpc_permutation_importance,
436 fpc_permutation_importance_logistic, fpc_shap_values, fpc_shap_values_logistic, fpc_vif,
437 fpc_vif_logistic, friedman_h_statistic, friedman_h_statistic_logistic, functional_pdp,
438 functional_pdp_logistic, functional_saliency, functional_saliency_logistic,
439 influence_diagnostics, lime_explanation, lime_explanation_logistic, loo_cv_press,
440 pointwise_importance, pointwise_importance_logistic, prediction_intervals, prototype_criticism,
441 regression_depth, regression_depth_logistic, significant_regions, significant_regions_from_se,
442 sobol_indices, sobol_indices_logistic, AleResult, AnchorCondition, AnchorResult, AnchorRule,
443 BetaDecomposition, CalibrationDiagnosticsResult, ConditionalPermutationImportanceResult,
444 ConformalPredictionResult, CounterfactualResult, DepthType, DfbetasDffitsResult,
445 DomainSelectionResult, EceResult, FpcPermutationImportance, FpcShapValues, FriedmanHResult,
446 FunctionalPdpResult, FunctionalSaliencyResult, ImportantInterval, InfluenceDiagnostics,
447 LimeResult, LooCvResult, PointwiseImportanceResult, PredictionIntervalResult,
448 PrototypeCriticismResult, RegressionDepthResult, SignificanceDirection, SignificantRegion,
449 SobolIndicesResult, StabilityAnalysisResult, VifResult,
450};
451
452pub use classification::{
454 fclassif_cv, fclassif_cv_with_config, fclassif_dd, fclassif_kernel, fclassif_knn,
455 fclassif_knn_fit, fclassif_lda, fclassif_lda_fit, fclassif_qda, fclassif_qda_fit,
456 kernel_classify_from_distances, knn_classify_from_distances, ClassifCvConfig, ClassifCvResult,
457 ClassifFit, ClassifMethod, ClassifResult,
458};
459
460pub use shapelet::{
462 discover_shapelets, shapelet_classifier_fit, shapelet_distance, shapelet_transform,
463 shapelet_transform_fit, z_normalize_into, z_normalize_window, QualityMeasure, Shapelet,
464 ShapeletClassifier, ShapeletClassifierConfig, ShapeletClassifierFit, ShapeletDiscoveryConfig,
465 ShapeletSet, ShapeletTransformFit,
466};
467
468pub use conformal::{
470 conformal_classif, conformal_elastic_logistic, conformal_elastic_pcr,
471 conformal_elastic_pcr_with_config, conformal_elastic_regression,
472 conformal_elastic_regression_with_config, conformal_fregre_lm, conformal_fregre_np,
473 conformal_generic_classification, conformal_generic_regression, conformal_logistic,
474 cv_conformal_classification, cv_conformal_regression, jackknife_plus_regression,
475 ClassificationScore, ConformalClassificationResult, ConformalConfig, ConformalMethod,
476 ConformalRegressionResult,
477};
478
479pub use gmm::{
481 funhddC_cluster, gmm_cluster, gmm_cluster_with_config, gmm_em, predict_gmm, CovType,
482 FunHddcConfig, FunHddcResult, GmmClusterConfig, GmmClusterResult, GmmResult,
483};
484
485pub use streaming_depth::{
487 FullReferenceState, RollingReference, SortedReferenceState, StreamingBd, StreamingDepth,
488 StreamingFraimanMuniz, StreamingMbd,
489};
490
491pub use fem_smoothing::{
493 assemble_fem_matrices, fem_basis_eval, fem_predict, fem_smooth, fem_smooth_gcv, FemSmoothResult,
494};
495
496pub use smooth_basis::{
498 basis_nbasis_cv, basis_nbasis_cv_with_config, bspline_penalty_matrix, fourier_penalty_matrix,
499 smooth_basis, smooth_basis_aic, smooth_basis_gcv, smooth_basis_gcv_with_config,
500 smooth_monotone, smooth_positive, BasisCriterion, BasisNbasisCvConfig, BasisNbasisCvResult,
501 BasisType, FdPar, SmoothBasisGcvConfig, SmoothBasisResult, SmoothMonotoneResult,
502 SmoothPositiveResult,
503};
504
505pub use elastic_fpca::{
507 horiz_fpca, horiz_fpca_from_alignment, joint_fpca, joint_fpca_from_alignment, vert_fpca,
508 vert_fpca_from_alignment, HorizFpcaResult, JointFpcaResult, VertFpcaResult,
509};
510
511pub use jfpca_model::{jfpca_fit, JfpcaModel, JfpcaTransform};
513
514pub use elastic_pfi::{
516 elastic_pfi, veesa_pipeline, ElasticPfiResult, PfiMetric, VeesaPipelineResult,
517};
518pub use jfpca_model::PrincipalDirections;
519
520pub use elastic_regression::{
522 elastic_logistic, elastic_logistic_with_config, elastic_multinomial, elastic_pcr,
523 elastic_pcr_with_config, elastic_regression, elastic_regression_with_config,
524 predict_elastic_logistic, predict_elastic_multinomial, predict_elastic_regression,
525 predict_scalar_on_shape, scalar_on_shape, ElasticConfig, ElasticLogisticResult,
526 ElasticMultinomialResult, ElasticPcrConfig, ElasticPcrResult, ElasticRegressionResult,
527 IndexMethod, PcaMethod, ScalarOnShapeConfig, ScalarOnShapeResult,
528};
529
530pub use spm::{
532 arl0_ewma_t2, arl0_spe, arl0_t2, arl1_t2, elastic_spm_monitor, elastic_spm_phase1,
533 evaluate_rules, ewma_scores, frcc_monitor, frcc_phase1, hotelling_t2, hotelling_t2_regularized,
534 mf_spm_monitor, mf_spm_phase1, mfpca, nelson_rules, profile_monitor, profile_phase1,
535 select_ncomp, spe_contributions, spe_control_limit, spe_limit_robust,
536 spe_moment_match_diagnostic, spe_multivariate, spe_univariate, spm_amewma_monitor,
537 spm_cusum_monitor, spm_cusum_monitor_with_restart, spm_ewma_monitor, spm_mewma_monitor,
538 spm_monitor, spm_monitor_from_fields, spm_monitor_partial, spm_monitor_partial_batch,
539 spm_phase1, spm_phase1_iterative, t2_contributions, t2_contributions_mfpca, t2_control_limit,
540 t2_limit_robust, t2_pc_contributions, t2_pc_significance, western_electric_rules, AmewmaConfig,
541 AmewmaMonitorResult, ArlConfig, ArlResult, ChartRule, ControlLimit, ControlLimitMethod,
542 CusumConfig, CusumMonitorResult, DomainCompletion, ElasticSpmChart, ElasticSpmConfig,
543 ElasticSpmMonitorResult, EwmaConfig, EwmaMonitorResult, FrccChart, FrccConfig,
544 FrccMonitorResult, IterativePhase1Config, IterativePhase1Result, MewmaConfig,
545 MewmaMonitorResult, MfSpmChart, MfpcaConfig, MfpcaResult, NcompMethod, PartialDomainConfig,
546 PartialMonitorResult, ProfileChart, ProfileMonitorConfig, ProfileMonitorResult, RuleViolation,
547 SpmChart, SpmConfig, SpmMonitorResult,
548};
549
550pub use elastic_changepoint::{
552 elastic_amp_changepoint, elastic_fpca_changepoint, elastic_ph_changepoint, ChangepointResult,
553 ChangepointType, FpcaChangepointMethod,
554};
555
556pub use cv::{
558 classification_metrics, create_folds, create_stratified_folds, cv_fdata, cv_fdata_with_metrics,
559 fold_indices, metric_accuracy, metric_f1, metric_mae, metric_precision, metric_r_squared,
560 metric_recall, metric_rmse, regression_metrics, subset_rows, subset_vec, CvFdataResult,
561 CvMetrics, CvSelectionResult, CvType, MetricFn,
562};
563
564pub use distance::{
566 cross_distance_matrix, euclidean_distance_matrix, l2_distance_matrix, pairwise_distance_matrix,
567};
568
569pub use validation::{
571 validate_dist_mat, validate_fdata, validate_labels, validate_ncomp, validate_response,
572};
573
574pub use smoothing::{
576 aic_smoother, cv_smoother, gcv_smoother, knn_gcv, knn_lcv, optim_bandwidth, CvCriterion,
577 KnnCvResult, OptimBandwidthResult,
578};
579
580pub use regression::{
582 fdata_to_pc_1d, fdata_to_pls_1d, project_scores_generic, FpcaResult, PlsResult,
583};
584pub use autodiff::{diff, directional_derivative, grad, jacobian, Dual, Scalar};
586pub use fpca_variants::{
588 cross_covariance, dynamical_correlation, fpca_der, fsvd, ssvd, FsvdResult,
589};
590#[cfg(feature = "linalg")]
591pub use regression::{ridge_regression_fit, RidgeResult};
592
593pub use coclustering::{
595 co_cluster, co_cluster_select, BlockParams, CoClusterConfig, CoClusterResult,
596 CoClusterSelectResult,
597};
598
599pub use clustering::{
601 calinski_harabasz, calinski_harabasz_from_distances, fuzzy_cmeans_fd, kmeans_fd,
602 silhouette_score, silhouette_score_from_distances, FuzzyCmeansResult, KmeansResult,
603};
604
605pub use kernel_kmeans::{kernel_kmeans_fd, KernelKmeansConfig, KernelKmeansResult};
607
608pub use kshape::{kshape_fd, sbd_kmedoids, KShapeConfig, KShapeResult};
610
611pub use optimal_design::{
613 design_criterion, optimal_design, DesignCriterion, OptDesConfig, OptDesResult, OptimalityKind,
614};
615
616pub use peer::{
618 lpeer, peer, LambdaChoice, LambdaMethod, LpeerResult, PeerConfig, PeerPenalty, PeerResult,
619};
620
621pub use wavelet::regression::{wcr, wnet, WcrConfig, WcrMethod, WcrResult, WnetConfig, WnetResult};
623pub use wavelet::{
624 decompose, decompose_matrix, max_level, reconstruct, BoundaryMode, WaveletCoeffs, WaveletFamily,
625};
626
627pub use clustering_advanced::{
629 align_cluster_fd, dbscan_fd, funfem_cluster, kcfc_cluster, AlignClusterConfig,
630 AlignClusterResult, DbscanConfig, DbscanResult, FunFemConfig, FunFemResult, KcfcConfig,
631 KcfcResult,
632};
633
634pub use metric::{
636 dtw_cross_1d, dtw_distance, dtw_self_1d, fourier_cross_1d, fourier_self_1d, gak,
637 gak_gram_matrix, gak_gram_predict, gak_gram_train, hausdorff_3d, hausdorff_cross_1d,
638 hausdorff_cross_2d, hausdorff_self_1d, hausdorff_self_2d, hshift_cross_1d, hshift_self_1d,
639 lp_cross_1d, lp_cross_2d, lp_self_1d, lp_self_2d, sbd, sbd_distance_matrix, sigma_gak,
640 soft_dtw_barycenter, soft_dtw_cross_1d, soft_dtw_distance, soft_dtw_distance_generic,
641 soft_dtw_div_cross_1d, soft_dtw_div_self_1d, soft_dtw_divergence, soft_dtw_self_1d, GakConfig,
642 GakGramTrain, SbdResult, SoftDtwBarycenterResult,
643};
644
645pub use dim::Dim;
648
649#[allow(deprecated)]
652pub use depth::{
653 band_1d, epigraph_index_1d, extremal_depth_1d, extreme_rank_length_depth_1d, fraiman_muniz,
654 fraiman_muniz_1d, fraiman_muniz_2d, functional_boxplot, functional_depth,
655 functional_spatial_1d, functional_spatial_2d, half_region_depth_1d, hypograph_index_1d,
656 kernel_functional_spatial_1d, kernel_functional_spatial_2d, linfinity_depth_1d, modal,
657 modal_1d, modal_2d, modified_band_1d, modified_epigraph_index_1d,
658 modified_half_region_depth_1d, modified_hypograph_index_1d, random_projection,
659 random_projection_1d, random_projection_1d_seeded, random_projection_2d, random_tukey,
660 random_tukey_1d, random_tukey_1d_seeded, random_tukey_2d, total_variation_depth_1d,
661 DepthMethod, FunctionalBoxplotResult, TvdMssResult,
662};
663
664pub use outliers::{
666 depthgram, detect_outliers_lrt, magnitude_shape_outlyingness, muod, outliergram,
667 outliers_threshold_lrt, outliers_threshold_lrt_with_dist, sequential_transform_outliers,
668 tvdmss, DepthgramConfig, DepthgramResult, MagnitudeShapeResult, MuodConfig, MuodResult,
669 OutligramResult, SeqTransform, SeqTransformConfig, SeqTransformOutliers, TvdMssConfig,
670 TvdMssOutliers,
671};
672
673pub use utility::{
675 compute_adot, inner_product, inner_product_matrix, integrate_simpson, knn_loocv, knn_predict,
676 pcvm_statistic, rp_stat, RpStatResult,
677};
678
679#[allow(deprecated)]
682pub use fdata::{
683 center_1d, depth_based_median, deriv_1d, deriv_2d, functional_covariance, functional_std,
684 functional_variance, geometric_median_1d, geometric_median_2d, mean, mean_1d, mean_2d,
685 norm_lp_1d, normalize, normalize_with_argvals, trim_mean, Deriv2DResult, NormalizationMethod,
686};
687
688pub use basis::{
690 basis_to_fdata, basis_to_fdata_1d, bspline_basis, bspline_basis_from_knots, constant_basis,
691 construct_bspline_knots, difference_matrix, exponential_basis, fdata_to_basis,
692 fdata_to_basis_1d, fourier_basis, fourier_basis_with_period, fourier_fit_1d, monomial_basis,
693 polygonal_basis, power_basis, pspline_evaluate, pspline_fit_1d, pspline_fit_gcv,
694 select_basis_auto_1d, select_fourier_nbasis_gcv, BasisAutoSelectionResult,
695 BasisProjectionResult, BasisSystem, FourierFitResult, ProjectionBasisType, PsplineFitResult,
696 SingleCurveSelection,
697};
698
699pub use scoring::{
701 functional_explained_variance, functional_mae, functional_mape, functional_mse, functional_msle,
702};
703
704pub use boosting_regression::{
706 bayesian_fosr, boost_fofr, boost_fosr, gamlss_fosr, stability_selection, BayesianConfig,
707 BayesianFosrResult, BoostFofrResult, BoostFosrResult, BoostingConfig, GamlssResult,
708 StabilityConfig, StabilityResult,
709};