Skip to main content

No project description provided

Project description

GitlabCIPipeline GitlabCICoverage Appveyor Pypi Downloads ReadTheDocs

The main webpage for this project is: https://gitlab.kitware.com/computer-vision/kwimage

The kwimage module handles low-level image operations at a high level.

The core kwimage is a functional library with image-related helper functions that are either unimplemented in or more have a more general interface then their opencv counterparts.

The kwimage module builds on kwarray and provides tools commonly needed when addressing computer vision problems. This includes functions for reading images, resizing, image warp transformations, run-length-encoding, and non-maximum-suppression.

The kwimage module is also the current home of my annotation data structures, which provide efficient ways to interoperate between different common annotation formats (e.g. different bounding box / polygon / point formats). These data structures have both a .draw and .draw_on method for overlaying visualizations on matplotlib axes or numpy image matrices respectively.

Read the docs at: http://kwimage.readthedocs.io/en/master/

The top-level API is:

from .algo import (available_nms_impls, daq_spatial_nms, non_max_supression,)
from .im_alphablend import (ensure_alpha_channel, overlay_alpha_images,
                            overlay_alpha_layers,)
from .im_color import (Color,)
from .im_core import (atleast_3channels, ensure_float01, ensure_uint255,
                      make_channels_comparable, num_channels,)
from .im_cv2 import (convert_colorspace, gaussian_patch, imresize, imscale,)
from .im_demodata import (grab_test_image, grab_test_image_fpath,)
from .im_draw import (draw_boxes_on_image, draw_clf_on_image,
                      draw_line_segments_on_image, draw_text_on_image,
                      draw_vector_field, make_heatmask, make_orimask,
                      make_vector_field,)
from .im_filter import (fourier_mask, radial_fourier_mask,)
from .im_io import (imread, imwrite, load_image_shape,)
from .im_runlen import (decode_run_length, encode_run_length, rle_translate,)
from .im_stack import (stack_images, stack_images_grid,)
from .structs import (Boxes, Coords, Detections, Heatmap, Mask, MaskList,
                      MultiPolygon, Points, PointsList, Polygon, PolygonList,
                      Segmentation, SegmentationList, smooth_prob,)
from .util_warp import (add_homog, remove_homog,
                        subpixel_accum, subpixel_align, subpixel_getvalue,
                        subpixel_maximum, subpixel_minimum, subpixel_set,
                        subpixel_setvalue, subpixel_slice, subpixel_translate,
                        warp_points, warp_tensor,)

NOTE: THE KWIMAGE STRUCTS WILL EVENTUALLY MOVE TO THE KWANNOT REPO

The most notable feature of the kwimage module are the kwimage.structs objects. This includes the primitive Boxes, Mask, and Coords objects, The semi-primitive Points, Polygon structures, and the composite Heatmap and Detections structures (note: Heatmap is just a composite of array-like structures).

The primitive and semi-primitive objects store and manipulate annotation geometry, and the composite structures combine primitives into a single object that jointly manipulates the primitives using warp operations.

The Detections structure is a meta-structure that associates the other more primitive components, and allows a developer to compose them into something that represents objects of interest. The details of this composition are left up to the end-application.

The Detections object can also be “rasterized” and converted into a Heatmap object, which represents the same information, but is in a form that is more suitable for use when training convolutional neural networks. Likewise, the output of neural networks can be directly encoded in a kwimage.Heatmap object. The Heatmap.detect method can then be used to convert the dense heatmap representation into a spare Detections representation that is more suitable for use in an object-detection system. We note that the detect function is not a special detection algorithm. The detection algorithm (which is outside the scope of kwimage) produces the heatmap, and the detect method effectively “inverts” the rasterize procedure of Detections by finding peaks in the heatmap, and running non-maximum suppression.

This module contains data structures for three image annotation primitives:

  • Boxes # technically this could be made out of Coords and renamed to VectorCoords

  • Mask # likewise this could be renamed to RasterCoords

  • Coords #

These primative structures are used to define these metadata-containing composites:

  • Detections

  • Polygon

  • Heatmap

  • MultiPolygon

  • PolygonList

  • MaskList

All of these structures have a self.data attribute that holds a pointer to the underlying data representation.

Some of these structures have a self.format attribute describing the underlying data representation.

Most of the compositie strucutres also have a self.meta attribute, which holds user-level metadata (e.g. info about the classes).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

kwimage-0.6.5-py2.py3-none-any.whl (178.9 kB view details)

Uploaded Python 2 Python 3

kwimage-0.6.5-cp38-cp38-manylinux2010_x86_64.whl (675.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

kwimage-0.6.5-cp37-cp37m-manylinux2010_x86_64.whl (667.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

kwimage-0.6.5-cp36-cp36m-manylinux2010_x86_64.whl (668.1 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

kwimage-0.6.5-cp35-cp35m-manylinux2010_x86_64.whl (659.2 kB view details)

Uploaded CPython 3.5m manylinux: glibc 2.12+ x86-64

File details

Details for the file kwimage-0.6.5-py2.py3-none-any.whl.

File metadata

  • Download URL: kwimage-0.6.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 178.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.9

File hashes

Hashes for kwimage-0.6.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b8205510b8e3e42426eaabce835fd6ab704666ca8d22daaa8e94ca7a6da581a1
MD5 0da15af141f991244add684bcbbb37a9
BLAKE2b-256 cbacd819fcb7d385e5e069e4ce6832764663929532b599b4547a04aa3832838b

See more details on using hashes here.

File details

Details for the file kwimage-0.6.5-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: kwimage-0.6.5-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 675.8 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for kwimage-0.6.5-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 ce726e121186e5d3c4de11f18422a4db4fa805f47c1a8314fdb627f498403957
MD5 93bc7e6779bae69dded8f23b949989b7
BLAKE2b-256 1a65423bc1f00226c7e9ea4579b004e39e58d00e587a7c467423ef83a158cd1a

See more details on using hashes here.

File details

Details for the file kwimage-0.6.5-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: kwimage-0.6.5-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 667.4 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.9

File hashes

Hashes for kwimage-0.6.5-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 0c6edf2b156a7d155cc9dc7cf01777d9a3c8c02dcc8481b8257662c733c069a5
MD5 d0041f06fd1a1fb2d88a49dd69438996
BLAKE2b-256 bde492a74814ab3a00b698f68f253fdf938b7c2e3bede6bd2fbfcfb5eef3bf51

See more details on using hashes here.

File details

Details for the file kwimage-0.6.5-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: kwimage-0.6.5-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 668.1 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.12

File hashes

Hashes for kwimage-0.6.5-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 979701ce156798496d908d239c067b829dd1f85ce7f66eabfc69d4ddc4131a62
MD5 79aeee338e9a293a0ab9e7fe65a2a3d6
BLAKE2b-256 a7e43a4a6ccaec6dfc79cd910ec3bcd4f0b77a17fe4a062620951df839984c97

See more details on using hashes here.

File details

Details for the file kwimage-0.6.5-cp35-cp35m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: kwimage-0.6.5-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 659.2 kB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.3.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.5.9

File hashes

Hashes for kwimage-0.6.5-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 42b86338763142684e577f6ec83cc512c2f1039592fb3a05ee7d931e5d2b052d
MD5 1436db4622f94fbe7407347bdb5fbef4
BLAKE2b-256 4a3d4492a8b28f68e1fc5cac5e60a52a294813bf3fc58361cf66e31dac90ba53

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page