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(crate) 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
392pub use function_on_scalar::{
394 fanova_seeded, fosr, fosr_fpc, predict_fosr, FanovaResult, FosrFpcResult, FosrResult,
395};
396pub use function_on_scalar_2d::{fosr_2d, predict_fosr_2d, Fosr2dResult, Grid2d};
397
398pub use scalar_on_function::{
400 bootstrap_ci_fregre_lm, bootstrap_ci_functional_logistic, fam, fregre_basis_cv, fregre_cv,
401 fregre_gkam, fregre_gsam, fregre_huber, fregre_l1, fregre_lm, fregre_lm_multi,
402 fregre_lm_multi_cv, fregre_np_cv, fregre_np_from_distances, fregre_np_mixed, fregre_pls,
403 functional_glm, functional_logistic, history_index, model_selection_ncomp,
404 permutation_test_fam, predict_fregre_lm, predict_fregre_lm_multi, predict_fregre_np,
405 predict_fregre_np_from_distances, predict_fregre_pls, predict_fregre_robust,
406 predict_functional_glm, predict_functional_logistic, variable_selection, BootstrapCiResult,
407 FamConfig, FamResult, FregreBasisCvResult, FregreCvResult, FregreLmResult, FregreNpCvResult,
408 FregreNpResult, FregreRobustResult, FunctionalGlmResult, FunctionalLogisticResult, GkamConfig,
409 GkamResult, GlmFamily, GsamConfig, GsamResult, HistoryIndexConfig, HistoryIndexResult,
410 ModelSelectionResult, MultiCvResult, MultiFregreLmResult, PermTestConfig, PermTestResult,
411 PermTestStatistic, PlsRegressionResult, SelectionCriterion, VarSelectConfig, VarSelectPenalty,
412 VarSelectResult,
413};
414
415pub use explain_generic::{
417 generic_ale, generic_anchor, generic_conditional_permutation_importance,
418 generic_counterfactual, generic_domain_selection, generic_friedman_h, generic_lime,
419 generic_pdp, generic_permutation_importance, generic_prototype_criticism, generic_saliency,
420 generic_shap_values, generic_sobol_indices, generic_stability, generic_vif, FpcPredictor,
421 TaskType,
422};
423
424pub use elastic_explain::{elastic_pcr_attribution, ElasticAttributionResult};
426pub use explain::{
427 anchor_explanation, anchor_explanation_logistic, beta_decomposition,
428 beta_decomposition_logistic, calibration_diagnostics, conditional_permutation_importance,
429 conditional_permutation_importance_logistic, conformal_prediction_residuals,
430 counterfactual_logistic, counterfactual_regression, dfbetas_dffits, domain_selection,
431 domain_selection_logistic, expected_calibration_error, explanation_stability,
432 explanation_stability_logistic, fpc_ale, fpc_ale_logistic, fpc_permutation_importance,
433 fpc_permutation_importance_logistic, fpc_shap_values, fpc_shap_values_logistic, fpc_vif,
434 fpc_vif_logistic, friedman_h_statistic, friedman_h_statistic_logistic, functional_pdp,
435 functional_pdp_logistic, functional_saliency, functional_saliency_logistic,
436 influence_diagnostics, lime_explanation, lime_explanation_logistic, loo_cv_press,
437 pointwise_importance, pointwise_importance_logistic, prediction_intervals, prototype_criticism,
438 regression_depth, regression_depth_logistic, significant_regions, significant_regions_from_se,
439 sobol_indices, sobol_indices_logistic, AleResult, AnchorCondition, AnchorResult, AnchorRule,
440 BetaDecomposition, CalibrationDiagnosticsResult, ConditionalPermutationImportanceResult,
441 ConformalPredictionResult, CounterfactualResult, DepthType, DfbetasDffitsResult,
442 DomainSelectionResult, EceResult, FpcPermutationImportance, FpcShapValues, FriedmanHResult,
443 FunctionalPdpResult, FunctionalSaliencyResult, ImportantInterval, InfluenceDiagnostics,
444 LimeResult, LooCvResult, PointwiseImportanceResult, PredictionIntervalResult,
445 PrototypeCriticismResult, RegressionDepthResult, SignificanceDirection, SignificantRegion,
446 SobolIndicesResult, StabilityAnalysisResult, VifResult,
447};
448
449pub use classification::{
451 fclassif_cv, fclassif_cv_with_config, fclassif_dd, fclassif_kernel, fclassif_knn,
452 fclassif_knn_fit, fclassif_lda, fclassif_lda_fit, fclassif_qda, fclassif_qda_fit,
453 kernel_classify_from_distances, knn_classify_from_distances, ClassifCvConfig, ClassifCvResult,
454 ClassifFit, ClassifMethod, ClassifResult,
455};
456
457pub use shapelet::{
459 discover_shapelets, shapelet_classifier_fit, shapelet_distance, shapelet_transform,
460 shapelet_transform_fit, z_normalize_into, z_normalize_window, QualityMeasure, Shapelet,
461 ShapeletClassifier, ShapeletClassifierConfig, ShapeletClassifierFit, ShapeletDiscoveryConfig,
462 ShapeletSet, ShapeletTransformFit,
463};
464
465pub use conformal::{
467 conformal_classif, conformal_elastic_logistic, conformal_elastic_pcr,
468 conformal_elastic_pcr_with_config, conformal_elastic_regression,
469 conformal_elastic_regression_with_config, conformal_fregre_lm, conformal_fregre_np,
470 conformal_generic_classification, conformal_generic_regression, conformal_logistic,
471 cv_conformal_classification, cv_conformal_regression, jackknife_plus_regression,
472 ClassificationScore, ConformalClassificationResult, ConformalConfig, ConformalMethod,
473 ConformalRegressionResult,
474};
475
476pub use gmm::{
478 fun_hddc_cluster, gmm_cluster, gmm_cluster_with_config, gmm_em, predict_gmm, CovType,
479 FunHddcConfig, FunHddcResult, GmmClusterConfig, GmmClusterResult, GmmFitResult,
480};
481
482pub use streaming_depth::{
484 FullReferenceState, RollingReference, SortedReferenceState, StreamingBd, StreamingDepth,
485 StreamingFraimanMuniz, StreamingMbd,
486};
487
488pub use fem_smoothing::{
490 assemble_fem_matrices, fem_basis_eval, fem_predict, fem_smooth, fem_smooth_gcv, FemSmoothResult,
491};
492
493pub use smooth_basis::{
495 basis_nbasis_cv, basis_nbasis_cv_with_config, bspline_penalty_matrix, fourier_penalty_matrix,
496 smooth_basis, smooth_basis_aic, smooth_basis_gcv, smooth_basis_gcv_with_config,
497 smooth_monotone, smooth_positive, BasisCriterion, BasisNbasisCvConfig, BasisNbasisCvResult,
498 BasisType, FdPar, SmoothBasisGcvConfig, SmoothBasisResult, SmoothMonotoneResult,
499 SmoothPositiveResult,
500};
501
502pub use elastic_fpca::{
504 horiz_fpca, horiz_fpca_from_alignment, joint_fpca, joint_fpca_from_alignment, vert_fpca,
505 vert_fpca_from_alignment, HorizFpcaResult, JointFpcaResult, VertFpcaResult,
506};
507
508pub use jfpca_model::{jfpca_fit, JfpcaModel, JfpcaTransform};
510
511pub use elastic_pfi::{
513 elastic_pfi, veesa_pipeline, ElasticPfiResult, PfiMetric, VeesaPipelineResult,
514};
515pub use jfpca_model::PrincipalDirections;
516
517pub use elastic_regression::{
519 elastic_logistic, elastic_logistic_with_config, elastic_multinomial, elastic_pcr,
520 elastic_pcr_with_config, elastic_regression, elastic_regression_with_config,
521 predict_elastic_logistic, predict_elastic_multinomial, predict_elastic_regression,
522 predict_scalar_on_shape, scalar_on_shape, ElasticConfig, ElasticLogisticResult,
523 ElasticMultinomialResult, ElasticPcrConfig, ElasticPcrResult, ElasticRegressionResult,
524 IndexMethod, PcaMethod, ScalarOnShapeConfig, ScalarOnShapeResult,
525};
526
527pub use spm::{
529 arl0_ewma_t2, arl0_spe, arl0_t2, arl1_t2, elastic_spm_monitor, elastic_spm_phase1,
530 evaluate_rules, ewma_scores, frcc_monitor, frcc_phase1, hotelling_t2, hotelling_t2_regularized,
531 mf_spm_monitor, mf_spm_phase1, mfpca, nelson_rules, profile_monitor, profile_phase1,
532 select_ncomp, spe_contributions, spe_control_limit, spe_limit_robust,
533 spe_moment_match_diagnostic, spe_multivariate, spe_univariate, spm_amewma_monitor,
534 spm_cusum_monitor, spm_cusum_monitor_with_restart, spm_ewma_monitor, spm_mewma_monitor,
535 spm_monitor, spm_monitor_from_fields, spm_monitor_partial, spm_monitor_partial_batch,
536 spm_phase1, spm_phase1_iterative, t2_contributions, t2_contributions_mfpca, t2_control_limit,
537 t2_limit_robust, t2_pc_contributions, t2_pc_significance, western_electric_rules, AmewmaConfig,
538 AmewmaMonitorResult, ArlConfig, ArlResult, ChartRule, ControlLimit, ControlLimitMethod,
539 CusumConfig, CusumMonitorResult, DomainCompletion, ElasticSpmChart, ElasticSpmConfig,
540 ElasticSpmMonitorResult, EwmaConfig, EwmaMonitorResult, FrccChart, FrccConfig,
541 FrccMonitorResult, IterativePhase1Config, IterativePhase1Result, MewmaConfig,
542 MewmaMonitorResult, MfSpmChart, MfpcaConfig, MfpcaResult, NcompMethod, PartialDomainConfig,
543 PartialMonitorResult, ProfileChart, ProfileMonitorConfig, ProfileMonitorResult, RuleViolation,
544 SpmChart, SpmConfig, SpmMonitorResult,
545};
546
547pub use elastic_changepoint::{
549 elastic_amp_changepoint, elastic_fpca_changepoint, elastic_ph_changepoint, ChangepointResult,
550 ChangepointType, FpcaChangepointMethod,
551};
552
553pub use cv::{
555 classification_metrics, create_folds, create_stratified_folds, cv_fdata, cv_fdata_with_metrics,
556 fold_indices, metric_accuracy, metric_f1, metric_mae, metric_precision, metric_r_squared,
557 metric_recall, metric_rmse, regression_metrics, subset_rows, subset_vec, CvFdataResult,
558 CvMetrics, CvSelectionResult, CvType, MetricFn,
559};
560
561pub use distance::{
563 cross_distance_matrix, euclidean_distance_matrix, l2_distance_matrix, pairwise_distance_matrix,
564};
565
566pub use validation::{
568 validate_dist_mat, validate_fdata, validate_labels, validate_ncomp, validate_response,
569};
570
571pub use smoothing::{
573 aic_smoother, cv_smoother, gcv_smoother, knn_gcv, knn_lcv, optim_bandwidth, CvCriterion,
574 KnnCvResult, OptimBandwidthResult,
575};
576
577pub use regression::{fdata_to_pc, fdata_to_pls, project_scores_generic, FpcaResult, PlsResult};
579pub use autodiff::{diff, directional_derivative, grad, jacobian, Dual, Scalar};
581pub use fpca_variants::{
583 cross_covariance, dynamical_correlation, fpca_der, fsvd, ssvd, FsvdResult,
584};
585#[cfg(feature = "linalg")]
586pub use regression::{ridge_regression_fit, RidgeResult};
587
588pub use coclustering::{
590 co_cluster, co_cluster_select, BlockParams, CoClusterConfig, CoClusterResult,
591 CoClusterSelectResult,
592};
593
594pub use clustering::{
596 calinski_harabasz, calinski_harabasz_from_distances, fuzzy_cmeans_fd, kmeans_fd,
597 silhouette_score, silhouette_score_from_distances, FuzzyCmeansResult, KmeansResult,
598};
599
600pub use kernel_kmeans::{kernel_kmeans_fd, KernelKmeansConfig, KernelKmeansResult};
602
603pub use kshape::{kshape_fd, sbd_kmedoids, KShapeConfig, KShapeResult};
605
606pub use optimal_design::{
608 design_criterion, optimal_design, DesignCriterion, OptDesConfig, OptDesResult, OptimalityKind,
609};
610
611pub use peer::{
613 lpeer, peer, LambdaChoice, LambdaMethod, LocalPeerResult, PeerConfig, PeerPenalty, PeerResult,
614};
615
616pub use wavelet::regression::{wcr, wnet, WcrConfig, WcrMethod, WcrResult, WnetConfig, WnetResult};
618pub use wavelet::{
619 decompose, decompose_matrix, max_level, reconstruct, BoundaryMode, WaveletCoeffs, WaveletFamily,
620};
621
622pub use clustering_advanced::{
624 align_cluster_fd, dbscan_fd, funfem_cluster, kcfc_cluster, AlignClusterConfig,
625 AlignClusterResult, DbscanConfig, DbscanResult, FunFemConfig, FunFemResult, KcfcConfig,
626 KcfcResult,
627};
628
629pub use metric::{
631 basis_coef_cross, basis_coef_self, deriv_cross, deriv_self, dtw_cross, dtw_distance, dtw_self,
632 fourier_cross, fourier_self, gak, gak_gram_matrix, gak_gram_predict, gak_gram_train,
633 hausdorff_3d, hausdorff_cross, hausdorff_self, hshift_cross, hshift_self, kl_cross, kl_self,
634 lp_cross, lp_self, pca_cross, pca_self, sbd, sbd_distance_matrix, sigma_gak,
635 soft_dtw_barycenter, soft_dtw_cross, soft_dtw_distance, soft_dtw_distance_generic,
636 soft_dtw_div_cross, soft_dtw_div_self, soft_dtw_divergence, soft_dtw_self, GakConfig,
637 GakGramTrain, LpDomain, SbdResult, SoftDtwBarycenterResult,
638};
639
640pub use dim::Dim;
643
644pub use depth::{
645 band, epigraph_index, extremal_depth, extreme_rank_length_depth, fraiman_muniz,
646 functional_boxplot, functional_depth, functional_spatial, half_region_depth, hypograph_index,
647 kernel_functional_spatial, linfinity_depth, modal, modified_band, modified_epigraph_index,
648 modified_half_region_depth, modified_hypograph_index, random_projection,
649 random_projection_1d_seeded, random_tukey, random_tukey_1d_seeded, rpd_depth,
650 total_variation_depth, DepthMethod, FunctionalBoxplotResult, TvdMssResult,
651};
652
653pub use outliers::{
655 depthgram, detect_outliers_lrt, magnitude_shape_outlyingness, muod, outliergram,
656 outliers_threshold_lrt, outliers_threshold_lrt_with_dist, sequential_transform_outliers,
657 tvdmss, DepthgramConfig, DepthgramResult, MagnitudeShapeResult, MuodConfig, MuodResult,
658 OutligramResult, SeqTransform, SeqTransformConfig, SeqTransformOutliers, TvdMssConfig,
659 TvdMssOutliers,
660};
661
662pub use utility::{
664 compute_adot, inner_product, inner_product_matrix, integrate_simpson, knn_loocv, knn_predict,
665 pcvm_statistic, rp_stat, RpStatResult,
666};
667
668pub use fdata::{
670 center, depth_based_median, deriv, functional_covariance, functional_std, functional_variance,
671 geometric_median, mean, norm_lp, normalize, normalize_with_argvals, trim_mean, Deriv2DResult,
672 DerivDomain, DerivResult, NormalizationMethod,
673};
674
675pub use basis::{
677 basis_to_fdata, basis_to_fdata_1d, bspline_basis, bspline_basis_from_knots, constant_basis,
678 construct_bspline_knots, difference_matrix, exponential_basis, fdata_to_basis,
679 fdata_to_basis_1d, fourier_basis, fourier_basis_with_period, fourier_fit, monomial_basis,
680 polygonal_basis, power_basis, pspline_evaluate, pspline_fit, pspline_fit_gcv,
681 select_basis_auto, select_fourier_nbasis_gcv, BasisAutoSelectionResult, BasisProjectionResult,
682 BasisSystem, FourierFitResult, ProjectionBasisType, PsplineFitResult, SingleCurveSelection,
683};
684
685pub use scoring::{
687 functional_explained_variance, functional_mae, functional_mape, functional_mse, functional_msle,
688};
689
690pub use boosting_regression::{
692 bayesian_fosr, boost_fofr, boost_fosr, gamlss_fosr, stability_selection, BayesianConfig,
693 BayesianFosrResult, BoostFofrResult, BoostFosrResult, BoostingConfig, GamlssResult,
694 StabilityConfig, StabilityResult,
695};