#[non_exhaustive]pub struct RadonDetectorParams {
pub ray_radius: u32,
pub image_upsample: u32,
pub response_blur_radius: u32,
pub peak_fit: PeakFitMode,
pub threshold_rel: f32,
pub nms_radius: u32,
pub min_cluster_size: u32,
}Expand description
Configuration for the whole-image Radon detector.
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: u32Half-length of each ray in working-resolution pixels (i.e.
post-upsample). The ray has 2·ray_radius + 1 samples. Paper
default at image_upsample=2 is 4 working pixels ⇒ 2 physical.
image_upsample: u32Image-level supersampling factor. 1 operates on the input
pixel grid; 2 bilinearly upsamples first (paper default).
Supports the set {1, 2}; values >= 3 are clamped to 2
(the crate-internal MAX_IMAGE_UPSAMPLE). Higher factors are
future work.
response_blur_radius: u32Half-size of the box blur applied to the response map. 0
disables blurring; 1 yields a 3×3 box.
peak_fit: PeakFitModePeak-fit mode for the 3-point subpixel refinement.
threshold_rel: f32Response threshold as a fraction of the per-frame maximum
response. The Radon (max−min)² response is unnormalized (it
scales with ray length and contrast), so a relative floor adapts
across frames where a fixed absolute cutoff would not.
nms_radius: u32Non-maximum-suppression half-radius (in working-resolution pixels).
min_cluster_size: u32Minimum count of positive-response neighbours in the NMS window required to accept a peak. Rejects isolated noise.
Implementations§
Source§impl RadonDetectorParams
impl RadonDetectorParams
Sourcepub const DEFAULT_THRESHOLD_REL: f32 = 0.28
pub const DEFAULT_THRESHOLD_REL: f32 = 0.28
Default response threshold as a fraction of the per-frame
maximum response. The Radon (max−min)² response is dense near
zero, so the floor must sit well above the texture noise to keep
only well-formed corners; this value is calibrated on the public
reference images.
Sourcepub const DEFAULT_NMS_RADIUS: u32 = 4
pub const DEFAULT_NMS_RADIUS: u32 = 4
Default non-maximum-suppression half-radius, in working-resolution
pixels. Wider than the ChESS default to suit the wider Radon
response peak. Single source of truth shared with the
chess-corners facade’s Radon presets.
Sourcepub const DEFAULT_MIN_CLUSTER_SIZE: u32 = 2
pub const DEFAULT_MIN_CLUSTER_SIZE: u32 = 2
Default minimum count of positive-response neighbours required to
accept a cluster. Single source of truth shared with the
chess-corners facade’s Radon presets.
Trait Implementations§
Source§impl Clone for RadonDetectorParams
impl Clone for RadonDetectorParams
Source§fn clone(&self) -> RadonDetectorParams
fn clone(&self) -> RadonDetectorParams
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 RadonDetectorParams
impl Debug for RadonDetectorParams
Source§impl Default for RadonDetectorParams
impl Default for RadonDetectorParams
Source§impl<'de> Deserialize<'de> for RadonDetectorParamswhere
RadonDetectorParams: Default,
impl<'de> Deserialize<'de> for RadonDetectorParamswhere
RadonDetectorParams: 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 RadonDetectorParams
impl PartialEq for RadonDetectorParams
Source§fn eq(&self, other: &RadonDetectorParams) -> bool
fn eq(&self, other: &RadonDetectorParams) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for RadonDetectorParams
impl Serialize for RadonDetectorParams
impl StructuralPartialEq for RadonDetectorParams
Auto Trait Implementations§
impl Freeze for RadonDetectorParams
impl RefUnwindSafe for RadonDetectorParams
impl Send for RadonDetectorParams
impl Sync for RadonDetectorParams
impl Unpin for RadonDetectorParams
impl UnsafeUnpin for RadonDetectorParams
impl UnwindSafe for RadonDetectorParams
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more