1#![allow(clippy::needless_range_loop)]
27#![allow(clippy::too_many_arguments)]
28#![allow(clippy::type_complexity)]
29
30pub mod error;
31pub(crate) mod linalg;
32pub mod matrix;
33pub mod parallel;
34
35pub use error::FdarError;
36
37pub mod alignment;
38pub mod basis;
39pub mod classification;
40pub mod clustering;
41pub mod cv;
42pub mod depth;
43pub mod detrend;
44pub mod famm;
45pub mod fdata;
46pub mod function_on_scalar;
47pub mod function_on_scalar_2d;
48pub mod gmm;
49pub mod helpers;
50pub mod irreg_fdata;
51pub mod landmark;
52pub mod metric;
53pub mod outliers;
54pub mod regression;
55pub mod scalar_on_function;
56pub mod seasonal;
57pub mod simulation;
58pub mod smoothing;
59pub mod streaming_depth;
60pub mod tolerance;
61pub mod utility;
62pub mod warping;
63
64pub mod conformal;
66pub mod elastic;
67pub mod elastic_changepoint;
68pub mod elastic_explain;
69pub mod elastic_fpca;
70pub mod elastic_regression;
71pub mod explain;
72pub mod explain_generic;
73pub mod prelude;
74pub mod smooth_basis;
75
76pub use matrix::{FdCurveSet, FdMatrix};
78
79pub use alignment::{
81 align_to_target, alignment_quality, amplitude_distance, amplitude_self_distance_matrix,
82 compose_warps, elastic_align_pair, elastic_align_pair_constrained, elastic_align_pair_nd,
83 elastic_align_pair_with_landmarks, elastic_cross_distance_matrix, elastic_decomposition,
84 elastic_distance, elastic_distance_nd, elastic_self_distance_matrix, karcher_mean,
85 pairwise_consistency, phase_distance_pair, phase_self_distance_matrix, reparameterize_curve,
86 srsf_inverse, srsf_inverse_nd, srsf_transform, srsf_transform_nd, tsrvf_from_alignment,
87 tsrvf_from_alignment_with_method, tsrvf_inverse, tsrvf_transform, tsrvf_transform_with_method,
88 warp_complexity, warp_smoothness, AlignmentQuality, AlignmentResult, AlignmentResultNd,
89 AlignmentSetResult, ConstrainedAlignmentResult, DecompositionResult, KarcherMeanResult,
90 TransportMethod, TsrvfResult,
91};
92
93pub use helpers::{
95 cumulative_trapz, extract_curves, gradient, gradient_nonuniform, gradient_uniform, l2_distance,
96 linear_interp, simpsons_weights, simpsons_weights_2d, trapz, DEFAULT_CONVERGENCE_TOL,
97 NUMERICAL_EPS,
98};
99
100pub use warping::{
102 exp_map_sphere, gam_to_psi, gam_to_psi_smooth, inner_product_l2, inv_exp_map_sphere,
103 invert_gamma, l2_norm_l2, normalize_warp, phase_distance, psi_to_gam,
104};
105
106pub use seasonal::{
108 autoperiod, autoperiod_fdata, cfd_autoperiod, cfd_autoperiod_fdata, hilbert_transform, sazed,
109 sazed_fdata, AutoperiodCandidate, AutoperiodResult, CfdAutoperiodResult, ChangeDetectionResult,
110 ChangePoint, ChangeType, DetectedPeriod, InstantaneousPeriod, Peak, PeakDetectionResult,
111 PeriodEstimate, SazedComponents, SazedResult, StrengthMethod,
112};
113
114pub use landmark::{
116 detect_and_register, detect_landmarks, landmark_register, Landmark, LandmarkKind,
117 LandmarkResult,
118};
119
120pub use detrend::{DecomposeResult, StlConfig, StlResult, TrendResult};
122
123pub use simulation::{EFunType, EValType};
125
126pub use irreg_fdata::{IrregFdata, KernelType};
128
129pub use tolerance::{
131 conformal_prediction_band, elastic_tolerance_band, equivalence_test,
132 equivalence_test_one_sample, exponential_family_tolerance_band, fpca_tolerance_band,
133 scb_mean_degras, BandType, EquivalenceBootstrap, EquivalenceTestResult, ExponentialFamily,
134 MultiplierDistribution, NonConformityScore, ToleranceBand,
135};
136
137pub use famm::{fmm, fmm_predict, fmm_test_fixed, FmmResult, FmmTestResult};
139
140pub use function_on_scalar::{
142 fanova, fosr, fosr_fpc, predict_fosr, FanovaResult, FosrFpcResult, FosrResult,
143};
144pub use function_on_scalar_2d::{fosr_2d, predict_fosr_2d, FosrResult2d, Grid2d};
145
146pub use scalar_on_function::{
148 bootstrap_ci_fregre_lm, bootstrap_ci_functional_logistic, fregre_basis_cv, fregre_cv,
149 fregre_lm, fregre_np_cv, fregre_np_mixed, functional_logistic, model_selection_ncomp,
150 predict_fregre_lm, predict_fregre_np, predict_functional_logistic, BootstrapCiResult,
151 FregreBasisCvResult, FregreCvResult, FregreLmResult, FregreNpCvResult, FregreNpResult,
152 FunctionalLogisticResult, ModelSelectionResult, SelectionCriterion,
153};
154
155pub use explain_generic::{
157 generic_ale, generic_anchor, generic_conditional_permutation_importance,
158 generic_counterfactual, generic_domain_selection, generic_friedman_h, generic_lime,
159 generic_pdp, generic_permutation_importance, generic_prototype_criticism, generic_saliency,
160 generic_shap_values, generic_sobol_indices, generic_stability, generic_vif, FpcPredictor,
161 TaskType,
162};
163
164pub use elastic_explain::{elastic_pcr_attribution, ElasticAttributionResult};
166pub use explain::{
167 anchor_explanation, anchor_explanation_logistic, beta_decomposition,
168 beta_decomposition_logistic, calibration_diagnostics, conditional_permutation_importance,
169 conditional_permutation_importance_logistic, conformal_prediction_residuals,
170 counterfactual_logistic, counterfactual_regression, dfbetas_dffits, domain_selection,
171 domain_selection_logistic, expected_calibration_error, explanation_stability,
172 explanation_stability_logistic, fpc_ale, fpc_ale_logistic, fpc_permutation_importance,
173 fpc_permutation_importance_logistic, fpc_shap_values, fpc_shap_values_logistic, fpc_vif,
174 fpc_vif_logistic, friedman_h_statistic, friedman_h_statistic_logistic, functional_pdp,
175 functional_pdp_logistic, functional_saliency, functional_saliency_logistic,
176 influence_diagnostics, lime_explanation, lime_explanation_logistic, loo_cv_press,
177 pointwise_importance, pointwise_importance_logistic, prediction_intervals, prototype_criticism,
178 regression_depth, regression_depth_logistic, significant_regions, significant_regions_from_se,
179 sobol_indices, sobol_indices_logistic, AleResult, AnchorCondition, AnchorResult, AnchorRule,
180 BetaDecomposition, CalibrationDiagnosticsResult, ConditionalPermutationImportanceResult,
181 ConformalPredictionResult, CounterfactualResult, DepthType, DfbetasDffitsResult,
182 DomainSelectionResult, EceResult, FpcPermutationImportance, FpcShapValues, FriedmanHResult,
183 FunctionalPdpResult, FunctionalSaliencyResult, ImportantInterval, InfluenceDiagnostics,
184 LimeResult, LooCvResult, PointwiseImportanceResult, PredictionIntervalResult,
185 PrototypeCriticismResult, RegressionDepthResult, SignificanceDirection, SignificantRegion,
186 SobolIndicesResult, StabilityAnalysisResult, VifResult,
187};
188
189pub use classification::{
191 fclassif_cv, fclassif_cv_with_config, fclassif_dd, fclassif_kernel, fclassif_knn,
192 fclassif_knn_fit, fclassif_lda, fclassif_lda_fit, fclassif_qda, fclassif_qda_fit,
193 ClassifCvConfig, ClassifCvResult, ClassifFit, ClassifMethod, ClassifResult,
194};
195
196pub use conformal::{
198 conformal_classif, conformal_elastic_logistic, conformal_elastic_pcr,
199 conformal_elastic_pcr_with_config, conformal_elastic_regression,
200 conformal_elastic_regression_with_config, conformal_fregre_lm, conformal_fregre_np,
201 conformal_generic_classification, conformal_generic_regression, conformal_logistic,
202 cv_conformal_classification, cv_conformal_regression, jackknife_plus_regression,
203 ClassificationScore, ConformalClassificationResult, ConformalConfig, ConformalMethod,
204 ConformalRegressionResult,
205};
206
207pub use gmm::{
209 gmm_cluster, gmm_cluster_with_config, gmm_em, predict_gmm, CovType, GmmClusterConfig,
210 GmmClusterResult, GmmResult,
211};
212
213pub use streaming_depth::{
215 FullReferenceState, RollingReference, SortedReferenceState, StreamingBd, StreamingDepth,
216 StreamingFraimanMuniz, StreamingMbd,
217};
218
219pub use smooth_basis::{
221 basis_nbasis_cv, bspline_penalty_matrix, fourier_penalty_matrix, smooth_basis,
222 smooth_basis_gcv, BasisCriterion, BasisNbasisCvResult, BasisType, FdPar, SmoothBasisResult,
223};
224
225pub use elastic_fpca::{
227 horiz_fpca, joint_fpca, vert_fpca, HorizFpcaResult, JointFpcaResult, VertFpcaResult,
228};
229
230pub use elastic_regression::{
232 elastic_logistic, elastic_logistic_with_config, elastic_pcr, elastic_pcr_with_config,
233 elastic_regression, elastic_regression_with_config, predict_elastic_logistic,
234 predict_elastic_regression, ElasticConfig, ElasticLogisticResult, ElasticPcrConfig,
235 ElasticPcrResult, ElasticRegressionResult, PcaMethod,
236};
237
238pub use elastic_changepoint::{
240 elastic_amp_changepoint, elastic_fpca_changepoint, elastic_ph_changepoint, ChangepointResult,
241 ChangepointType, FpcaChangepointMethod,
242};
243
244pub use cv::{
246 create_folds, create_stratified_folds, cv_fdata, fold_indices, subset_rows, subset_vec,
247 CvFdataResult, CvMetrics, CvType,
248};
249
250pub use smoothing::{
252 cv_smoother, gcv_smoother, knn_gcv, knn_lcv, optim_bandwidth, CvCriterion, KnnCvResult,
253 OptimBandwidthResult,
254};
255
256pub use regression::{fdata_to_pc_1d, fdata_to_pls_1d, FpcaResult, PlsResult};
258#[cfg(feature = "linalg")]
259pub use regression::{ridge_regression_fit, RidgeResult};
260
261pub use clustering::{
263 calinski_harabasz, fuzzy_cmeans_fd, kmeans_fd, silhouette_score, FuzzyCmeansResult,
264 KmeansResult,
265};
266
267pub use metric::{
269 dtw_cross_1d, dtw_distance, dtw_self_1d, fourier_cross_1d, fourier_self_1d, hausdorff_3d,
270 hausdorff_cross_1d, hausdorff_cross_2d, hausdorff_self_1d, hausdorff_self_2d, hshift_cross_1d,
271 hshift_self_1d, lp_cross_1d, lp_cross_2d, lp_self_1d, lp_self_2d, soft_dtw_barycenter,
272 soft_dtw_cross_1d, soft_dtw_distance, soft_dtw_div_cross_1d, soft_dtw_div_self_1d,
273 soft_dtw_divergence, soft_dtw_self_1d, SoftDtwBarycenterResult,
274};
275
276pub use depth::{
278 band_1d, fraiman_muniz_1d, fraiman_muniz_2d, functional_spatial_1d, functional_spatial_2d,
279 kernel_functional_spatial_1d, kernel_functional_spatial_2d, modal_1d, modal_2d,
280 modified_band_1d, modified_epigraph_index_1d, random_projection_1d,
281 random_projection_1d_seeded, random_projection_2d, random_tukey_1d, random_tukey_1d_seeded,
282 random_tukey_2d,
283};
284
285pub use outliers::{detect_outliers_lrt, outliers_threshold_lrt, outliers_threshold_lrt_with_dist};
287
288pub use utility::{
290 compute_adot, inner_product, inner_product_matrix, integrate_simpson, knn_loocv, knn_predict,
291 pcvm_statistic, rp_stat, RpStatResult,
292};
293
294pub use fdata::{
296 center_1d, deriv_1d, deriv_2d, geometric_median_1d, geometric_median_2d, mean_1d, mean_2d,
297 norm_lp_1d, Deriv2DResult,
298};
299
300pub use basis::{
302 basis_to_fdata, basis_to_fdata_1d, bspline_basis, difference_matrix, fdata_to_basis,
303 fdata_to_basis_1d, fourier_basis, fourier_basis_with_period, fourier_fit_1d, pspline_fit_1d,
304 select_basis_auto_1d, select_fourier_nbasis_gcv, BasisAutoSelectionResult,
305 BasisProjectionResult, FourierFitResult, ProjectionBasisType, PsplineFitResult,
306 SingleCurveSelection,
307};