Skip to main content

Simple bounding box operations

Project description

Package bbx

Simple operations over bounding boxes. The package provides a class Boxes encapsulating a set of bounding boxes. Internally, the boxes are represented in an Nx4 matrix with x1,y1,x2,y2 coordinates. Instances of Boxes support arbitraty user-defined fields which can hold other properties of boxes like e.g. score.

import bbx

B = bbx.Boxes([0,0,10,10])  # New instance
B.set_field("score", [1])  # Set the field
B.width()  # [10]
C = bbx.resize(B, 2)  # Resize and make new instance
C.get() # [[-5,-5,15,15]]
C.get_field("score")  # [1]
C.area()  # [400]

But why?

... for the glory of s... But seriously, I use bounding boxes in every other project and there is no decent small package for this. Yes I can use TF obj detection api (and I did for a while, this pkg have similar interface to it) or structures from imgaug or others. I did not find anything that suits my needs (if you know about something just let me know). You either install a big non-standard package with tons of functionality you do not need or you implement it by yourself. So I decided to make a very small package that does precisely what I need and nothing more, is portable (just numpy needed, and you already have it!).

Yes, I just implemented a non-standard package, so I so not need to use other non-standard packages... yes, I know...

Installation

The package is in PyPI so just use pip

pip install bbx

Contribute

Feelin' brave? Contribute with code! You can also submit an issue if something is broken.

License

This code is published under MIT License

Project details


Download files

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

Source Distribution

bbx-1.1.2.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

bbx-1.1.2-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file bbx-1.1.2.tar.gz.

File metadata

  • Download URL: bbx-1.1.2.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.15

File hashes

Hashes for bbx-1.1.2.tar.gz
Algorithm Hash digest
SHA256 31b2409e2d3dcb5c0dbf5479a370f8857105765b4de1a44cf4a6f2e2b1261c16
MD5 99300b4697564d9f4f9025d14f7a46fe
BLAKE2b-256 701a39a9250280ac50f31ec4bb8f22364b3fd3f203c03293ac3bda2a3a5c4b8d

See more details on using hashes here.

File details

Details for the file bbx-1.1.2-py3-none-any.whl.

File metadata

  • Download URL: bbx-1.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.15

File hashes

Hashes for bbx-1.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1928a3fd7020b3c497a14e2587afa4220492f547e8fbaa3bd71280b9629c5f71
MD5 3e1ad378fed9cca42e1a103766a6fd08
BLAKE2b-256 3248136fcc10838056728611eb408a1ce5f0dbce9736ebf03f23975af21e6e79

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