radsym
radsym is a Rust library for radial symmetry detection: center proposal
generation, local circular and elliptical support analysis, support scoring,
and local image-space refinement.
The crate is CPU-first, deterministic, and composable. You can use proposal generation, scoring, and refinement independently instead of committing to a single end-to-end pipeline.
Installation
[]
= "0.1"
Quick start
use ;
let size = 64;
let mut data = vec!;
for y in 0..size
let image = from_slice.unwrap;
let gradient = sobel_gradient.unwrap;
let config = FrstConfig ;
let response = frst_response.unwrap;
let nms = NmsConfig ;
let proposals = extract_proposals;
if let Some = proposals.first
Modules
core: image views, geometry, gradients, NMS, errorspropose: FRST, RSD, proposal extraction, homography-aware proposal toolssupport: annulus sampling, evidence extraction, support scoringrefine: radial center, circle refinement, ellipse refinementdiagnostics: response heatmaps and overlaysaffine: experimental affine-aware extensions behind theaffinefeature
Feature flags
rayon: parallel multi-radius proposal computationimage-io: PNG and JPEG image loading viaimagetracing: structured instrumentationaffine: experimental affine-aware extensionsserde: serialization for configs and results
Conventions
- Coordinates use
(x=col, y=row)everywhere. - Pixel-level computation uses
f32. ImageView<'a, T>is the core borrowed image abstraction.
References
- FRST: Loy and Zelinsky, IEEE TPAMI 2003
- RSD: Barnes, Zelinsky, Fletcher, IEEE T-ITS 2008
- Radial center: Parthasarathy, Nature Methods 2012
- GFRS: Ni, Singh, Bahlmann, CVPR 2012
License
Licensed under MIT OR Apache-2.0.