pub struct EvalImageMeta {
pub image_id: i64,
pub category_id: i64,
pub area_rng: [f64; 2],
pub max_det: usize,
pub dt_ids: Vec<i64>,
pub gt_ids: Vec<i64>,
pub dt_matches: Array2<i64>,
pub gt_matches: Array2<i64>,
}Expand description
Pycocotools-shaped per-cell bookkeeping that the matching engine
strips out when packing PerImageEval. Surfaced separately so the
accumulator stays narrow per ADR-0005, and FFI / COCOeval drop-in
consumers can reconstruct evalImgs dicts without re-running eval.
All dt_* axes are in score-descending sorted order (stable
mergesort, quirk A1); all gt_* axes are in ignore-ascending
sorted order (quirk A4). dt_matches and gt_matches carry
pycocotools’ value semantics: i64 annotation ids on a hit, 0 on a
miss (matching dtm/gtm initialization in cocoeval.py).
Fields§
§image_id: i64COCO image id for this cell.
category_id: i64COCO category id, or COLLAPSED_CATEGORY_SENTINEL when
use_cats=false.
area_rng: [f64; 2]Active area range as [lo, hi], mirroring pycocotools’ aRng.
max_det: usizemax_dets_per_image cap that produced this cell’s DT slice.
dt_ids: Vec<i64>DT annotation ids in sorted-DT order, length D.
gt_ids: Vec<i64>GT annotation ids in sorted-GT order, length G.
dt_matches: Array2<i64>Shape (T, D). GT id matched at (threshold, sorted-DT k), or
0 if unmatched (pycocotools sentinel; safe because COCO ids are
>= 1 per spec, and vernier’s auto-id assignment also starts at 1).
gt_matches: Array2<i64>Shape (T, G). DT id matched at (threshold, sorted-GT k), or
0 if unmatched (same >= 1 invariant as dt_matches).
Trait Implementations§
Source§impl Clone for EvalImageMeta
impl Clone for EvalImageMeta
Source§fn clone(&self) -> EvalImageMeta
fn clone(&self) -> EvalImageMeta
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for EvalImageMeta
impl RefUnwindSafe for EvalImageMeta
impl Send for EvalImageMeta
impl Sync for EvalImageMeta
impl Unpin for EvalImageMeta
impl UnsafeUnpin for EvalImageMeta
impl UnwindSafe for EvalImageMeta
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.