#[non_exhaustive]pub struct PreprocessSpec {
pub normalization: Normalization,
pub fit: FitMode,
pub placement: LetterboxPlacement,
pub pad: [f32; 3],
pub pad_space: PadSpace,
pub interpolation: Interpolation,
pub size: Option<(usize, usize)>,
}Expand description
A model’s input preprocessing as plain values: what the image crate needs to build a convert, produced by the decoder from model metadata.
The default is the documented edgefirst.json default: unsigned
normalization, a centred letterbox padded with pixel 114, bilinear.
use edgefirst_tensor::{FitMode, LetterboxPlacement, PreprocessSpec};
let spec = PreprocessSpec::default();
assert_eq!(spec.fit, FitMode::Letterbox);
assert_eq!(spec.placement, LetterboxPlacement::Center);
assert_eq!(spec.pad, [114.0; 3]);Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.normalization: NormalizationPixel normalization.
fit: FitModeStretch or letterbox.
placement: LetterboxPlacementLetterbox placement; ignored by a stretch.
pad: [f32; 3]Letterbox pad per RGB channel, in the space pad_space names.
pad_space: PadSpaceThe space pad is expressed in.
interpolation: InterpolationResampling filter of the reference pipeline.
size: Option<(usize, usize)>Model input (width, height), when known.
Implementations§
Trait Implementations§
Source§impl Clone for PreprocessSpec
impl Clone for PreprocessSpec
Source§impl ContentRegionSource for PreprocessSpec
impl ContentRegionSource for PreprocessSpec
Source§fn content_region(
&self,
src_w: usize,
src_h: usize,
dst_w: usize,
dst_h: usize,
) -> Result<ContentRegion>
fn content_region( &self, src_w: usize, src_h: usize, dst_w: usize, dst_h: usize, ) -> Result<ContentRegion>
impl Copy for PreprocessSpec
Source§impl Debug for PreprocessSpec
impl Debug for PreprocessSpec
Source§impl Default for PreprocessSpec
impl Default for PreprocessSpec
Source§impl PartialEq for PreprocessSpec
impl PartialEq for PreprocessSpec
impl StructuralPartialEq for PreprocessSpec
Auto Trait Implementations§
impl Freeze for PreprocessSpec
impl RefUnwindSafe for PreprocessSpec
impl Send for PreprocessSpec
impl Sync for PreprocessSpec
impl Unpin for PreprocessSpec
impl UnsafeUnpin for PreprocessSpec
impl UnwindSafe for PreprocessSpec
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 more