Skip to main content

Introduction

echo1-coco-builder provides a faster, safer way to build coco formatted data.

See: https://cocodataset.org/#format-data for more information

Installation

# If using pip
pip install echo1-coco-builder

# If using poetry
poetry add echo1-coco-builder

Example use (building coco annotations)

import pandas as pd
from echo1_coco_builder.annotations_builder import CocoAnnotationsBuilder

# Open a CSV using pandas
df = pd.read_csv("./tests/data/test.csv")

# Initialize the coco builder
coco_builder = CocoAnnotationsBuilder()

# For each row in the csv
for annotation_id, row in df.iterrows():

    # image_id must be an integer
    image_id = row["image_name"]

    # image_name must be a string
    file_name = row["image_name"]

    # image_width and image_height must be an integer
    image_width = row["image_width"]
    image_height = row["image_height"]

    # category_id must be an integer
    category_id = row["category_id"]

    # category_name must be a string
    category_name = row["category_name"]

    # bbox format: [x,y,width,height]
    bbox = row["bbox"].split(",")

    # add a new image
    coco_builder.add_image(
        {
            "id": image_id,
            "file_name": file_name,
            "width": image_width,
            "height": image_height,
        }
    )

    # add a new category
    coco_builder.add_category({"id": category_id, "name": category_name})

    # add a new annotation
    coco_builder.add_annotation(
        {
            "id": annotation_id,
            "image_id": image_id,
            "category_id": category_id,
            "bbox": bbox,
            "segmentation": segmentation,
            "iscrowd": 0,
            "area": area,
        }
    )

# add info
coco_builder.add_info(
    {
        "year": 2022,
        "version": "v1.0",
        "contributor": "Echo1",
        "description": "Contact for more info.",
        "url": "https://echo1.io",
    }
)

# print the data in the coco format as a python object
print(coco_builder)

# print the data in the coco format as json
print(coco_builder.get())

# save the data in the coco format as json
python_file = open("example-data.json", "w")
python_file.write(coco_builder.get())
python_file.close()

Example use (building coco results)

from echo1_coco_builder.results_builder import CocoResultsBuilder


# Initialize the coco generator
results_builder = CocoResultsBuilder()
results_builder.add_result(
    {
        "image_id": 1,
        "bbox": [490, 365, 14, 26],
        "score": 0.8559583425521851,
        "category_id": 1,
        "category_name": "My Category",
        "segmentation": [],
        "iscrowd": 0,
        "area": 364,
    }
)

# print the data in the coco results format as a python object
print(results_builder)

# print the data in the coco results format as json
print(results_builder.get())

Download files

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

Source Distribution

echo1-coco-builder-0.1.8.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

echo1_coco_builder-0.1.8-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file echo1-coco-builder-0.1.8.tar.gz.

File metadata

  • Download URL: echo1-coco-builder-0.1.8.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.2 Darwin/21.4.0

File hashes

Hashes for echo1-coco-builder-0.1.8.tar.gz
Algorithm Hash digest
SHA256 5365ff0e96ad1096a5abb1073409c0729b760866533c18b6e129b7b15dc6ebcb
MD5 2f0b975c43716f0cc67064fac5f3620a
BLAKE2b-256 081b021d7912a88e540b9d4b723c7a20838b3e48c2eb2fe84175a3dc77bd9568

See more details on using hashes here.

File details

Details for the file echo1_coco_builder-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: echo1_coco_builder-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.2 Darwin/21.4.0

File hashes

Hashes for echo1_coco_builder-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 39dd07564afecfaa8d3ec71ff1982f14c4abe062d727395749e472af59e0a17e
MD5 be76085dd7c397218f389791f6960256
BLAKE2b-256 27a464f9769768ff837d03665075beb13bfd3ba08a2065cf85ab69df202b6cd1

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.8 This release

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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