Skip to main content

Manipulate run-length-encoded image masks

Project description

RLEMaskLib: Run-Length Encoded Mask Operations

Read the Docs PyPI - Version

This library provides efficient run-length encoded (RLE) operations for binary masks in Python. It is designed to be fast and memory efficient, and is particularly useful for working with large datasets. The library provides an intuitive and extensive object-oriented interface as well as a simpler functional one. To achieve high efficiency, the core functionality is implemented in C, and wrapped via Cython.

RLEMaskLib is fully compatible with the COCO mask format (in the form of dictionaries) but can also work directly with runlength sequences.

The library provides many operations on masks, including:

  • Set operations (complement, difference, symmetric difference) and custom boolean functions.
  • Crop, pad, tile, concatenate
  • Connected components extraction
  • Warp (affine, perspective, lens distortion)
  • Transpose, flip, rotate by multiples of 90 degrees
  • Binary morphology: dilate, erode, open, close
  • Convolve with arbitrary kernels
  • Directly create fully foreground and fully background masks
  • Decompress of COCO's compressed RLE format to integer run-lengths, and vice versa
  • Extra compression (optional) using gzip on top of the LEB128-like encoding used by the COCO API (~40% reduction beyond the COCO compression)
  • Object-oriented and functional APIs.

This library originates as a fork of the COCO API's pycocotools.mask module (which was originally written by Piotr Dollár and Tsung-Yi Lin) but now mostly consists of new code.

Installation

pip install rlemasklib

Documentation

See https://rlemasklib.readthedocs.io/.

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

rlemasklib-0.3.12.tar.gz (466.8 kB view details)

Uploaded Source

File details

Details for the file rlemasklib-0.3.12.tar.gz.

File metadata

  • Download URL: rlemasklib-0.3.12.tar.gz
  • Upload date:
  • Size: 466.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for rlemasklib-0.3.12.tar.gz
Algorithm Hash digest
SHA256 5ab7f334ebc0e11d22f69ed0d24629284d1f40bd6148f1d36b29411919f9dfdb
MD5 2d5e2fd4b342471f7d15658f7161c5c3
BLAKE2b-256 719dac70e48f2d737bfccd0b0e0d69dd1c9745c45a09a8110ae75af10a3f151a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rlemasklib-0.3.12.tar.gz:

Publisher: python-publish.yml on isarandi/rlemasklib

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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