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.10-py2.py3-none-any.whl (182.1 kB view details)

Uploaded Python 2 Python 3

kwimage-0.6.10-cp38-cp38-manylinux2010_x86_64.whl (677.3 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

kwimage-0.6.10-cp37-cp37m-manylinux2010_x86_64.whl (668.9 kB view details)

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

kwimage-0.6.10-cp36-cp36m-manylinux2010_x86_64.whl (669.3 kB view details)

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

File details

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

File metadata

  • Download URL: kwimage-0.6.10-py2.py3-none-any.whl
  • Upload date:
  • Size: 182.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.9

File hashes

Hashes for kwimage-0.6.10-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9871fc54b2a4b93aaa4311bfc23fd62bad958b051eb3f2e19d932fa7ed6a43ce
MD5 87d82d159e6d1ebd32732aa8b42b4d58
BLAKE2b-256 23ea7f5df2edffab9e7bc473f8e131e9d6008bed3ab8a4f2f900ffd6b4670c3b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kwimage-0.6.10-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 677.3 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.6

File hashes

Hashes for kwimage-0.6.10-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b1bae5c3c0da5296ad6820061374565d5d6e2b7cdedc77fe546718ad76b74802
MD5 7e92b70fff775aab05c7bf0573a01655
BLAKE2b-256 39273292179371c2e46566c5f0a1c2a0bab20479e46a8424aa4d57ef432b6817

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kwimage-0.6.10-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 668.9 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.7.9

File hashes

Hashes for kwimage-0.6.10-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 0e77baa291cdc778498e598794cd58d56c7fbe96535a3b5d4abb66200edf44e1
MD5 571578fc5f38f744308ed2c6ac999470
BLAKE2b-256 5fb5c01b38502a4ac75e9af7a90759ccd14200e90e9d2efd057f2a4830447754

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kwimage-0.6.10-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 669.3 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.6.12

File hashes

Hashes for kwimage-0.6.10-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 1239a990d089f76b1f3b84940768f008e9c4d933b6ded9c1e0f6cc8972faadd0
MD5 f74425a865fbc03628e99f90db14b3b1
BLAKE2b-256 04588975d14c41565aed480fd566629ab4a703f982823b4b95c618a6ae32e980

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