#[non_exhaustive]pub struct RadonConfig {
pub ray_radius: u32,
pub image_upsample: u32,
pub response_blur_radius: u32,
pub peak_fit: PeakFitMode,
pub nms_radius: u32,
pub min_cluster_size: u32,
pub refiner: RadonRefiner,
}Expand description
Configuration for the whole-image Radon detector branch of
DetectionStrategy.
All radii and counts are in working-resolution pixels (i.e.
after image_upsample). Multiscale and upscale live at the top
level of DetectorConfig and apply to both strategies.
§Common knobs
refiner— select and configure the subpixel refinement backend.image_upsample—2(the default) reproduces the paper’s 2× supersampled detection;1is faster but less accurate on low-resolution inputs.
§Advanced tuning
The remaining fields control low-level detection behaviour. The defaults reproduce the paper’s recommended settings and work well for typical camera images. Adjust them only when you have a specific reason (e.g. a non-standard image resolution or SNR budget).
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.ray_radius: u32Advanced tuning. Half-length of each Radon ray in
working-resolution pixels. The ray has 2·ray_radius + 1
samples. Paper default at image_upsample = 2 is ray_radius = 4.
Shorter rays are faster but integrate less signal; longer rays are
more discriminating but may cross into neighbouring cells.
image_upsample: u32Image-level supersampling factor applied before ray integration.
1 operates on the input grid; 2 (paper default) is equivalent
to bilinearly upsampling the input first, giving sub-pixel ray
positioning. Values ≥ 3 are clamped to 2 by the core detector.
response_blur_radius: u32Advanced tuning. Half-size of the box blur applied to the Radon
response map after integration. 0 disables blurring; 1
(default) yields a 3×3 box, smoothing quantisation noise in the
response. Increase only on very high-SNR images where extra
smoothing is unwanted.
peak_fit: PeakFitModeAdvanced tuning. Peak-fit mode for the 3-point subpixel
refinement of the response-map argmax. Gaussian (default) fits
on log-response (more accurate near the peak); Parabolic fits
directly on the response values. See PeakFitMode.
nms_radius: u32Advanced tuning. Non-maximum-suppression half-radius in
working-resolution pixels. Default is 4. See
ChessConfig::nms_radius for guidance; note that these pixels
are at working resolution (after image_upsample).
min_cluster_size: u32Advanced tuning. Minimum number of positive-response neighbours
within the NMS window that a candidate must have to be accepted.
Default is 2. See ChessConfig::min_cluster_size for guidance.
refiner: RadonRefinerSubpixel refiner. Each variant carries its tuning struct.
Trait Implementations§
Source§impl Clone for RadonConfig
impl Clone for RadonConfig
Source§fn clone(&self) -> RadonConfig
fn clone(&self) -> RadonConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RadonConfig
impl Debug for RadonConfig
Source§impl Default for RadonConfig
impl Default for RadonConfig
Source§impl<'de> Deserialize<'de> for RadonConfigwhere
RadonConfig: Default,
impl<'de> Deserialize<'de> for RadonConfigwhere
RadonConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for RadonConfig
impl PartialEq for RadonConfig
Source§fn eq(&self, other: &RadonConfig) -> bool
fn eq(&self, other: &RadonConfig) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for RadonConfig
impl Serialize for RadonConfig
impl Copy for RadonConfig
impl StructuralPartialEq for RadonConfig
Auto Trait Implementations§
impl Freeze for RadonConfig
impl RefUnwindSafe for RadonConfig
impl Send for RadonConfig
impl Sync for RadonConfig
impl Unpin for RadonConfig
impl UnsafeUnpin for RadonConfig
impl UnwindSafe for RadonConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().