pub struct AreaRange {
pub index: usize,
pub lo: f64,
pub hi: f64,
}Expand description
Closed [lo, hi] area bucket — both bounds are inclusive per quirks
D6/D7, so an annotation with area exactly equal to a bound lands
in this bucket (and in the adjacent one when the boundary is shared).
index is the position on the Accumulated A-axis the resulting
PerImageEval feeds into; matched at summarize time against
crate::summarize::AreaRng::index.
Fields§
§index: usizeA-axis position. 0 is conventionally the all bucket, matching
crate::summarize::AreaRng::ALL.
lo: f64Lower bound (inclusive — quirks D6/D7).
hi: f64Upper bound (inclusive — quirks D6/D7). Use AREA_UNBOUNDED
for “no upper bound”.
Implementations§
Source§impl AreaRange
impl AreaRange
Sourcepub fn coco_default() -> [Self; 4]
pub fn coco_default() -> [Self; 4]
Pycocotools’ default detection grid: all, small, medium,
large. Indices line up with crate::summarize::AreaRng’s ALL /
SMALL / MEDIUM / LARGE constants.
Sourcepub fn keypoints_default() -> [Self; 3]
pub fn keypoints_default() -> [Self; 3]
Keypoints area grid (per ADR-0012, quirk D5): all, medium,
large — pycocotools drops the small bucket for kp eval. The
A-axis is compressed to 3 entries with indices 0 = all,
1 = medium, 2 = large. Pair with
crate::summarize::StatRequest::coco_keypoints_default so the
summarizer’s req.area.index lookups land on the right slice.
Trait Implementations§
Source§impl Archive for AreaRange
impl Archive for AreaRange
Source§const COPY_OPTIMIZATION: CopyOptimization<Self>
const COPY_OPTIMIZATION: CopyOptimization<Self>
serialize. Read moreSource§type Archived = ArchivedAreaRange
type Archived = ArchivedAreaRange
Source§type Resolver = AreaRangeResolver
type Resolver = AreaRangeResolver
impl Copy for AreaRange
impl StructuralPartialEq for AreaRange
Auto Trait Implementations§
impl Freeze for AreaRange
impl RefUnwindSafe for AreaRange
impl Send for AreaRange
impl Sync for AreaRange
impl Unpin for AreaRange
impl UnsafeUnpin for AreaRange
impl UnwindSafe for AreaRange
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<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.