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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5365ff0e96ad1096a5abb1073409c0729b760866533c18b6e129b7b15dc6ebcb |
|
MD5 | 2f0b975c43716f0cc67064fac5f3620a |
|
BLAKE2b-256 | 081b021d7912a88e540b9d4b723c7a20838b3e48c2eb2fe84175a3dc77bd9568 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39dd07564afecfaa8d3ec71ff1982f14c4abe062d727395749e472af59e0a17e |
|
MD5 | be76085dd7c397218f389791f6960256 |
|
BLAKE2b-256 | 27a464f9769768ff837d03665075beb13bfd3ba08a2065cf85ab69df202b6cd1 |