#![allow(clippy::needless_range_loop)]
#![allow(clippy::too_many_arguments)]
#![allow(clippy::type_complexity)]
pub mod error;
pub(crate) mod linalg;
pub mod matrix;
pub mod parallel;
pub use error::FdarError;
#[cfg(test)]
pub(crate) mod test_helpers;
pub mod alignment;
pub mod andrews;
pub mod basis;
pub mod classification;
pub mod clustering;
pub mod cv;
pub mod depth;
pub mod detrend;
pub mod famm;
pub mod fdata;
pub mod function_on_scalar;
pub mod function_on_scalar_2d;
pub mod gmm;
pub mod helpers;
pub mod irreg_fdata;
pub mod landmark;
pub mod metric;
pub mod outliers;
pub mod regression;
pub mod scalar_on_function;
pub mod seasonal;
pub mod simulation;
pub mod smoothing;
pub mod streaming_depth;
pub mod tolerance;
pub mod utility;
pub mod warping;
pub mod covariance;
pub mod spm;
pub mod conformal;
pub mod elastic;
pub mod elastic_changepoint;
pub mod elastic_explain;
pub mod elastic_fpca;
pub mod elastic_regression;
pub mod explain;
pub mod explain_generic;
pub mod prelude;
pub mod smooth_basis;
pub use matrix::{FdCurveSet, FdMatrix};
pub use andrews::{andrews_loadings, andrews_transform, AndrewsLoadings, AndrewsResult};
pub use covariance::{
covariance_matrix, generate_gaussian_process, CovKernel, GaussianProcessResult,
};
pub use alignment::{
align_to_target, alignment_quality, amplitude_distance, amplitude_self_distance_matrix,
bayesian_align_pair, compose_warps, curve_geodesic, curve_geodesic_nd, cut_dendrogram,
diagnose_alignment, diagnose_pairwise, elastic_align_pair, elastic_align_pair_closed,
elastic_align_pair_constrained, elastic_align_pair_multires, elastic_align_pair_nd,
elastic_align_pair_penalized, elastic_align_pair_with_landmarks, elastic_cross_distance_matrix,
elastic_decomposition, elastic_depth, elastic_distance, elastic_distance_closed,
elastic_distance_nd, elastic_hierarchical, elastic_kmeans, elastic_outlier_detection,
elastic_partial_match, elastic_self_distance_matrix, gauss_model, horiz_fpns, invert_warp,
joint_gauss_model, karcher_covariance_nd, karcher_mean, karcher_mean_closed, karcher_mean_nd,
karcher_median, lambda_cv, orbit_representative, pairwise_consistency, pca_nd,
peak_persistence, phase_boxplot, phase_distance_pair, phase_self_distance_matrix,
reparameterize_curve, robust_karcher_mean, shape_confidence_interval, shape_distance,
shape_mean, shape_self_distance_matrix, srsf_inverse, srsf_inverse_nd, srsf_transform,
srsf_transform_nd, transfer_alignment, tsrvf_from_alignment, tsrvf_from_alignment_with_method,
tsrvf_inverse, tsrvf_transform, tsrvf_transform_with_method, warp_complexity,
warp_inverse_error, warp_smoothness, warp_statistics, AlignmentDiagnostic,
AlignmentDiagnosticSummary, AlignmentQuality, AlignmentResult, AlignmentResultNd,
AlignmentSetResult, BayesianAlignConfig, BayesianAlignmentResult, ClosedAlignmentResult,
ClosedKarcherMeanResult, ConstrainedAlignmentResult, DecompositionResult, DiagnosticConfig,
ElasticClusterConfig, ElasticClusterMethod, ElasticClusterResult, ElasticDendrogram,
ElasticDepthResult, ElasticOutlierConfig, ElasticOutlierResult, FpnsResult,
GenerativeModelResult, GeodesicPath, GeodesicPathNd, KarcherMeanResult, KarcherMeanResultNd,
LambdaCvConfig, LambdaCvResult, MultiresConfig, OrbitRepresentative, PartialMatchConfig,
PartialMatchResult, PcaNdResult, PersistenceDiagramResult, PhaseBoxplot, RobustKarcherConfig,
RobustKarcherResult, ShapeCiConfig, ShapeCiResult, ShapeDistanceResult, ShapeMeanResult,
ShapeQuotient, TransferAlignConfig, TransferAlignResult, TransportMethod, TsrvfResult,
WarpPenaltyType, WarpStatistics,
};
pub use helpers::{
cumulative_trapz, extract_curves, fdata_interpolate, gradient, gradient_nonuniform,
gradient_uniform, l2_distance, linear_interp, simpsons_weights, simpsons_weights_2d, trapz,
InterpolationMethod, DEFAULT_CONVERGENCE_TOL, NUMERICAL_EPS,
};
pub use warping::{
exp_map_sphere, gam_to_psi, gam_to_psi_smooth, inner_product_l2, inv_exp_map_sphere,
invert_gamma, l2_norm_l2, normalize_warp, phase_distance, psi_to_gam,
};
pub use seasonal::{
autoperiod, autoperiod_fdata, cfd_autoperiod, cfd_autoperiod_fdata, hilbert_transform, sazed,
sazed_fdata, AutoperiodCandidate, AutoperiodResult, CfdAutoperiodResult, ChangeDetectionResult,
ChangePoint, ChangeType, DetectedPeriod, InstantaneousPeriod, Peak, PeakDetectionResult,
PeriodEstimate, SazedComponents, SazedResult, StrengthMethod,
};
pub use landmark::{
detect_and_register, detect_landmarks, landmark_register, Landmark, LandmarkKind,
LandmarkResult,
};
pub use detrend::{DecomposeResult, StlConfig, StlResult, TrendResult};
pub use simulation::{EFunType, EValType};
pub use irreg_fdata::{IrregFdata, KernelType};
pub use tolerance::{
conformal_prediction_band, elastic_tolerance_band, elastic_tolerance_band_with_config,
equivalence_test, equivalence_test_one_sample, exponential_family_tolerance_band,
fpca_tolerance_band, phase_tolerance_band, scb_mean_degras, BandType,
ElasticToleranceBandResult, ElasticToleranceConfig, EquivalenceBootstrap,
EquivalenceTestResult, ExponentialFamily, MultiplierDistribution, NonConformityScore,
PhaseToleranceBand, ToleranceBand,
};
pub use famm::{fmm, fmm_predict, fmm_test_fixed, FmmResult, FmmTestResult};
pub use function_on_scalar::{
fanova, fosr, fosr_fpc, predict_fosr, FanovaResult, FosrFpcResult, FosrResult,
};
pub use function_on_scalar_2d::{fosr_2d, predict_fosr_2d, FosrResult2d, Grid2d};
pub use scalar_on_function::{
bootstrap_ci_fregre_lm, bootstrap_ci_functional_logistic, fregre_basis_cv, fregre_cv,
fregre_huber, fregre_l1, fregre_lm, fregre_np_cv, fregre_np_mixed, functional_logistic,
model_selection_ncomp, predict_fregre_lm, predict_fregre_np, predict_fregre_robust,
predict_functional_logistic, BootstrapCiResult, FregreBasisCvResult, FregreCvResult,
FregreLmResult, FregreNpCvResult, FregreNpResult, FregreRobustResult, FunctionalLogisticResult,
ModelSelectionResult, SelectionCriterion,
};
pub use explain_generic::{
generic_ale, generic_anchor, generic_conditional_permutation_importance,
generic_counterfactual, generic_domain_selection, generic_friedman_h, generic_lime,
generic_pdp, generic_permutation_importance, generic_prototype_criticism, generic_saliency,
generic_shap_values, generic_sobol_indices, generic_stability, generic_vif, FpcPredictor,
TaskType,
};
pub use elastic_explain::{elastic_pcr_attribution, ElasticAttributionResult};
pub use explain::{
anchor_explanation, anchor_explanation_logistic, beta_decomposition,
beta_decomposition_logistic, calibration_diagnostics, conditional_permutation_importance,
conditional_permutation_importance_logistic, conformal_prediction_residuals,
counterfactual_logistic, counterfactual_regression, dfbetas_dffits, domain_selection,
domain_selection_logistic, expected_calibration_error, explanation_stability,
explanation_stability_logistic, fpc_ale, fpc_ale_logistic, fpc_permutation_importance,
fpc_permutation_importance_logistic, fpc_shap_values, fpc_shap_values_logistic, fpc_vif,
fpc_vif_logistic, friedman_h_statistic, friedman_h_statistic_logistic, functional_pdp,
functional_pdp_logistic, functional_saliency, functional_saliency_logistic,
influence_diagnostics, lime_explanation, lime_explanation_logistic, loo_cv_press,
pointwise_importance, pointwise_importance_logistic, prediction_intervals, prototype_criticism,
regression_depth, regression_depth_logistic, significant_regions, significant_regions_from_se,
sobol_indices, sobol_indices_logistic, AleResult, AnchorCondition, AnchorResult, AnchorRule,
BetaDecomposition, CalibrationDiagnosticsResult, ConditionalPermutationImportanceResult,
ConformalPredictionResult, CounterfactualResult, DepthType, DfbetasDffitsResult,
DomainSelectionResult, EceResult, FpcPermutationImportance, FpcShapValues, FriedmanHResult,
FunctionalPdpResult, FunctionalSaliencyResult, ImportantInterval, InfluenceDiagnostics,
LimeResult, LooCvResult, PointwiseImportanceResult, PredictionIntervalResult,
PrototypeCriticismResult, RegressionDepthResult, SignificanceDirection, SignificantRegion,
SobolIndicesResult, StabilityAnalysisResult, VifResult,
};
pub use classification::{
fclassif_cv, fclassif_cv_with_config, fclassif_dd, fclassif_kernel, fclassif_knn,
fclassif_knn_fit, fclassif_lda, fclassif_lda_fit, fclassif_qda, fclassif_qda_fit,
ClassifCvConfig, ClassifCvResult, ClassifFit, ClassifMethod, ClassifResult,
};
pub use conformal::{
conformal_classif, conformal_elastic_logistic, conformal_elastic_pcr,
conformal_elastic_pcr_with_config, conformal_elastic_regression,
conformal_elastic_regression_with_config, conformal_fregre_lm, conformal_fregre_np,
conformal_generic_classification, conformal_generic_regression, conformal_logistic,
cv_conformal_classification, cv_conformal_regression, jackknife_plus_regression,
ClassificationScore, ConformalClassificationResult, ConformalConfig, ConformalMethod,
ConformalRegressionResult,
};
pub use gmm::{
gmm_cluster, gmm_cluster_with_config, gmm_em, predict_gmm, CovType, GmmClusterConfig,
GmmClusterResult, GmmResult,
};
pub use streaming_depth::{
FullReferenceState, RollingReference, SortedReferenceState, StreamingBd, StreamingDepth,
StreamingFraimanMuniz, StreamingMbd,
};
pub use smooth_basis::{
basis_nbasis_cv, basis_nbasis_cv_with_config, bspline_penalty_matrix, fourier_penalty_matrix,
smooth_basis, smooth_basis_gcv, smooth_basis_gcv_with_config, BasisCriterion,
BasisNbasisCvConfig, BasisNbasisCvResult, BasisType, FdPar, SmoothBasisGcvConfig,
SmoothBasisResult,
};
pub use elastic_fpca::{
horiz_fpca, joint_fpca, vert_fpca, HorizFpcaResult, JointFpcaResult, VertFpcaResult,
};
pub use elastic_regression::{
elastic_logistic, elastic_logistic_with_config, elastic_pcr, elastic_pcr_with_config,
elastic_regression, elastic_regression_with_config, predict_elastic_logistic,
predict_elastic_regression, predict_scalar_on_shape, scalar_on_shape, ElasticConfig,
ElasticLogisticResult, ElasticPcrConfig, ElasticPcrResult, ElasticRegressionResult,
IndexMethod, PcaMethod, ScalarOnShapeConfig, ScalarOnShapeResult,
};
pub use spm::{
arl0_ewma_t2, arl0_spe, arl0_t2, arl1_t2, elastic_spm_monitor, elastic_spm_phase1,
evaluate_rules, ewma_scores, frcc_monitor, frcc_phase1, hotelling_t2, hotelling_t2_regularized,
mf_spm_monitor, mf_spm_phase1, mfpca, nelson_rules, profile_monitor, profile_phase1,
select_ncomp, spe_contributions, spe_control_limit, spe_limit_robust,
spe_moment_match_diagnostic, spe_multivariate, spe_univariate, spm_amewma_monitor,
spm_cusum_monitor, spm_cusum_monitor_with_restart, spm_ewma_monitor, spm_mewma_monitor,
spm_monitor, spm_monitor_partial, spm_monitor_partial_batch, spm_phase1, spm_phase1_iterative,
t2_contributions, t2_contributions_mfpca, t2_control_limit, t2_limit_robust,
t2_pc_contributions, t2_pc_significance, western_electric_rules, AmewmaConfig,
AmewmaMonitorResult, ArlConfig, ArlResult, ChartRule, ControlLimit, ControlLimitMethod,
CusumConfig, CusumMonitorResult, DomainCompletion, ElasticSpmChart, ElasticSpmConfig,
ElasticSpmMonitorResult, EwmaConfig, EwmaMonitorResult, FrccChart, FrccConfig,
FrccMonitorResult, IterativePhase1Config, IterativePhase1Result, MewmaConfig,
MewmaMonitorResult, MfSpmChart, MfpcaConfig, MfpcaResult, NcompMethod, PartialDomainConfig,
PartialMonitorResult, ProfileChart, ProfileMonitorConfig, ProfileMonitorResult, RuleViolation,
SpmChart, SpmConfig, SpmMonitorResult,
};
pub use elastic_changepoint::{
elastic_amp_changepoint, elastic_fpca_changepoint, elastic_ph_changepoint, ChangepointResult,
ChangepointType, FpcaChangepointMethod,
};
pub use cv::{
create_folds, create_stratified_folds, cv_fdata, fold_indices, subset_rows, subset_vec,
CvFdataResult, CvMetrics, CvType,
};
pub use smoothing::{
cv_smoother, gcv_smoother, knn_gcv, knn_lcv, optim_bandwidth, CvCriterion, KnnCvResult,
OptimBandwidthResult,
};
pub use regression::{fdata_to_pc_1d, fdata_to_pls_1d, FpcaResult, PlsResult};
#[cfg(feature = "linalg")]
pub use regression::{ridge_regression_fit, RidgeResult};
pub use clustering::{
calinski_harabasz, fuzzy_cmeans_fd, kmeans_fd, silhouette_score, FuzzyCmeansResult,
KmeansResult,
};
pub use metric::{
dtw_cross_1d, dtw_distance, dtw_self_1d, fourier_cross_1d, fourier_self_1d, hausdorff_3d,
hausdorff_cross_1d, hausdorff_cross_2d, hausdorff_self_1d, hausdorff_self_2d, hshift_cross_1d,
hshift_self_1d, lp_cross_1d, lp_cross_2d, lp_self_1d, lp_self_2d, soft_dtw_barycenter,
soft_dtw_cross_1d, soft_dtw_distance, soft_dtw_div_cross_1d, soft_dtw_div_self_1d,
soft_dtw_divergence, soft_dtw_self_1d, SoftDtwBarycenterResult,
};
pub use depth::{
band_1d, fraiman_muniz_1d, fraiman_muniz_2d, functional_spatial_1d, functional_spatial_2d,
kernel_functional_spatial_1d, kernel_functional_spatial_2d, modal_1d, modal_2d,
modified_band_1d, modified_epigraph_index_1d, random_projection_1d,
random_projection_1d_seeded, random_projection_2d, random_tukey_1d, random_tukey_1d_seeded,
random_tukey_2d,
};
pub use outliers::{
detect_outliers_lrt, magnitude_shape_outlyingness, outliergram, outliers_threshold_lrt,
outliers_threshold_lrt_with_dist, MagnitudeShapeResult, OutligramResult,
};
pub use utility::{
compute_adot, inner_product, inner_product_matrix, integrate_simpson, knn_loocv, knn_predict,
pcvm_statistic, rp_stat, RpStatResult,
};
pub use fdata::{
center_1d, deriv_1d, deriv_2d, geometric_median_1d, geometric_median_2d, mean_1d, mean_2d,
norm_lp_1d, Deriv2DResult,
};
pub use basis::{
basis_to_fdata, basis_to_fdata_1d, bspline_basis, bspline_basis_from_knots,
construct_bspline_knots, difference_matrix, fdata_to_basis, fdata_to_basis_1d, fourier_basis,
fourier_basis_with_period, fourier_fit_1d, pspline_evaluate, pspline_fit_1d, pspline_fit_gcv,
select_basis_auto_1d, select_fourier_nbasis_gcv, BasisAutoSelectionResult,
BasisProjectionResult, FourierFitResult, ProjectionBasisType, PsplineFitResult,
SingleCurveSelection,
};