pub enum KernelKind {
Bbox,
Segm,
Boundary,
Keypoints,
}Expand description
Discriminator for the four kernel families on the IoU axis (per ADR-0012’s iou-type taxonomy). Carried in distributed-eval partials (ADR-0031) so a head-rank reconstruction refuses to merge bbox and segm partials silently.
Variant order is wire-format load-bearing: the rkyv archived discriminant is keyed off it. Adding new kernels appends; never reorder, never remove. Use a new ADR + format-version bump if the space ever needs to change.
Variants§
Bbox
BboxIou — axis-aligned box IoU (the default).
Segm
SegmIou (and SegmIouCached) — RLE/polygon mask IoU.
Boundary
BoundaryIou (and BoundaryIouCached) — boundary-IoU per ADR-0017.
Keypoints
OksSimilarity — OKS-based keypoints similarity (ADR-0012).
Implementations§
Source§impl KernelKind
impl KernelKind
Sourcepub const fn discriminator(self) -> u32
pub const fn discriminator(self) -> u32
u32 discriminator carried in the wire envelope header
(ADR-0032). Stable values: Bbox=0, Segm=1, Boundary=2, Keypoints=3 — the same values ADR-0031 wrote as a u8.
Adding new kernels appends; never reorder.
Trait Implementations§
Source§impl Archive for KernelKind
impl Archive for KernelKind
Source§type Archived = ArchivedKernelKind
type Archived = ArchivedKernelKind
Source§type Resolver = KernelKindResolver
type Resolver = KernelKindResolver
Source§fn resolve(
&self,
resolver: <Self as Archive>::Resolver,
out: Place<<Self as Archive>::Archived>,
)
fn resolve( &self, resolver: <Self as Archive>::Resolver, out: Place<<Self as Archive>::Archived>, )
Source§const COPY_OPTIMIZATION: CopyOptimization<Self> = _
const COPY_OPTIMIZATION: CopyOptimization<Self> = _
serialize. Read moreSource§impl Clone for KernelKind
impl Clone for KernelKind
Source§fn clone(&self) -> KernelKind
fn clone(&self) -> KernelKind
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 KernelKind
impl Debug for KernelKind
Source§impl<__D: Fallible + ?Sized> Deserialize<KernelKind, __D> for Archived<KernelKind>
impl<__D: Fallible + ?Sized> Deserialize<KernelKind, __D> for Archived<KernelKind>
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<KernelKind, <__D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<KernelKind, <__D as Fallible>::Error>
Source§impl Hash for KernelKind
impl Hash for KernelKind
Source§impl PartialEq for KernelKind
impl PartialEq for KernelKind
Source§fn eq(&self, other: &KernelKind) -> bool
fn eq(&self, other: &KernelKind) -> bool
self and other values to be equal, and is used by ==.impl Copy for KernelKind
impl Eq for KernelKind
impl StructuralPartialEq for KernelKind
Auto Trait Implementations§
impl Freeze for KernelKind
impl RefUnwindSafe for KernelKind
impl Send for KernelKind
impl Sync for KernelKind
impl Unpin for KernelKind
impl UnsafeUnpin for KernelKind
impl UnwindSafe for KernelKind
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
Archive, it may be
unsized. Read moreSource§fn archived_metadata(
&self,
) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
fn archived_metadata( &self, ) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.