kwimage.structs._generic

Module Contents

Classes

Spatial

Abstract base class defining the spatial annotation API

ObjectList

Stores a list of potentially heterogenous structures, each item usually

Functions

_consistent_dtype_fixer(data)

helper for ensuring out.dtype == in.dtype

_safe_take(data, indices, axis)

_safe_compress(data, flags, axis)

_issubclass2(child, parent)

Uses string comparisons to avoid ipython reload errors.

_isinstance2(obj, cls)

Uses string comparisons to avoid ipython reload errors.

Attributes

torch

kwimage.structs._generic.torch[source]
class kwimage.structs._generic.Spatial[source]

Bases: ubelt.NiceRepr

Abstract base class defining the spatial annotation API

class kwimage.structs._generic.ObjectList(data, meta=None)[source]

Bases: Spatial

Stores a list of potentially heterogenous structures, each item usually corresponds to a different object.

__len__(self)[source]
property shape(self)[source]
property dtype(self)[source]
__nice__(self)[source]
__getitem__(self, index)[source]
__iter__(self)[source]
translate(self, offset, output_dims=None, inplace=False)[source]
scale(self, factor, output_dims=None, inplace=False)[source]
warp(self, transform, input_dims=None, output_dims=None, inplace=False)[source]
apply(self, func)[source]
to_coco(self, style='orig')[source]
compress(self, flags, axis=0)[source]
take(self, indices, axis=0)[source]
draw(self, **kwargs)[source]
draw_on(self, image, **kwargs)[source]
tensor(self, device=ub.NoParam)[source]
numpy(self)[source]
classmethod concatenate(cls, items, axis=0)[source]
Parameters
  • items (Sequence[ObjectList]) – multiple object lists of the same type

  • axis (int | None) – unused, always implied to be axis 0

Returns

combined object list

Return type

ObjectList

Example

>>> import kwimage
>>> cls = kwimage.MaskList
>>> sub_cls = kwimage.Mask
>>> item1 = cls([sub_cls.random(), sub_cls.random()])
>>> item2 = cls([sub_cls.random()])
>>> items = [item1, item2]
>>> new = cls.concatenate(items)
>>> assert len(new) == 3
abstract is_tensor(cls)[source]
abstract is_numpy(cls)[source]
abstract classmethod random(cls)[source]
kwimage.structs._generic._consistent_dtype_fixer(data)[source]

helper for ensuring out.dtype == in.dtype

kwimage.structs._generic._safe_take(data, indices, axis)[source]
kwimage.structs._generic._safe_compress(data, flags, axis)[source]
kwimage.structs._generic._issubclass2(child, parent)[source]

Uses string comparisons to avoid ipython reload errors. Much less robust though.

kwimage.structs._generic._isinstance2(obj, cls)[source]

Uses string comparisons to avoid ipython reload errors. Much less robust though.

Example

import kwimage from kwimage.structs import _generic cls = kwimage.structs._generic.ObjectList obj = kwimage.MaskList([]) _generic._isinstance2(obj, cls)

_generic._isinstance2(kwimage.MaskList([]), _generic.ObjectList)

dets = kwimage.Detections(

boxes=kwimage.Boxes.random(3).numpy(), class_idxs=[0, 1, 1], segmentations=kwimage.MaskList([None] * 3)

)