pub struct CrossClassIous { /* private fields */ }Expand description
Per-image cross-class IoU matrices and the parallel category-index vectors that label each row/column.
Per ADR-0023, this is the side-pass output the TIDE Cls/Both bin
assignment and the confusion-matrix capability both consume:
IoU(DT_class_A, GT_class_B) for every (A, B) pair on a given
image, materialized once per call.
Keyed by image_idx — the position of the image in the
id-ascending ordering used by crate::evaluate_with. For each
populated image:
inner[i]is the dense(D_total, G_total)IoU matrix produced by the kernel on the un-class-filtered per-image lists.dt_classes[i]carries the category index per row, in the same order as the matrix’s row axis.gt_classes[i]carries the category index per column.
The “category index” is the position of the category in the
deterministic id-ascending category ordering crate::evaluate_with
uses for its K axis — the same indexing the rest of the spine
reasons in. It is not the COCO category id.
Distinct from RetainedIous: that store carries same-class IoU
keyed (category_index, image_index) for the result-tables
product, whereas this store carries the cross-class matrix keyed
purely by image. The two have different consumers and different
keying; they are deliberately not unified (per ADR-0023).
Images with no GTs and no DTs are absent from the maps.
Implementations§
Source§impl CrossClassIous
impl CrossClassIous
Sourcepub fn get(&self, image_idx: usize) -> Option<ArrayView2<'_, f64>>
pub fn get(&self, image_idx: usize) -> Option<ArrayView2<'_, f64>>
Borrow the cross-class IoU matrix for image_idx, if present.
Rows index DTs (in the Self::dt_classes order); columns
index GTs (in the Self::gt_classes order).
Sourcepub fn dt_classes(&self, image_idx: usize) -> Option<&[usize]>
pub fn dt_classes(&self, image_idx: usize) -> Option<&[usize]>
Borrow the per-row DT category indices for image_idx.
Sourcepub fn gt_classes(&self, image_idx: usize) -> Option<&[usize]>
pub fn gt_classes(&self, image_idx: usize) -> Option<&[usize]>
Borrow the per-column GT category indices for image_idx.
Trait Implementations§
Source§impl Clone for CrossClassIous
impl Clone for CrossClassIous
Source§fn clone(&self) -> CrossClassIous
fn clone(&self) -> CrossClassIous
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 CrossClassIous
impl Debug for CrossClassIous
Source§impl Default for CrossClassIous
impl Default for CrossClassIous
Source§fn default() -> CrossClassIous
fn default() -> CrossClassIous
Auto Trait Implementations§
impl Freeze for CrossClassIous
impl RefUnwindSafe for CrossClassIous
impl Send for CrossClassIous
impl Sync for CrossClassIous
impl Unpin for CrossClassIous
impl UnsafeUnpin for CrossClassIous
impl UnwindSafe for CrossClassIous
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> 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<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.