pub enum MaskResolution {
Proto,
Scaled {
width: u32,
height: u32,
},
}Expand description
Controls the resolution and coordinate frame of masks produced by
ImageProcessor::materialize_masks.
Protoreturns per-detection tiles at proto-plane resolution (e.g. 48×32 u8 for a typical COCO bbox on a 160×160 proto plane). This is the historical behavior ofmaterialize_masksand the fastest path because no upsample runs inside HAL. Mask values are continuous sigmoid output quantized touint8 [0, 255].Scaledreturns per-detection tiles at caller-specified pixel resolution by upsampling the full proto plane once and cropping by bbox after sigmoid. The upsample uses bilinear interpolation with edge-clamp sampling — semantically equivalent to Ultralytics’process_masks_retinareference. When aletterboxis also passed tomaterialize_masks, the inverse letterbox transform is applied during the upsample so mask pixels land in original-content coordinates (drop-in for overlay on the original image). Mask values are binaryuint8 {0, 255}after thresholding sigmoid > 0.5 — interchangeable withProtooutput via the same> 127test.
Variants§
Proto
Per-detection tile at proto-plane resolution (default).
Scaled
Per-detection tile at (width, height) pixel resolution in the
coordinate frame determined by the letterbox parameter of
ImageProcessor::materialize_masks.
Trait Implementations§
Source§impl Clone for MaskResolution
impl Clone for MaskResolution
Source§fn clone(&self) -> MaskResolution
fn clone(&self) -> MaskResolution
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 MaskResolution
impl Debug for MaskResolution
Source§impl Default for MaskResolution
impl Default for MaskResolution
Source§fn default() -> MaskResolution
fn default() -> MaskResolution
Returns the “default value” for a type. Read more
Source§impl PartialEq for MaskResolution
impl PartialEq for MaskResolution
Source§fn eq(&self, other: &MaskResolution) -> bool
fn eq(&self, other: &MaskResolution) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for MaskResolution
impl Eq for MaskResolution
impl StructuralPartialEq for MaskResolution
Auto Trait Implementations§
impl Freeze for MaskResolution
impl RefUnwindSafe for MaskResolution
impl Send for MaskResolution
impl Sync for MaskResolution
impl Unpin for MaskResolution
impl UnsafeUnpin for MaskResolution
impl UnwindSafe for MaskResolution
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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<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.