Dataset¶
- class Dataset[source]¶
Bases:
supervisely.collection.key_indexed_collection.KeyObject
Dataset is where your labeled and unlabeled images and other data files live.
Dataset
object is immutable.- Parameters
- directory : str
Path to dataset directory.
- mode :
OpenMode
, optional. If not provided, dataset_id must be provided. Determines working mode for the given dataset.
- parents : List[str]
List of parent directories, e.g. [“ds1”, “ds2”, “ds3”].
- dataset_id : Optional[int]
Dataset ID if the Dataset is opened in API mode. If dataset_id is specified then api must be specified as well.
- api : Optional[:class:`Api<supervis
API object if the Dataset is opened in API mode.
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" # To open dataset locally in read mode ds = sly.Dataset(dataset_path, sly.OpenMode.READ) # To open dataset on API api = sly.Api.from_env() ds = sly.Dataset(dataset_path, dataset_id=1, api=api)
Methods
Adds given item file to dataset items directory, and adds given annotation to dataset annotations directory.
Adds given item file to dataset items directory, and adds given annotation to dataset annotations directory.
Adds given numpy matrix as an image to dataset items directory, and adds given annotation to dataset ann directory.
Adds given binary object as an image to dataset items directory, and adds given annotation to dataset ann directory.
Adds given binary object as an image to dataset items directory, and adds given annotation to dataset ann directory.
datasets_dir
Delete image, image info and annotation from
Dataset
.Generates full path to the given item.
Read annotation of item from json.
Path to the given annotation json file.
get_classes_stats
Information for Item with given name.
Get path to the image info json file without checking if the file exists.
Path to the given image.
Information for Item with given name.
Get path to the item info json file without checking if the file exists.
Get path to the item info json file without checking if the file exists.
Path to the given item.
Generates
ItemPaths
object with paths to item and annotation directories for item with given name.List of dataset item names.
Get path to the png segmentation mask file without checking if the file exists.
Get URL to dataset items list in Supervisely.
ignorable_dirs
Checks if given item name belongs to the dataset.
This method is used to iterate over dataset items, receiving item name, path to image and path to annotation json file.
key
Replaces given annotation for given item name to dataset annotations directory in json format.
Replaces given annotation for given item name to dataset annotations directory in json format.
Replaces given annotation json for given item name to dataset annotations directory in json format.
Replaces given annotation json for given item name to dataset annotations directory in json format.
Replaces given annotation json file for given item name to dataset annotations directory in json format.
Replaces given annotation json file for given item name to dataset annotations directory in json format.
Convert Supervisely dataset to COCO format.
Convert Supervisely dataset to Pascal VOC format.
Convert Supervisely dataset to YOLO format.
Attributes
Path to the dataset annotations directory.
ann_dir_name
datasets_dir_name
Path to the dataset directory.
If the dataset is opened from the API, returns the list of ImageInfo objects.
Path to the dataset images directory.
Path to the dataset image info directory.
Path to the dataset items directory.
item_dir_name
Path to the dataset item info directory.
item_info_dir_name
Path to the dataset segmentation masks directory.
meta_dir_name
Full Dataset name, which includes it's parents, e.g.
Returns a relative local path to the dataset.
Path to the project containing the dataset.
Path to the dataset segmentation masks directory.
seg_dir_name
Short dataset name, which does not include it's parents.
- annotation_class¶
- item_info_class¶
alias of
supervisely.api.image_api.ImageInfo
-
add_item_file(item_name, item_path, ann=
None
, _validate_item=True
, _use_hardlink=False
, item_info=None
, img_info=None
)[source]¶ Adds given item file to dataset items directory, and adds given annotation to dataset annotations directory. if ann is None, creates empty annotation file.
- Parameters
- item_name :
str
Item name.
- item_path :
str
Path to the item.
- ann :
Annotation
orstr
, optional Annotation object or path to annotation json file.
- _validate_item :
bool
, optional Checks input files format.
- _use_hardlink :
bool
, optional If True creates a hardlink pointing to src named dst, otherwise don’t.
- item_info :
ImageInfo
ordict
orstr
, optional ImageInfo object or ImageInfo object converted to dict or path to item info json file for copying to dataset item info directory.
- img_info :
ImageInfo
ordict
orstr
, optional Deprecated version of item_info parameter. Can be removed in future versions.
- item_name :
- Returns
None
- Return type
NoneType
- Raises
RuntimeError
if item_name already exists in dataset or item name has unsupported extension.- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) ann = "/home/admin/work/supervisely/projects/lemons_annotated/ds1/ann/IMG_8888.jpeg.json" ds.add_item_file("IMG_8888.jpeg", "/home/admin/work/supervisely/projects/lemons_annotated/ds1/img/IMG_8888.jpeg", ann=ann) print(ds.item_exists("IMG_8888.jpeg")) # Output: True
-
async add_item_file_async(item_name, item_path, ann=
None
, _validate_item=True
, _use_hardlink=False
, item_info=None
, img_info=None
)[source]¶ Adds given item file to dataset items directory, and adds given annotation to dataset annotations directory. If ann is None, creates empty annotation file.
- Parameters
- item_name :
str
Item name.
- item_path :
str
Path to the item.
- ann :
Annotation
orstr
, optional Annotation object or path to annotation json file.
- _validate_item :
bool
, optional Checks input files format.
- _use_hardlink :
bool
, optional If True creates a hardlink pointing to src named dst, otherwise don’t.
- item_info :
ImageInfo
ordict
orstr
, optional ImageInfo object or ImageInfo object converted to dict or path to item info json file for copying to dataset item info directory.
- img_info :
ImageInfo
ordict
orstr
, optional Deprecated version of item_info parameter. Can be removed in future versions.
- item_name :
- Returns
None
- Return type
NoneType
- Raises
RuntimeError
if item_name already exists in dataset or item name has unsupported extension.- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) ann = "/home/admin/work/supervisely/projects/lemons_annotated/ds1/ann/IMG_8888.jpeg.json" loop = sly.utils.get_or_create_event_loop() loop.run_until_complete( ds.add_item_file_async("IMG_8888.jpeg", "/home/admin/work/supervisely/projects/lemons_annotated/ds1/img/IMG_8888.jpeg", ann=ann) ) print(ds.item_exists("IMG_8888.jpeg")) # Output: True
-
add_item_np(item_name, img, ann=
None
, img_info=None
)[source]¶ Adds given numpy matrix as an image to dataset items directory, and adds given annotation to dataset ann directory. if ann is None, creates empty annotation file.
- Parameters
- item_name :
str
Item name.
- img : np.ndarray
numpy Image matrix in RGB format.
- ann :
Annotation
orstr
, optional Annotation object or path to annotation json file.
- img_info :
ImageInfo
ordict
orstr
, optional ImageInfo object or ImageInfo object converted to dict or path to item info json file for copying to dataset item info directory.
- item_name :
- Returns
None
- Return type
NoneType
- Raises
RuntimeError
if item_name already exists in dataset or item name has unsupported extension- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) img_path = "/home/admin/Pictures/Clouds.jpeg" img_np = sly.image.read(img_path) ds.add_item_np("IMG_050.jpeg", img_np) print(ds.item_exists("IMG_050.jpeg")) # Output: True
-
add_item_raw_bytes(item_name, item_raw_bytes, ann=
None
, img_info=None
)[source]¶ Adds given binary object as an image to dataset items directory, and adds given annotation to dataset ann directory. if ann is None, creates empty annotation file.
- Parameters
- item_name :
str
Item name.
- item_raw_bytes :
bytes
Binary object.
- ann :
Annotation
orstr
, optional Annotation object or path to annotation json file.
- img_info :
ImageInfo
ordict
orstr
, optional ImageInfo object or ImageInfo object converted to dict or path to item info json file for copying to dataset item info directory.
- item_name :
- Returns
None
- Return type
NoneType
- Raises
RuntimeError
if item_name already exists in dataset or item name has unsupported extension- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) img_path = "/home/admin/Pictures/Clouds.jpeg" img_np = sly.image.read(img_path) img_bytes = sly.image.write_bytes(img_np, "jpeg") ds.add_item_raw_bytes("IMG_050.jpeg", img_bytes) print(ds.item_exists("IMG_050.jpeg")) # Output: True
-
async add_item_raw_bytes_async(item_name, item_raw_bytes, ann=
None
, img_info=None
)[source]¶ Adds given binary object as an image to dataset items directory, and adds given annotation to dataset ann directory. If ann is None, creates empty annotation file.
- Parameters
- item_name :
str
Item name.
- item_raw_bytes :
bytes
Binary object.
- ann :
Annotation
orstr
, optional Annotation object or path to annotation json file.
- img_info :
ImageInfo
ordict
orstr
, optional ImageInfo object or ImageInfo object converted to dict or path to item info json file for copying to dataset item info directory.
- item_name :
- Returns
None
- Return type
NoneType
- Raises
RuntimeError
if item_name already exists in dataset or item name has unsupported extension- Usage example
import supervisely as sly from supervisely._utils import run_coroutine dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) img_path = "/home/admin/Pictures/Clouds.jpeg" img_np = sly.image.read(img_path) img_bytes = sly.image.write_bytes(img_np, "jpeg") coroutine = ds.add_item_raw_bytes_async("IMG_050.jpeg", img_bytes) run_coroutine(coroutine) print(ds.item_exists("IMG_050.jpeg")) # Output: True
- delete_item(item_name)[source]¶
Delete image, image info and annotation from
Dataset
.- Parameters
- item_name :
str
Item name.
- item_name :
- Returns
True if item was successfully deleted, False if item wasn’t found in dataset.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(dataset.delete_item("IMG_0748")) # Output: False print(dataset.delete_item("IMG_0748.jpeg")) # Output: True
- generate_item_path(item_name)[source]¶
Generates full path to the given item.
- Parameters
- item_name :
str
Item name.
- item_name :
- Returns
Full path to the given item
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.generate_item_path("IMG_0748.jpeg")) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/img/IMG_0748.jpeg'
- get_ann(item_name, project_meta)[source]¶
Read annotation of item from json.
- Parameters
- item_name :
str
Item name.
- project_meta :
ProjectMeta
ProjectMeta object.
- item_name :
- Returns
Annotation object.
- Return type
- Raises
RuntimeError
if item not found in the project- Usage example
import supervisely as sly project_path = "/home/admin/work/supervisely/projects/lemons_annotated" project = sly.Project(project_path, sly.OpenMode.READ) ds = project.datasets.get('ds1') annotation = ds.get_ann("IMG_0748", project.meta) # Output: RuntimeError: Item IMG_0748 not found in the project. annotation = ds.get_ann("IMG_0748.jpeg", project.meta) print(annotation.to_json()) # Output: { # "description": "", # "size": { # "height": 500, # "width": 700 # }, # "tags": [], # "objects": [], # "customBigData": {} # }
- get_ann_path(item_name)[source]¶
Path to the given annotation json file.
- Parameters
- item_name :
str
Item name.
- item_name :
- Returns
Path to the given annotation json file.
- Return type
- Raises
RuntimeError
if item not found in the project- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.get_ann_path("IMG_0748")) # Output: RuntimeError: Item IMG_0748 not found in the project. print(ds.get_ann_path("IMG_0748.jpeg")) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/ann/IMG_0748.jpeg.json'
- get_image_info(item_name)[source]¶
Information for Item with given name.
- Parameters
- item_name :
str
Item name.
- item_name :
- Returns
ImageInfo object.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds0" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.get_image_info("IMG_0748.jpeg")) # Output: # ImageInfo( # id=770915, # name='IMG_0748.jpeg', # link=None, # hash='ZdpMD+ZMJx0R8BgsCzJcqM7qP4M8f1AEtoYc87xZmyQ=', # mime='image/jpeg', # ext='jpeg', # size=148388, # width=1067, # height=800, # labels_count=4, # dataset_id=2532, # created_at='2021-03-02T10:04:33.973Z', # updated_at='2021-03-02T10:04:33.973Z', # meta={}, # path_original='/h5un6l2bnaz1vj8a9qgms4-public/images/original/7/h/Vo/...jpeg', # full_storage_url='http://app.supervise.ly/h5un6l2bnaz1vj8a9qgms4-public/images/original/7/h/Vo/...jpeg'), # tags=[] # )
- get_img_info_path(img_name)[source]¶
Get path to the image info json file without checking if the file exists. Method is alias of get_item_info_path(item_name).
- Parameters
- item_name :
str
Image name.
- item_name :
- Returns
Path to the given image info json file.
- Return type
- Raises
RuntimeError
if image not found in the project.- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.get_img_info_path("IMG_0748")) # Output: RuntimeError: Item IMG_0748 not found in the project. print(ds.get_img_info_path("IMG_0748.jpeg")) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/img_info/IMG_0748.jpeg.json'
- get_img_path(item_name)[source]¶
Path to the given image. Method is alias of get_item_path(item_name).
- Parameters
- item_name :
str
Image name.
- item_name :
- Returns
Path to the given image.
- Return type
- Raises
RuntimeError
if item not found in the project.- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.get_img_path("IMG_0748")) # Output: RuntimeError: Item IMG_0748 not found in the project. print(ds.get_img_path("IMG_0748.jpeg")) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/ann/IMG_0748.jpeg.json'
- get_item_info(item_name)[source]¶
Information for Item with given name.
- Parameters
- item_name :
str
Item name.
- item_name :
- Returns
ImageInfo object.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds0" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.get_item_info("IMG_0748.jpeg")) # Output: # ImageInfo( # id=770915, # name='IMG_0748.jpeg', # link=None, # hash='ZdpMD+ZMJx0R8BgsCzJcqM7qP4M8f1AEtoYc87xZmyQ=', # mime='image/jpeg', # ext='jpeg', # size=148388, # width=1067, # height=800, # labels_count=4, # dataset_id=2532, # created_at='2021-03-02T10:04:33.973Z', # updated_at='2021-03-02T10:04:33.973Z', # meta={}, # path_original='/h5un6l2bnaz1vj8a9qgms4-public/images/original/7/h/Vo/...jpeg', # full_storage_url='http://app.supervise.ly/h5un6l2bnaz1vj8a9qgms4-public/images/original/7/h/Vo/...jpeg'), # tags=[] # )
- get_item_info_path(item_name)[source]¶
Get path to the item info json file without checking if the file exists.
- Parameters
- item_name :
str
Item name.
- item_name :
- Returns
Path to the given item info json file.
- Return type
- Raises
RuntimeError
if item not found in the project.- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.get_item_info_path("IMG_0748")) # Output: RuntimeError: Item IMG_0748 not found in the project. print(ds.get_item_info_path("IMG_0748.jpeg")) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/img_info/IMG_0748.jpeg.json'
- get_item_meta_path(item_name)[source]¶
Get path to the item info json file without checking if the file exists.
- Parameters
- item_name :
str
Item name.
- item_name :
- Returns
Path to the given item info json file.
- Return type
- Raises
RuntimeError
if item not found in the project.- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.get_item_info_path("IMG_0748")) # Output: RuntimeError: Item IMG_0748 not found in the project. print(ds.get_item_info_path("IMG_0748.jpeg")) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/img_info/IMG_0748.jpeg.json'
- get_item_path(item_name)[source]¶
Path to the given item.
- Parameters
- item_name :
str
Item name.
- item_name :
- Returns
Path to the given item.
- Return type
- Raises
RuntimeError
if item not found in the project- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.get_item_path("IMG_0748")) # Output: RuntimeError: Item IMG_0748 not found in the project. print(ds.get_item_path("IMG_0748.jpeg")) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/img/IMG_0748.jpeg'
- get_item_paths(item_name)[source]¶
Generates
ItemPaths
object with paths to item and annotation directories for item with given name.- Parameters
- item_name :
str
Item name.
- item_name :
- Returns
ItemPaths object
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) img_path, ann_path = dataset.get_item_paths("IMG_0748.jpeg") print("img_path:", img_path) print("ann_path:", ann_path) # Output: # img_path: /home/admin/work/supervisely/projects/lemons_annotated/ds1/img/IMG_0748.jpeg # ann_path: /home/admin/work/supervisely/projects/lemons_annotated/ds1/ann/IMG_0748.jpeg.json
- get_items_names()[source]¶
List of dataset item names.
- Returns
List of item names.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.get_item_names()) # Output: ['IMG_0002.jpg', 'IMG_0005.jpg', 'IMG_0008.jpg', ...]
- get_seg_path(item_name)[source]¶
Get path to the png segmentation mask file without checking if the file exists. Use
Project.to_segmentation_task()
to create segmentation masks from annotations in your project.- Parameters
- item_name :
str
Item name.
- item_name :
- Returns
Path to the given png mask file.
- Return type
- Raises
RuntimeError
if item not found in the project.- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.get_seg_path("IMG_0748")) # Output: RuntimeError: Item IMG_0748 not found in the project. print(ds.get_seg_path("IMG_0748.jpeg")) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/seg/IMG_0748.jpeg.png'
- static get_url(project_id, dataset_id)[source]¶
Get URL to dataset items list in Supervisely.
- Parameters
- Returns
URL to dataset items list.
- Return type
- Usage example
from supervisely import Dataset project_id = 10093 dataset_id = 45330 ds_items_link = Dataset.get_url(project_id, dataset_id) print(ds_items_link) # Output: "/projects/10093/datasets/45330"
- item_exists(item_name)[source]¶
Checks if given item name belongs to the dataset.
- Parameters
- item_name :
str
Item name.
- item_name :
- Returns
True if item exist, otherwise False.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) ds.item_exists("IMG_0748") # False ds.item_exists("IMG_0748.jpeg") # True
- items()[source]¶
This method is used to iterate over dataset items, receiving item name, path to image and path to annotation json file. It is useful when you need to iterate over dataset items and get paths to images and annotations.
- Returns
Generator object, that yields tuple of item name, path to image and path to annotation json file.
- Return type
Generator[Tuple[str]]
- Usage example
import supervisely as sly input = "path/to/local/directory" # Creating Supervisely project from local directory. project = sly.Project(input, sly.OpenMode.READ) for dataset in project.datasets: for item_name, image_path, ann_path in dataset.items(): print(f"Item '{item_name}': image='{image_path}', ann='{ann_path}'")
- set_ann(item_name, ann)[source]¶
Replaces given annotation for given item name to dataset annotations directory in json format.
- Parameters
- item_name :
str
Item name.
- ann :
Annotation
Annotation object.
- item_name :
- Returns
None
- Return type
NoneType
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) height, width = 500, 700 new_ann = sly.Annotation((height, width)) ds.set_ann("IMG_0748.jpeg", new_ann)
- async set_ann_async(item_name, ann)[source]¶
Replaces given annotation for given item name to dataset annotations directory in json format.
- Parameters
- item_name :
str
Item name.
- ann :
Annotation
Annotation object.
- item_name :
- Returns
None
- Return type
NoneType
- Usage example
import supervisely as sly from supervisely._utils import run_coroutine dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) height, width = 500, 700 new_ann = sly.Annotation((height, width)) coroutine = ds.set_ann_async("IMG_0748.jpeg", new_ann) run_coroutine(coroutine)
- set_ann_dict(item_name, ann)[source]¶
Replaces given annotation json for given item name to dataset annotations directory in json format.
- Parameters
- item_name :
str
Item name.
- ann :
dict
Annotation
as a dict in json format.
- item_name :
- Returns
None
- Return type
NoneType
- Raises
RuntimeError
if ann_path is not str- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) new_ann_json = { "description":"", "size":{ "height":500, "width":700 }, "tags":[], "objects":[], "customBigData":{} } ds.set_ann_dict("IMG_8888.jpeg", new_ann_json)
- async set_ann_dict_async(item_name, ann)[source]¶
Replaces given annotation json for given item name to dataset annotations directory in json format.
- Parameters
- item_name :
str
Item name.
- ann :
dict
Annotation
as a dict in json format.
- item_name :
- Returns
None
- Return type
NoneType
- Raises
RuntimeError
if ann_path is not str- Usage example
import supervisely as sly from supervisely._utils import run_coroutine dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) new_ann_json = { "description":"", "size":{ "height":500, "width":700 }, "tags":[], "objects":[], "customBigData":{} } coroutine = ds.set_ann_dict_async("IMG_8888.jpeg", new_ann_json) run_coroutine(coroutine)
- set_ann_file(item_name, ann_path)[source]¶
Replaces given annotation json file for given item name to dataset annotations directory in json format.
- Parameters
- item_name :
str
Item Name.
- ann_path :
str
Path to the
Annotation
json file.
- item_name :
- Returns
None
- Return type
NoneType
- Raises
RuntimeError
if ann_path is not str- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) new_ann = "/home/admin/work/supervisely/projects/kiwi_annotated/ds1/ann/IMG_1812.jpeg.json" ds.set_ann_file("IMG_1812.jpeg", new_ann)
- async set_ann_file_async(item_name, ann_path)[source]¶
Replaces given annotation json file for given item name to dataset annotations directory in json format.
- Parameters
- item_name :
str
Item Name.
- ann_path :
str
Path to the
Annotation
json file.
- item_name :
- Returns
None
- Return type
NoneType
- Raises
RuntimeError
if ann_path is not str- Usage example
import supervisely as sly from supervisely._utils import run_coroutine dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) new_ann = "/home/admin/work/supervisely/projects/kiwi_annotated/ds1/ann/IMG_1812.jpeg.json" coroutine = ds.set_ann_file_async("IMG_1812.jpeg", new_ann) run_coroutine(coroutine)
-
to_coco(meta, return_type=
'path'
, dest_dir=None
, copy_images=False
, with_captions=False
, log_progress=False
, progress_cb=None
)[source]¶ Convert Supervisely dataset to COCO format.
- Note: Depending on the
return_type
andwith_captions
parameters, the function returns different values. If
return_type
is “path”, the COCO annotation files will be saved to the disk. Ifreturn_type
is “dict”, the function returns COCO dataset in dictionary format. Ifwith_captions
is True, the function returns Tuple (instances and captions).
- Parameters
- meta :
ProjectMeta
Project meta information.
- return_type :
str
, optional - dest_dir :
str
, optional Path to save COCO dataset.
- copy_images :
bool
, optional If True, copies images to the COCO dataset directory.
- with_captions :
bool
, optional If True, returns captions
- log_progress :
str
, optional If True, log progress.
- progress_cb :
Callable
, optional Progress callback.
- meta :
- Returns
COCO dataset in dictionary format.
- Return type
- Usage example
import supervisely as sly project_path = "/home/admin/work/supervisely/projects/lemons_annotated" project = sly.Project(project_path, sly.OpenMode.READ) for ds in project.datasets: dest_dir = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" coco: Tuple[Dict, Dict] = ds.to_coco(project.meta, save=True, dest_dir=dest_dir)
- Note: Depending on the
-
to_pascal_voc(meta, dest_dir=
None
, train_val_split_coef=0.8
, log_progress=False
, progress_cb=None
)[source]¶ Convert Supervisely dataset to Pascal VOC format.
- Parameters
- meta :
ProjectMeta
Project meta information.
- dest_dir :
str
, optional Destination directory.
- train_val_split_coef :
float
, optional Coefficient for splitting images into train and validation sets.
- log_progress :
str
, optional If True, log progress.
- progress_cb :
Callable
, optional Progress callback.
- meta :
- Returns
None
- Return type
NoneType
- Usage example
import supervisely as sly project_path = "/home/admin/work/supervisely/projects/lemons_annotated" project = sly.Project(project_path, sly.OpenMode.READ) for ds in project.datasets: dest_dir = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds.to_pascal_voc(project.meta, dest_dir=dest_dir)
-
to_yolo(meta, dest_dir=
None
, task_type='detect'
, log_progress=False
, progress_cb=None
, is_val=None
)[source]¶ Convert Supervisely dataset to YOLO format.
- Parameters
- meta :
ProjectMeta
Project meta information.
- dest_dir :
str
, optional Path to save YOLO dataset.
- task_type :
str
, optional Task type.
- log_progress :
str
, optional If True, log progress.
- progress_cb :
Callable
, optional Progress callback.
- is_val :
bool
, optional If True, the dataset is a validation dataset.
- meta :
- Returns
YOLO dataset in dictionary format.
- Return type
- Usage example
import supervisely as sly project_path = "/home/admin/work/supervisely/projects/lemons_annotated" project = sly.Project(project_path, sly.OpenMode.READ) for ds in project.datasets: dest_dir = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds.to_yolo(project.meta, dest_dir=dest_dir)
- property ann_dir¶
Path to the dataset annotations directory.
- Returns
Path to the dataset directory with annotations.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.ann_dir) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/ann'
- property directory¶
Path to the dataset directory.
- Returns
Path to the dataset directory.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.directory) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1'
- property image_infos¶
If the dataset is opened from the API, returns the list of ImageInfo objects. Otherwise raises an exception.
- Raises
ValueError: If the dataset is opened in local mode.
- Returns
List of ImageInfo objects.
- Return type
List[
ImageInfo
]
- property img_dir¶
Path to the dataset images directory. Property is alias of item_dir.
- Returns
Path to the dataset directory with images.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.img_dir) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/img'
- property img_info_dir¶
Path to the dataset image info directory. Property is alias of item_info_dir.
- Returns
Path to the dataset directory with images info.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.img_info_dir) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/img_info'
- property item_dir¶
Path to the dataset items directory.
- Returns
Path to the dataset directory with items.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.item_dir) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/img'
- property item_info_dir¶
Path to the dataset item info directory.
- Returns
Path to the dataset directory with items info.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.item_info_dir) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/img_info'
- property meta_dir¶
Path to the dataset segmentation masks directory.
- Returns
Path to the dataset directory with masks.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.meta_dir) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/meta'
- property name¶
Full Dataset name, which includes it’s parents, e.g. ds1/ds2/ds3.
Use
short_name
to get only the name of the dataset.- Returns
Dataset Name.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.name) # Output: "ds1"
- property path¶
Returns a relative local path to the dataset.
- Returns
Relative local path to the dataset.
- Return type
- property project_dir¶
Path to the project containing the dataset.
- Returns
Path to the project.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds0" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.project_dir) # Output: "/home/admin/work/supervisely/projects/lemons_annotated"
- property seg_dir¶
Path to the dataset segmentation masks directory.
- Returns
Path to the dataset directory with masks.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.seg_dir) # Output: '/home/admin/work/supervisely/projects/lemons_annotated/ds1/seg'
- property short_name¶
Short dataset name, which does not include it’s parents. To get the full name of the dataset, use
name
.- Returns
Dataset Name.
- Return type
- Usage example
import supervisely as sly dataset_path = "/home/admin/work/supervisely/projects/lemons_annotated/ds1" ds = sly.Dataset(dataset_path, sly.OpenMode.READ) print(ds.name) # Output: "ds1"