Import from Dataset Ninja

Overview

Imports a public dataset from Dataset Ninja, in full or as its published sample, into the OvalBee dataset you pick. Images keep their annotations and are tagged with their split and image-level labels.

Dataset Ninja is a catalog of public computer vision datasets. Pick one from the built-in catalog or paste a link. Everything lands in the one destination dataset.

Import from Dataset Ninja Dataset

Prerequisites

RequirementWhat you need
Internet accessA worker that can reach Dataset Ninja and the server hosting the archive.

How it works

1

Looks up the archive of the chosen Dataset Ninja page, full or sample. A direct archive link is downloaded as it is, whatever Import size says.

2

Downloads and unpacks the archive.

3

Imports each Supervisely project in the archive with its annotations, then uploads any images outside a project without annotations.

4

Tags every project image with the split it came from and with its image-level labels.

5

Adds the images to the destination dataset and adds the classes and tags the projects declare to that dataset’s ontology.

FAQ

Import size defaults to Full. Choose Sample for the smaller archive published by Dataset Ninja. Catalog rows marked (no sample) have none, and a sample import of such a dataset stops with an error instead of downloading the full dataset. Direct archive URLs are downloaded as provided.

A ZIP or TAR archive holding Supervisely-formatted projects, plain image directories, or both. Projects keep their annotations, while loose JPEG, PNG, BMP, and TIFF images are imported without any.

Each project image carries the archive’s structure as asset tags, so Filter images can carve subsets out of the single imported dataset.

TagWhere it comes from
splitThe name of the dataset directory inside the archive (valid, train, robots_project-ds0), or an image label named after a split (train, val, valid, validation, test, trainval, dev). The directory wins when both are present.
class_<label>An image-level label with no value, one tag per label, always true.
<name>An image-level label that has a value, kept as it is, for example weather: rain.

In Filter images these read as images:split=valid, images:class_cat=true, images:weather=rain. Dots and commas in a label name become underscores, so the tag stays filterable. Loose images carry no tags.

The page address may not name a Dataset Ninja dataset, or the dataset isn’t published in Supervisely format, in which case only its original source offers a download. Otherwise the link couldn’t be fetched or unpacked, or the archive held no importable images.

The whole archive is imported again, and every image gets a second copy in the destination dataset. The node doesn’t replace earlier images and doesn’t create a new dataset version. Point it at a new dataset when you don’t want duplicates.

Inputs

Dataset Ninja dataset
stringRequired

Public dataset to import. Click the field to browse the Dataset Ninja catalog by name or category, or paste a dataset page or archive URL at the bottom of the dialog. Placeholder: https://datasetninja.com/pcb-component-detection. Key: LINK.

Import size
selectDefaults to fullRequired

Choose the full dataset or its published sample. If no sample is available, the import stops without downloading the full dataset. Direct archive URLs are downloaded as provided. Key: ARCHIVE_TYPE.

Options:

  • Full (full)
  • Sample (sample)
Destination dataset
datasetRequired

Dataset that receives the imported images and annotations. Type a new name to create it. Key: DATASET.

Outputs

Dataset
dataset

ID of the OvalBee dataset that received imported image assets. Key: DATASET.

JSON config

Machine-readable node interface for automation and advanced usage.

{
"name": "Import from Dataset Ninja",
"description": "Import a full dataset or a sample from Dataset Ninja, including its images, annotations, splits and image-level labels.",
"category": "Import",
"namespace": "datasetninja",
"templateKey": "import_ops/import_from_dataset_ninja",
"version": "v1",
"inputs": [
{
"key": "LINK",
"label": "Dataset Ninja dataset",
"type": "string",
"description": "Public dataset to import. Click the field to browse the [Dataset Ninja](https://datasetninja.com) catalog by name or category, or paste a dataset page or archive URL at the bottom of the dialog.",
"required": true,
"default": null,
"visibleWhen": null,
"options": {
"control": "dataset-ninja",
"placeholder": "https://datasetninja.com/pcb-component-detection"
}
},
{
"key": "ARCHIVE_TYPE",
"label": "Import size",
"type": "select",
"description": "Choose the full dataset or its published sample. If no sample is available, the import stops without downloading the full dataset. Direct archive URLs are downloaded as provided.",
"required": true,
"default": "full",
"visibleWhen": null,
"options": {
"control": "tabs",
"options": [
{
"label": "Full",
"value": "full"
},
{
"label": "Sample",
"value": "sample"
}
]
}
},
{
"key": "DATASET",
"label": "Destination dataset",
"type": "dataset",
"description": "Dataset that receives the imported images and annotations. Type a new name to create it.",
"required": true,
"default": null,
"visibleWhen": null
}
],
"outputs": [
{
"key": "DATASET",
"label": "Dataset",
"type": "dataset",
"description": "ID of the OvalBee dataset that received imported image assets.",
"artifact": false,
"badge": false,
"badgeOpens": null,
"hidden": false
}
]
}