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 threshold_abs: Option<f32>,
pub nms_radius: u32,
pub min_cluster_size: u32,
pub refiner: RefinerKind,
}Expand description
Configuration for the whole-image Radon detector.
Fields§
§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).
M1 supports the set {1, 2}; values >= 3 are clamped to 2
(see 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: f32Relative response threshold as a fraction of the map’s max
value. Used when threshold_abs is None.
threshold_abs: Option<f32>Absolute response threshold. Overrides threshold_rel when set.
The paper’s (max−min)² response is always ≥ 0, so the strict
inequality R > 0 that ChESS uses is not by itself selective
enough — use a positive absolute floor in practice.
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.
refiner: RefinerKindSubpixel refiner applied after Radon peak extraction. Defaults to the Radon-projection refiner that pairs with the detector output.
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§fn default() -> RadonDetectorParams
fn default() -> 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<RadonDetectorParams, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RadonDetectorParams, <__D as Deserializer<'de>>::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
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§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§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().