MatchDatasets
Introduction
MatchDatasets widget in Supervisely allows users to compare datasets by matching objects and displaying the results in a table. It also provides the comparison results in the form of a dictionary grouped into matched, unique_left, and unique_right categories. This widget helps users identify differences and similarities between datasets quickly and efficiently.
Function signature
MatchDatasets(
left_datasets=None,
right_datasets=None,
left_name=None,
right_name=None,
widget_id=None,
)
Parameters
left_datasets
List[DatasetInfo]
List of NamedTuple, containing information about left datasets
right_datasets
List[DatasetInfo]
List of NamedTuple, containing information about right datasets
left_name
str
Left part datasets name
right_name
str
Right part datasets name
widget_id
str
ID of the widget
left_datasets
Determine information about left datasets.
type: List[DatasetInfo]
default value: None
right_datasets
Determine information about right datasets.
type: List[DatasetInfo]
default value: None
dataset_left_id = 55830
dataset_left = api.dataset.get_info_by_id(id=dataset_left_id)
dataset_right_id = 55826
dataset_right = api.dataset.get_info_by_id(id=dataset_right_id)
match_datasets = MatchDatasets(left_datasets=[dataset_left], right_datasets=[dataset_right])
left_name
Determine left part datasets name.
type: str
default value: None
right_name
Determine right part datasets name.
type: str
default value: None
match_datasets = MatchDatasets(
left_datasets=[dataset_left],
right_datasets=[dataset_right],
left_name="left_ds",
right_name="right_ds",
)
widget_id
ID of the widget.
type: str
default value: None
Methods and attributes
set(left_datasets: List[DatasetInfo] = None, right_datasets: List[DatasetInfo] = None, left_name=None, right_name=None)
Set DatasetInfo data in left and right part of widget.
get_stat()
Return datasets match statistics.
Mini App Example
You can find this example in our Github repository:
ui-widgets-demos/compare data/001_match_datasets/src/main.py
Import libraries
import os
import supervisely as sly
from supervisely.app.widgets import Card, Container, MatchDatasets
from dotenv import load_dotenvInit API client
First, we load environment variables with credentials and init API for communicating with Supervisely Instance:
load_dotenv("local.env")
load_dotenv(os.path.expanduser("~/supervisely.env"))
api = sly.Api()Prepare datasets we will matched
project_id1 = 17198
project_id2 = 17199
datasets_left = api.dataset.get_list(project_id1)
datasets_right = api.dataset.get_list(project_id2)Initialize MatchDatasets widget
MatchDatasets widgetmatch_datasets = MatchDatasets(
left_datasets=datasets_left,
right_datasets=datasets_right,
)Create app layout
Prepare a layout for app using Card widget with the content parameter and place widget that we've just created in the Container widget.
card = Card(
title="Match Datasets",
content=match_datasets,
)
layout = Container(widgets=[card])Create app using layout
Create an app object with layout parameter.
app = sly.Application(layout=layout)
Last updated
Was this helpful?