pub enum ProposalDownscale {
Auto,
Off,
Factor(u32),
}Expand description
Controls optional image downscaling before proposal generation.
When markers are large in the image, the proposal stage can be run on a downscaled copy for significant speedup. All downstream stages (outer fit, decode, inner fit) still operate at full resolution.
Proposal coordinates are automatically scaled back to original image space.
Variants§
Auto
Auto-select downscale factor from marker_scale.diameter_min_px.
factor = clamp(floor(d_min / 20.0), 1, 4). Ensures markers remain
at least ~10 px diameter after downscaling.
Off
No downscaling (full resolution proposals).
Factor(u32)
Explicit integer downscale factor (clamped to [1, 4]).
Implementations§
Source§impl ProposalDownscale
impl ProposalDownscale
Sourcepub fn resolve(&self, marker_scale: MarkerScalePrior) -> u32
pub fn resolve(&self, marker_scale: MarkerScalePrior) -> u32
Resolve the concrete integer factor given the current marker scale prior.
Trait Implementations§
Source§impl Clone for ProposalDownscale
impl Clone for ProposalDownscale
Source§fn clone(&self) -> ProposalDownscale
fn clone(&self) -> ProposalDownscale
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProposalDownscale
impl Debug for ProposalDownscale
Source§impl Default for ProposalDownscale
impl Default for ProposalDownscale
Source§fn default() -> ProposalDownscale
fn default() -> ProposalDownscale
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ProposalDownscale
impl<'de> Deserialize<'de> for ProposalDownscale
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ProposalDownscale
impl PartialEq for ProposalDownscale
Source§impl Serialize for ProposalDownscale
impl Serialize for ProposalDownscale
impl Copy for ProposalDownscale
impl Eq for ProposalDownscale
impl StructuralPartialEq for ProposalDownscale
Auto Trait Implementations§
impl Freeze for ProposalDownscale
impl RefUnwindSafe for ProposalDownscale
impl Send for ProposalDownscale
impl Sync for ProposalDownscale
impl Unpin for ProposalDownscale
impl UnsafeUnpin for ProposalDownscale
impl UnwindSafe for ProposalDownscale
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
Converts
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>
Converts
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>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.