mod float_helpers;
pub mod affine;
pub mod circular_stats;
pub mod component_merge;
pub mod global_step;
pub mod hex;
pub mod homography;
pub mod local_step;
pub mod square;
pub mod topological;
pub trait Float: nalgebra::RealField + Copy {}
impl<T: nalgebra::RealField + Copy> Float for T {}
pub use affine::AffineTransform2D;
pub use global_step::{estimate_global_cell_size, GlobalStepEstimate, GlobalStepParams};
pub use homography::{
estimate_homography, estimate_homography_with_quality, homography_from_4pt,
homography_from_4pt_with_quality, Homography, HomographyQuality,
};
pub use local_step::{estimate_local_steps, LocalStep, LocalStepParams, LocalStepPointData};
pub use square::alignment::{GridAlignment, GridTransform, GRID_TRANSFORMS_D4};
pub use square::index::GridCoords;
pub use square::mesh::SquareGridHomographyMesh;
pub use square::rectify::SquareGridHomography;
pub use square::smoothness::{
square_find_inconsistent_corners, square_find_inconsistent_corners_step_aware,
square_predict_grid_position,
};
pub use topological::{
build_grid_topological, AxisHint, TopologicalComponent, TopologicalError, TopologicalGrid,
TopologicalParams, TopologicalStats,
};
pub use component_merge::{
merge_components_local, ComponentInput, ComponentMergeResult, ComponentMergeStats,
LocalMergeParams,
};