Skip to main content

Package for handling COCO datasets types.

Project description

COCO Types

PyPI PyPI - Implementation PyPI - Python Version PyPI - Downloads License Linting Tests

Package for handling COCO datasets types.
Note: This package loads the data as is and does not create dictionaries mapping ids to lists of images/annotations/categories.

Installation

The package is available on pypi here, you can install it with:

pip install coco-types

Loading COCO data

You can load COCO dataset labels into Pydantic objects by using the Dataset and DatasetKP classes.

For an object detection dataset:

import coco_types

with open("path/to/json", encoding="utf-8") as data_file:
    dataset = coco_types.Dataset.parse_raw(data_file.read())

For a keypoint detection dataset:

import coco_types

with open("path/to/json", encoding="utf-8") as data_file:
    dataset = coco_types.DatasetKP.parse_raw(data_file.read())

Usage example:

import coco_types

with open("path/to/json", encoding="utf-8") as data_file:
    dataset = coco_types.Dataset.parse_raw(data_file.read())

img = dataset.images[0]
print(f"Image's filename {img.file_name}")
print(f"Image's id {img.id}")
print(f"Image's height {img.height}")
print(f"Image's width {img.width}")

img_annotations = [annotation for annotation in dataset.annotations
                   if annotation.image_id == img.id]
ann = img_annotations[0]
print(f"Annotation's id: {ann.id}")
print(f"Annotation's image id: {ann.image_id}")
print(f"Annotation's category id: {ann.category_id}")
print(f"Annotation's iscrowd: {ann.iscrowd}")
print(f"Annotation's bbox: {ann.bbox}")
print(f"Annotation's area {ann.area}")

for cat in dataset.categories:
    if cat.id == ann.category_id:
        break

print(f"Category's name {cat.name}")
print(f"Category's supercategory {cat.supercategory}")

Keypoints

If using a dataset with keypoints (coco_types.DatasetKP), then annotations will have two additional attributes: keypoints and num_keypoints.
In the same way, categories will have two additional attributes: keypoints and skeleton.

TypedDict versions

A TypedDict version of the pydantic models can be accessed using coco_types.dicts.* (for example coco_types.dicts.Dataset). This can be useful if you have data that is slightly malformed / follows a slightly different format but is still usable.

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

coco_types-0.0.10.tar.gz (24.8 kB view details)

Uploaded Source

Built Distribution

coco_types-0.0.10-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file coco_types-0.0.10.tar.gz.

File metadata

  • Download URL: coco_types-0.0.10.tar.gz
  • Upload date:
  • Size: 24.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.24.0

File hashes

Hashes for coco_types-0.0.10.tar.gz
Algorithm Hash digest
SHA256 c23933b303feb78bf09310424c6ec2443a1e3b851e9febfc6ce91a822e08a420
MD5 3ea16f0c61fe18eb58eed17e77ad25c6
BLAKE2b-256 c695cc5f809784830a138f3e0472b586dd0d69e59d7f6796a9c2199d9ea0baf5

See more details on using hashes here.

File details

Details for the file coco_types-0.0.10-py3-none-any.whl.

File metadata

File hashes

Hashes for coco_types-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 4e7e3fc56ea2d21c4aa532771b52b4d641cea114304108a40cdee87c3dee7f8a
MD5 151cafd0411b743d8e49d280255a7788
BLAKE2b-256 484b0ca590124cc0c55e2d27f83d804244b03fe381c647a477d3883c608deb02

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