Skip to main content

No project description provided

Project description

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())

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

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

Uploaded Source

Built Distribution

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

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.

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