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