Annotations

Annotation file format

You can upload annotations with the JSON structure in the SuperAnnotate annotation format. The annotation files should have the following naming conventions:

Project type

Annotation file naming convention

Pixel

<image_name>___pixel.json
<image_name>___save.png

Vector

<image_name>___objects.json

Text

<document_name>.json

Video

<video_name>.json

❗️

When you upload annotations, make sure that their corresponding items are available in the project. If they aren’t, then the annotations won’t be uploaded.

Learn more about annotation formats.

🚧

The annotations you upload override the existing annotations.

Upload annotations from local storage

To upload annotations from a local directory:

sa.upload_annotations_from_folder_to_project(
    project = "Project Name",
    folder_path = "./data/annotations")

To enable recursive subfolder upload (when annotations are stored within multiple subfolders) set recursive_subfolders to true:

sa.upload_annotations_from_folder_to_project(
    project = "Project Name",
    folder_path = "./data/annotations", 
    recursive_subfolders = True)

🚧

When you upload annotations, the status of an image will change to inProgress.

Upload annotations from a cloud storage

AWS S3 Bucket

To upload annotations from a AWS S3 bucket:

sa.upload_annotations_from_folder_to_project(
    project = "Project Name",
    folder_path = "./data/annotations",
    s3_bucket_name = "Bucket Name")

🚧

  • When you upload annotations, the status of an image will change to inProgress.

Identify invalid annotations

When you want to upload annotations from a folder, the function will identify the invalid annotations and show you a warning message that contains the number of invalid annotations.

The function will also put the paths of invalid annotations to the return tuple of (uploaded, could-not-upload, missing-images), in the could-not-upload list accordingly.

Use the function below to fetch the possible reason(s) for why an annotation is invalid.

superannotate.validate_annotations(
     project_type = “Video”, 
     annotations_json = “./<video_name.json>”)

Add annotations

You can add annotations only to images in Vector Projects.

To add a Point to an image in a specific location:

sa.add_annotation_point_to_image(
    project = "Project Name",
    image_name = "image_name.png", 
    point = [100, 200],
    annotation_class_name = "Class Name")

To add a Bounding Box to an image in a specific location:

sa.add_annotation_bbox_to_image(
    project = "Project Name", 
    image_name = "image_name.png",
    bbox = [100, 200, 300, 500],
    annotation_class_name = "Class Name")

📘

Add a Bounding Box by setting its top-right and bottom-left coordinates in the bbox field.

🚧

When you add annotations, the status of an image will change to inProgress.


Did this page help you?