Skip to main content

Integration between V7 Darwin and Voxel51

Project description

darwin_fiftyone

Provides integration between Voxel51 and V7 Darwin. This enables Voxel51 users to send subsets of their datasets to Darwin for annotation and review. The annotated data can then be imported back into Voxel51.

This integration is currently in beta.

Example Usage

To illustrate, let's upload all files from the zoo dataset "quickstart" into a Darwin dataset named "quickstart-example". If the dataset doesn't already exist in Darwin, it will be created.

import fiftyone.zoo as foz
dataset = foz.load_zoo_dataset("quickstart", dataset_name="quickstart-example")

#If video annotation
dataset.ensure_frames()

dataset.annotate(
    "annotation_job_key",
    label_field="ground_truth",
    atts=["iscrowd"],
    launch_editor=True,
    backend="darwin",
    dataset_slug="quickstart-example",
    external_storage="example-darwin-storage-slug",
    base_url="https://darwin.v7labs.com/api/v2/teams",
)

Note: You will have to use the ensure_frames() method on the dataset/view if you are annotating videos. You must also ensure that the label_field begins with frames. e.g. frames.detections

After the annotations and reviews are completed in Darwin, you can fetch the updated data as follows:

dataset.load_annotations("annotation_job_key")

API

In addition to the standard arguments provided by dataset.annotate(), we also support:

  • backend=darwin, Indicates that the Darwin backend is being used.
  • atts, Specifies attribute subannotations to be added in the labelling job
  • dataset_slug, Specifies the name of the dataset to use or create on Darwin.
  • external_storage, Specifies the sluggified name of the Darwin external storage and indicates that all files should be treated as external storage

Checking Status

You can check the status of your V7 Darwin dataset by calling the check_status() method

results = dataset.load_annotation_results(anno_key)
results.check_status()

Configuration

To integrate with the Darwin backend:

  1. Install the backend:
pip install .
  1. Configure voxel51 to use it.
cat ~/.fiftyone/annotation_config.json
{
  "backends": {
    "darwin": {
      "config_cls": "darwin_fiftyone.DarwinBackendConfig",
      "api_key": "d8mLUXQ.**********************"
    }
  }
}

Note: Replace the api_key placeholder with a valid API key generated from Darwin.

Supported Annotation Types

The integration currently supports bounding boxes, polygons (closed polylines), keypoints, and tags (classification). It also supports attributes, text, instance ids, and properties subtypes.

Future development work will focus on the addition of annotation and subannotation types. Do reach out if you have suggestions.

TODO

  • Support for read only external data storage
  • Support for mask and keypoint skeleton types

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

darwin-fiftyone-1.1.5.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

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

darwin_fiftyone-1.1.5-py2-none-any.whl (14.7 kB view details)

Uploaded Python 2

File details

Details for the file darwin-fiftyone-1.1.5.tar.gz.

File metadata

  • Download URL: darwin-fiftyone-1.1.5.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for darwin-fiftyone-1.1.5.tar.gz
Algorithm Hash digest
SHA256 a05b4348c440a8074c50e2e0b8134847675ec421a91c4f424c2816b7bc69088c
MD5 bbc789a602e0a763177163ba45be1fc0
BLAKE2b-256 a64a6eb1e37ca9ecc7bc537c74060e03e06b56fa10692c6ecc2a026c9d812c1f

See more details on using hashes here.

File details

Details for the file darwin_fiftyone-1.1.5-py2-none-any.whl.

File metadata

File hashes

Hashes for darwin_fiftyone-1.1.5-py2-none-any.whl
Algorithm Hash digest
SHA256 23623b8d632b154849ddc8df6a857b769c0f5ea6a2a369d7a8d230bf90aa2673
MD5 de975252094c43a8d92636f5ef39c750
BLAKE2b-256 15ec65020fc8ef0bc2f8ed0fb4ed3e86d651af63a1a906b349545c3c4fb41273

See more details on using hashes here.

Supported by

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