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
37#[cfg(test)]
38pub(crate) mod test_helpers;
39
40pub mod alignment;
41pub mod andrews;
42pub mod basis;
43pub mod classification;
44pub mod clustering;
45pub mod cv;
46pub mod depth;
47pub mod detrend;
48pub mod famm;
49pub mod fdata;
50pub mod function_on_scalar;
51pub mod function_on_scalar_2d;
52pub mod gmm;
53pub mod helpers;
54pub mod irreg_fdata;
55pub mod landmark;
56pub mod metric;
57pub mod outliers;
58pub mod regression;
59pub mod scalar_on_function;
60pub mod seasonal;
61pub mod simulation;
62pub mod smoothing;
63pub mod streaming_depth;
64pub mod tolerance;
65pub mod utility;
66pub mod warping;
67
68pub mod covariance;
70
71pub mod spm;
73
74pub mod conformal;
76pub mod elastic;
77pub mod elastic_changepoint;
78pub mod elastic_explain;
79pub mod elastic_fpca;
80pub mod elastic_regression;
81pub mod explain;
82pub mod explain_generic;
83pub mod prelude;
84pub mod smooth_basis;
85
86pub use matrix::{FdCurveSet, FdMatrix};
88
89pub use andrews::{andrews_loadings, andrews_transform, AndrewsLoadings, AndrewsResult};
91
92pub use covariance::{
94 covariance_matrix, generate_gaussian_process, CovKernel, GaussianProcessResult,
95};
96
97pub use alignment::{
99 align_to_target, alignment_quality, amplitude_distance, amplitude_self_distance_matrix,
100 bayesian_align_pair, compose_warps, curve_geodesic, curve_geodesic_nd, cut_dendrogram,
101 diagnose_alignment, diagnose_pairwise, elastic_align_pair, elastic_align_pair_closed,
102 elastic_align_pair_constrained, elastic_align_pair_multires, elastic_align_pair_nd,
103 elastic_align_pair_penalized, elastic_align_pair_with_landmarks, elastic_cross_distance_matrix,
104 elastic_decomposition, elastic_depth, elastic_distance, elastic_distance_closed,
105 elastic_distance_nd, elastic_hierarchical, elastic_kmeans, elastic_outlier_detection,
106 elastic_partial_match, elastic_self_distance_matrix, gauss_model, horiz_fpns, invert_warp,
107 joint_gauss_model, karcher_covariance_nd, karcher_mean, karcher_mean_closed, karcher_mean_nd,
108 karcher_median, lambda_cv, orbit_representative, pairwise_consistency, pca_nd,
109 peak_persistence, phase_boxplot, phase_distance_pair, phase_self_distance_matrix,
110 reparameterize_curve, robust_karcher_mean, shape_confidence_interval, shape_distance,
111 shape_mean, shape_self_distance_matrix, srsf_inverse, srsf_inverse_nd, srsf_transform,
112 srsf_transform_nd, transfer_alignment, tsrvf_from_alignment, tsrvf_from_alignment_with_method,
113 tsrvf_inverse, tsrvf_transform, tsrvf_transform_with_method, warp_complexity,
114 warp_inverse_error, warp_smoothness, warp_statistics, AlignmentDiagnostic,
115 AlignmentDiagnosticSummary, AlignmentQuality, AlignmentResult, AlignmentResultNd,
116 AlignmentSetResult, BayesianAlignConfig, BayesianAlignmentResult, ClosedAlignmentResult,
117 ClosedKarcherMeanResult, ConstrainedAlignmentResult, DecompositionResult, DiagnosticConfig,
118 ElasticClusterConfig, ElasticClusterMethod, ElasticClusterResult, ElasticDendrogram,
119 ElasticDepthResult, ElasticOutlierConfig, ElasticOutlierResult, FpnsResult,
120 GenerativeModelResult, GeodesicPath, GeodesicPathNd, KarcherMeanResult, KarcherMeanResultNd,
121 LambdaCvConfig, LambdaCvResult, MultiresConfig, OrbitRepresentative, PartialMatchConfig,
122 PartialMatchResult, PcaNdResult, PersistenceDiagramResult, PhaseBoxplot, RobustKarcherConfig,
123 RobustKarcherResult, ShapeCiConfig, ShapeCiResult, ShapeDistanceResult, ShapeMeanResult,
124 ShapeQuotient, TransferAlignConfig, TransferAlignResult, TransportMethod, TsrvfResult,
125 WarpPenaltyType, WarpStatistics,
126};
127
128pub use helpers::{
130 cumulative_trapz, extract_curves, fdata_interpolate, gradient, gradient_nonuniform,
131 gradient_uniform, l2_distance, linear_interp, simpsons_weights, simpsons_weights_2d, trapz,
132 InterpolationMethod, DEFAULT_CONVERGENCE_TOL, NUMERICAL_EPS,
133};
134
135pub use warping::{
137 exp_map_sphere, gam_to_psi, gam_to_psi_smooth, inner_product_l2, inv_exp_map_sphere,
138 invert_gamma, l2_norm_l2, normalize_warp, phase_distance, psi_to_gam,
139};
140
141pub use seasonal::{
143 autoperiod, autoperiod_fdata, cfd_autoperiod, cfd_autoperiod_fdata, hilbert_transform, sazed,
144 sazed_fdata, AutoperiodCandidate, AutoperiodResult, CfdAutoperiodResult, ChangeDetectionResult,
145 ChangePoint, ChangeType, DetectedPeriod, InstantaneousPeriod, Peak, PeakDetectionResult,
146 PeriodEstimate, SazedComponents, SazedResult, StrengthMethod,
147};
148
149pub use landmark::{
151 detect_and_register, detect_landmarks, landmark_register, Landmark, LandmarkKind,
152 LandmarkResult,
153};
154
155pub use detrend::{DecomposeResult, StlConfig, StlResult, TrendResult};
157
158pub use simulation::{EFunType, EValType};
160
161pub use irreg_fdata::{IrregFdata, KernelType};
163
164pub use tolerance::{
166 conformal_prediction_band, elastic_tolerance_band, elastic_tolerance_band_with_config,
167 equivalence_test, equivalence_test_one_sample, exponential_family_tolerance_band,
168 fpca_tolerance_band, phase_tolerance_band, scb_mean_degras, BandType,
169 ElasticToleranceBandResult, ElasticToleranceConfig, EquivalenceBootstrap,
170 EquivalenceTestResult, ExponentialFamily, MultiplierDistribution, NonConformityScore,
171 PhaseToleranceBand, ToleranceBand,
172};
173
174pub use famm::{fmm, fmm_predict, fmm_test_fixed, FmmResult, FmmTestResult};
176
177pub use function_on_scalar::{
179 fanova, fosr, fosr_fpc, predict_fosr, FanovaResult, FosrFpcResult, FosrResult,
180};
181pub use function_on_scalar_2d::{fosr_2d, predict_fosr_2d, FosrResult2d, Grid2d};
182
183pub use scalar_on_function::{
185 bootstrap_ci_fregre_lm, bootstrap_ci_functional_logistic, fregre_basis_cv, fregre_cv,
186 fregre_huber, fregre_l1, fregre_lm, fregre_np_cv, fregre_np_mixed, functional_logistic,
187 model_selection_ncomp, predict_fregre_lm, predict_fregre_np, predict_fregre_robust,
188 predict_functional_logistic, BootstrapCiResult, FregreBasisCvResult, FregreCvResult,
189 FregreLmResult, FregreNpCvResult, FregreNpResult, FregreRobustResult, FunctionalLogisticResult,
190 ModelSelectionResult, SelectionCriterion,
191};
192
193pub use explain_generic::{
195 generic_ale, generic_anchor, generic_conditional_permutation_importance,
196 generic_counterfactual, generic_domain_selection, generic_friedman_h, generic_lime,
197 generic_pdp, generic_permutation_importance, generic_prototype_criticism, generic_saliency,
198 generic_shap_values, generic_sobol_indices, generic_stability, generic_vif, FpcPredictor,
199 TaskType,
200};
201
202pub use elastic_explain::{elastic_pcr_attribution, ElasticAttributionResult};
204pub use explain::{
205 anchor_explanation, anchor_explanation_logistic, beta_decomposition,
206 beta_decomposition_logistic, calibration_diagnostics, conditional_permutation_importance,
207 conditional_permutation_importance_logistic, conformal_prediction_residuals,
208 counterfactual_logistic, counterfactual_regression, dfbetas_dffits, domain_selection,
209 domain_selection_logistic, expected_calibration_error, explanation_stability,
210 explanation_stability_logistic, fpc_ale, fpc_ale_logistic, fpc_permutation_importance,
211 fpc_permutation_importance_logistic, fpc_shap_values, fpc_shap_values_logistic, fpc_vif,
212 fpc_vif_logistic, friedman_h_statistic, friedman_h_statistic_logistic, functional_pdp,
213 functional_pdp_logistic, functional_saliency, functional_saliency_logistic,
214 influence_diagnostics, lime_explanation, lime_explanation_logistic, loo_cv_press,
215 pointwise_importance, pointwise_importance_logistic, prediction_intervals, prototype_criticism,
216 regression_depth, regression_depth_logistic, significant_regions, significant_regions_from_se,
217 sobol_indices, sobol_indices_logistic, AleResult, AnchorCondition, AnchorResult, AnchorRule,
218 BetaDecomposition, CalibrationDiagnosticsResult, ConditionalPermutationImportanceResult,
219 ConformalPredictionResult, CounterfactualResult, DepthType, DfbetasDffitsResult,
220 DomainSelectionResult, EceResult, FpcPermutationImportance, FpcShapValues, FriedmanHResult,
221 FunctionalPdpResult, FunctionalSaliencyResult, ImportantInterval, InfluenceDiagnostics,
222 LimeResult, LooCvResult, PointwiseImportanceResult, PredictionIntervalResult,
223 PrototypeCriticismResult, RegressionDepthResult, SignificanceDirection, SignificantRegion,
224 SobolIndicesResult, StabilityAnalysisResult, VifResult,
225};
226
227pub use classification::{
229 fclassif_cv, fclassif_cv_with_config, fclassif_dd, fclassif_kernel, fclassif_knn,
230 fclassif_knn_fit, fclassif_lda, fclassif_lda_fit, fclassif_qda, fclassif_qda_fit,
231 ClassifCvConfig, ClassifCvResult, ClassifFit, ClassifMethod, ClassifResult,
232};
233
234pub use conformal::{
236 conformal_classif, conformal_elastic_logistic, conformal_elastic_pcr,
237 conformal_elastic_pcr_with_config, conformal_elastic_regression,
238 conformal_elastic_regression_with_config, conformal_fregre_lm, conformal_fregre_np,
239 conformal_generic_classification, conformal_generic_regression, conformal_logistic,
240 cv_conformal_classification, cv_conformal_regression, jackknife_plus_regression,
241 ClassificationScore, ConformalClassificationResult, ConformalConfig, ConformalMethod,
242 ConformalRegressionResult,
243};
244
245pub use gmm::{
247 gmm_cluster, gmm_cluster_with_config, gmm_em, predict_gmm, CovType, GmmClusterConfig,
248 GmmClusterResult, GmmResult,
249};
250
251pub use streaming_depth::{
253 FullReferenceState, RollingReference, SortedReferenceState, StreamingBd, StreamingDepth,
254 StreamingFraimanMuniz, StreamingMbd,
255};
256
257pub use smooth_basis::{
259 basis_nbasis_cv, basis_nbasis_cv_with_config, bspline_penalty_matrix, fourier_penalty_matrix,
260 smooth_basis, smooth_basis_gcv, smooth_basis_gcv_with_config, BasisCriterion,
261 BasisNbasisCvConfig, BasisNbasisCvResult, BasisType, FdPar, SmoothBasisGcvConfig,
262 SmoothBasisResult,
263};
264
265pub use elastic_fpca::{
267 horiz_fpca, joint_fpca, vert_fpca, HorizFpcaResult, JointFpcaResult, VertFpcaResult,
268};
269
270pub use elastic_regression::{
272 elastic_logistic, elastic_logistic_with_config, elastic_pcr, elastic_pcr_with_config,
273 elastic_regression, elastic_regression_with_config, predict_elastic_logistic,
274 predict_elastic_regression, predict_scalar_on_shape, scalar_on_shape, ElasticConfig,
275 ElasticLogisticResult, ElasticPcrConfig, ElasticPcrResult, ElasticRegressionResult,
276 IndexMethod, PcaMethod, ScalarOnShapeConfig, ScalarOnShapeResult,
277};
278
279pub use spm::{
281 arl0_ewma_t2, arl0_spe, arl0_t2, arl1_t2, elastic_spm_monitor, elastic_spm_phase1,
282 evaluate_rules, ewma_scores, frcc_monitor, frcc_phase1, hotelling_t2, hotelling_t2_regularized,
283 mf_spm_monitor, mf_spm_phase1, mfpca, nelson_rules, profile_monitor, profile_phase1,
284 select_ncomp, spe_contributions, spe_control_limit, spe_limit_robust,
285 spe_moment_match_diagnostic, spe_multivariate, spe_univariate, spm_amewma_monitor,
286 spm_cusum_monitor, spm_cusum_monitor_with_restart, spm_ewma_monitor, spm_mewma_monitor,
287 spm_monitor, spm_monitor_partial, spm_monitor_partial_batch, spm_phase1, spm_phase1_iterative,
288 t2_contributions, t2_contributions_mfpca, t2_control_limit, t2_limit_robust,
289 t2_pc_contributions, t2_pc_significance, western_electric_rules, AmewmaConfig,
290 AmewmaMonitorResult, ArlConfig, ArlResult, ChartRule, ControlLimit, ControlLimitMethod,
291 CusumConfig, CusumMonitorResult, DomainCompletion, ElasticSpmChart, ElasticSpmConfig,
292 ElasticSpmMonitorResult, EwmaConfig, EwmaMonitorResult, FrccChart, FrccConfig,
293 FrccMonitorResult, IterativePhase1Config, IterativePhase1Result, MewmaConfig,
294 MewmaMonitorResult, MfSpmChart, MfpcaConfig, MfpcaResult, NcompMethod, PartialDomainConfig,
295 PartialMonitorResult, ProfileChart, ProfileMonitorConfig, ProfileMonitorResult, RuleViolation,
296 SpmChart, SpmConfig, SpmMonitorResult,
297};
298
299pub use elastic_changepoint::{
301 elastic_amp_changepoint, elastic_fpca_changepoint, elastic_ph_changepoint, ChangepointResult,
302 ChangepointType, FpcaChangepointMethod,
303};
304
305pub use cv::{
307 create_folds, create_stratified_folds, cv_fdata, fold_indices, subset_rows, subset_vec,
308 CvFdataResult, CvMetrics, CvType,
309};
310
311pub use smoothing::{
313 cv_smoother, gcv_smoother, knn_gcv, knn_lcv, optim_bandwidth, CvCriterion, KnnCvResult,
314 OptimBandwidthResult,
315};
316
317pub use regression::{fdata_to_pc_1d, fdata_to_pls_1d, FpcaResult, PlsResult};
319#[cfg(feature = "linalg")]
320pub use regression::{ridge_regression_fit, RidgeResult};
321
322pub use clustering::{
324 calinski_harabasz, fuzzy_cmeans_fd, kmeans_fd, silhouette_score, FuzzyCmeansResult,
325 KmeansResult,
326};
327
328pub use metric::{
330 dtw_cross_1d, dtw_distance, dtw_self_1d, fourier_cross_1d, fourier_self_1d, hausdorff_3d,
331 hausdorff_cross_1d, hausdorff_cross_2d, hausdorff_self_1d, hausdorff_self_2d, hshift_cross_1d,
332 hshift_self_1d, lp_cross_1d, lp_cross_2d, lp_self_1d, lp_self_2d, soft_dtw_barycenter,
333 soft_dtw_cross_1d, soft_dtw_distance, soft_dtw_div_cross_1d, soft_dtw_div_self_1d,
334 soft_dtw_divergence, soft_dtw_self_1d, SoftDtwBarycenterResult,
335};
336
337pub use depth::{
339 band_1d, fraiman_muniz_1d, fraiman_muniz_2d, functional_spatial_1d, functional_spatial_2d,
340 kernel_functional_spatial_1d, kernel_functional_spatial_2d, modal_1d, modal_2d,
341 modified_band_1d, modified_epigraph_index_1d, random_projection_1d,
342 random_projection_1d_seeded, random_projection_2d, random_tukey_1d, random_tukey_1d_seeded,
343 random_tukey_2d,
344};
345
346pub use outliers::{
348 detect_outliers_lrt, magnitude_shape_outlyingness, outliergram, outliers_threshold_lrt,
349 outliers_threshold_lrt_with_dist, MagnitudeShapeResult, OutligramResult,
350};
351
352pub use utility::{
354 compute_adot, inner_product, inner_product_matrix, integrate_simpson, knn_loocv, knn_predict,
355 pcvm_statistic, rp_stat, RpStatResult,
356};
357
358pub use fdata::{
360 center_1d, deriv_1d, deriv_2d, geometric_median_1d, geometric_median_2d, mean_1d, mean_2d,
361 norm_lp_1d, Deriv2DResult,
362};
363
364pub use basis::{
366 basis_to_fdata, basis_to_fdata_1d, bspline_basis, bspline_basis_from_knots,
367 construct_bspline_knots, difference_matrix, fdata_to_basis, fdata_to_basis_1d, fourier_basis,
368 fourier_basis_with_period, fourier_fit_1d, pspline_evaluate, pspline_fit_1d, pspline_fit_gcv,
369 select_basis_auto_1d, select_fourier_nbasis_gcv, BasisAutoSelectionResult,
370 BasisProjectionResult, FourierFitResult, ProjectionBasisType, PsplineFitResult,
371 SingleCurveSelection,
372};