diff --git a/.gitignore b/.gitignore
index 5d4b4611b..54f37a022 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,7 +9,6 @@ data/
!tests/darwin/data
darwin_py.egg-info/PKG-INFO
-*.png
*.jpeg
*.jpg
*.bpm
diff --git a/darwin/cli_functions.py b/darwin/cli_functions.py
index 32f996366..8ff145054 100644
--- a/darwin/cli_functions.py
+++ b/darwin/cli_functions.py
@@ -919,8 +919,8 @@ def dataset_import(
If ``True`` it will bypass a warning that the import will overwrite the current annotations if any are present.
If ``False`` this warning will be skipped and the import will overwrite the current annotations without warning.
legacy : bool, default: False
- If ``True`` it will not resize the annotations to be isotropic.
- If ``False`` it will resize the annotations to be isotropic.
+ If ``True`` it will resize the annotations to be isotropic.
+ If ``False`` it will not resize the annotations to be isotropic.
use_multi_cpu : bool, default: False
If ``True`` it will use all multiple CPUs to speed up the import process.
cpu_limit : Optional[int], default: Core count - 2
@@ -931,7 +931,6 @@ def dataset_import(
try:
importer: ImportParser = get_importer(format)
-
if format == "nifti" and legacy:
importer = partial(importer, legacy=True)
@@ -954,7 +953,7 @@ def dataset_import(
overwrite,
use_multi_cpu,
cpu_limit,
- no_legacy=False if legacy else True,
+ legacy,
)
except ImporterNotFoundError:
@@ -1228,8 +1227,8 @@ def dataset_convert(
annotations folder of the dataset under 'other_formats/{format}'.
legacy : bool, default: False
This flag is only for the nifti format.
- If True, it will not export the annotations using legacy calculations.
- If False, it will resize the annotations using the new calculation by dividing with pixdims.
+ If True, it will resize the annotations by dividing by pixdims.
+ If False, it will not export the annotations using legacy calculations
"""
identifier: DatasetIdentifier = DatasetIdentifier.parse(dataset_identifier)
client: Client = _load_client(team_slug=identifier.team_slug)
@@ -1286,8 +1285,8 @@ def convert(
Folder where the exported annotations will be placed.
legacy: bool, default: False
This flag is only for the nifti format.
- If True, it will not export the annotations using legacy calculations.
- If False, it will resize the annotations using the new calculation by dividing with pixdims.
+ If True, it will resize the annotations by dividing by pixdims
+ If False, it will not export the annotations using legacy calculations.
"""
try:
parser: ExportParser = get_exporter(format)
diff --git a/darwin/dataset/remote_dataset_v2.py b/darwin/dataset/remote_dataset_v2.py
index b55d60d6d..ce94c4985 100644
--- a/darwin/dataset/remote_dataset_v2.py
+++ b/darwin/dataset/remote_dataset_v2.py
@@ -986,6 +986,8 @@ def _find_files_to_upload_as_single_file_items(
local_path = str(
found_file.relative_to(source_files[0]).parent.as_posix()
)
+ if local_path == ".":
+ local_path = "/"
uploading_files.append(
LocalFile(
found_file,
diff --git a/darwin/importer/formats/nifti.py b/darwin/importer/formats/nifti.py
index a86a70d89..3d6a32d17 100644
--- a/darwin/importer/formats/nifti.py
+++ b/darwin/importer/formats/nifti.py
@@ -103,7 +103,7 @@ def _parse_nifti(
is_mpr: bool,
legacy: bool = False,
) -> dt.AnnotationFile:
- img, pixdims = process_nifti(nib.load(nifti_path), legacy=legacy)
+ img, pixdims = process_nifti(nib.load(nifti_path))
processed_class_map = process_class_map(class_map)
video_annotations = []
@@ -513,11 +513,10 @@ def correct_nifti_header_if_necessary(img_nii):
def process_nifti(
input_data: nib.nifti1.Nifti1Image,
ornt: Optional[List[List[float]]] = [[0.0, -1.0], [1.0, -1.0], [2.0, -1.0]],
- legacy: bool = False,
) -> Tuple[np.ndarray, Tuple[float]]:
"""
- Function that converts a nifti object to RAS orientation (if legacy), then converts to the passed ornt orientation.
- The default ornt is for LPI.
+ Function that converts a nifti object to the RAS orientation, then converts to the passed ornt orientation.
+ The default ornt is LPI.
Args:
input_data: nibabel nifti object.
@@ -530,8 +529,7 @@ def process_nifti(
pixdims: tuple of nifti header zoom values.
"""
img = correct_nifti_header_if_necessary(input_data)
- if legacy:
- img = nib.funcs.as_closest_canonical(img)
+ img = nib.funcs.as_closest_canonical(img)
data_array = nib.orientations.apply_orientation(img.get_fdata(), ornt)
pixdims = img.header.get_zooms()
return data_array, pixdims
diff --git a/darwin/importer/importer.py b/darwin/importer/importer.py
index 1b9a21b19..d630fbba4 100644
--- a/darwin/importer/importer.py
+++ b/darwin/importer/importer.py
@@ -1095,7 +1095,7 @@ def import_annotations( # noqa: C901
overwrite: bool = False,
use_multi_cpu: bool = False,
cpu_limit: Optional[int] = None,
- no_legacy: Optional[bool] = False,
+ legacy: Optional[bool] = False,
) -> None:
"""
Imports the given given Annotations into the given Dataset.
@@ -1137,9 +1137,9 @@ def import_annotations( # noqa: C901
If ``cpu_limit`` is greater than the number of available CPU cores, it will be set to the number of available cores.
If ``cpu_limit`` is less than 1, it will be set to CPU count - 2.
If ``cpu_limit`` is omitted, it will be set to CPU count - 2.
- no_legacy : bool, default: False
- If ``True`` will not use the legacy isotropic transformation to resize annotations
- If ``False`` will use the legacy isotropic transformation to resize annotations
+ legacy : bool, default: False
+ If ``True`` will use the legacy isotropic transformation to resize annotations
+ If ``False`` will not use the legacy isotropic transformation to resize annotations
Raises
-------
ValueError
@@ -1157,7 +1157,7 @@ def import_annotations( # noqa: C901
# CLI-initiated imports will raise an AttributeError because of the partial function
# This block handles SDK-initiated imports
try:
- if importer.__module__ == "darwin.importer.formats.nifti" and not no_legacy:
+ if importer.__module__ == "darwin.importer.formats.nifti" and legacy:
importer = partial(importer, legacy=True)
except AttributeError:
pass
diff --git a/darwin/options.py b/darwin/options.py
index 6ac6c6717..7a59f137d 100644
--- a/darwin/options.py
+++ b/darwin/options.py
@@ -61,10 +61,10 @@ def __init__(self) -> None:
help="Annotation files (or folders) to convert.",
)
parser_convert.add_argument(
- "--no-legacy",
- action="store_false",
- dest="legacy",
- help="Do not convert annotation using legacy process (isotropic transformation).",
+ "--legacy",
+ action="store_true",
+ default=False,
+ help="Import annotation files using legacy process (isotropic transformation).",
)
parser_convert.add_argument(
"output_dir", type=str, help="Where to store output files."
@@ -375,10 +375,10 @@ def __init__(self) -> None:
help="Bypass warnings about overwiting existing annotations.",
)
parser_import.add_argument(
- "--no-legacy",
- action="store_false",
- dest="legacy",
- help="Do not importing annotation files using legacy process (isotropic transformation).",
+ "--legacy",
+ action="store_true",
+ default=False,
+ help="Import annotation files using legacy process (isotropic transformation).",
)
# Cpu limit for multiprocessing tasks
@@ -410,9 +410,10 @@ def cpu_default_types(input: Any) -> Optional[int]: # type: ignore
"format", type=str, help="Annotation format to convert to."
)
parser_convert.add_argument(
- "legacy",
+ "--legacy",
action="store_true",
- help="Convert annotation using legacy process (isotropic transformation).",
+ default=False,
+ help="Import annotation files using legacy process (isotropic transformation).",
)
parser_convert.add_argument(
"-o", "--output_dir", type=str, help="Where to store output files."
diff --git a/darwin/version/__init__.py b/darwin/version/__init__.py
index 9eb1ebec5..bd538f76e 100644
--- a/darwin/version/__init__.py
+++ b/darwin/version/__init__.py
@@ -1 +1 @@
-__version__ = "1.0.11"
+__version__ = "1.0.12"
diff --git a/e2e_tests/cli/convert/test_convert.py b/e2e_tests/cli/test_convert.py
similarity index 65%
rename from e2e_tests/cli/convert/test_convert.py
rename to e2e_tests/cli/test_convert.py
index 188d93635..aadbc1612 100644
--- a/e2e_tests/cli/convert/test_convert.py
+++ b/e2e_tests/cli/test_convert.py
@@ -4,13 +4,14 @@
import orjson as json
import pytest
+import xml.etree.ElementTree as ET
from e2e_tests.helpers import assert_cli, run_cli_command
class TestExportCli:
this_file_path = Path(dirname(__file__)).absolute()
- data_path = (this_file_path / ".." / ".." / "data").resolve()
+ data_path = (this_file_path / ".." / "data" / "convert").resolve()
@pytest.fixture(autouse=True)
def config(self) -> None:
@@ -33,10 +34,10 @@ def compare_directories(self, path: Path, expected_path: Path) -> None:
continue
# Compare files
- with file.open("r") as f:
+ with file.open("rb") as f:
content = f.read()
- with Path(expected_path / file.name).open() as f:
+ with Path(expected_path / file.name).open("rb") as f:
expected_content = f.read()
if content != expected_content:
@@ -52,6 +53,14 @@ def compare_directories(self, path: Path, expected_path: Path) -> None:
[
("yolo_segmented", data_path / "yolov8/from", data_path / "yolov8/to"),
("yolo", data_path / "yolo/from", data_path / "yolo/to"),
+ ("cvat", data_path / "cvat/from", data_path / "cvat/to"),
+ ("pascalvoc", data_path / "pascalvoc/from", data_path / "pascalvoc/to"),
+ ("nifti", data_path / "nifti/from", data_path / "nifti/to"),
+ (
+ "instance_mask",
+ data_path / "instance_mask/from",
+ data_path / "instance_mask/to",
+ ),
pytest.param(
"coco",
data_path / "coco/from",
@@ -87,23 +96,34 @@ def test_darwin_convert(
result = run_cli_command(
f"darwin convert {format} {str(input_path)} {str(tmp_path)}"
)
- if format == "coco":
- self.patch_coco(tmp_path / "output.json")
+ self.patch_format(format, tmp_path)
assert_cli(result, 0)
self.compare_directories(expectation_path, tmp_path)
+ def patch_format(self, format: str, path: Path) -> None:
+ """
+ Patch files based on format to match the expected output.
+ """
+ patch_methods = {
+ "coco": self.patch_coco,
+ "cvat": self.patch_cvat,
+ }
+ patch_method = patch_methods.get(format)
+ if patch_method:
+ patch_method(path)
+
def patch_coco(self, path: Path) -> None:
"""
Patch coco file to match the expected output, includes changes to year and date_created,
wrapped in try except so that format errors are still caught later with correct error messages
"""
try:
- with open(path, "r") as f:
+ with open(path / "output.json", "r") as f:
contents = f.read()
temp = json.loads(contents)
temp["info"]["year"] = 2023
temp["info"]["date_created"] = "2023/12/05"
- with open(path, "w") as f:
+ with open(path / "output.json", "w") as f:
op = json.dumps(
temp, option=json.OPT_INDENT_2 | json.OPT_SERIALIZE_NUMPY
).decode("utf-8")
@@ -111,6 +131,29 @@ def patch_coco(self, path: Path) -> None:
except Exception:
print(f"Error patching {path}")
+ def patch_cvat(self, path: Path) -> None:
+ """
+ Patch cvat file to match the expected output.
+ """
+ try:
+ tree = ET.parse(path / "output.xml")
+ root = tree.getroot()
+ # Adjust the required fields
+ dumped_elem = root.find(".//meta/dumped")
+ if dumped_elem is not None:
+ dumped_elem.text = "2024-10-25 10:33:01.789498+00:00"
+ created_elem = root.find(".//meta/task/created")
+ if created_elem is not None:
+ created_elem.text = "2024-10-25 10:33:01.789603+00:00"
+ updated_elem = root.find(".//meta/task/updated")
+ if updated_elem is not None:
+ updated_elem.text = "2024-10-25 10:33:01.789608+00:00"
+ tree.write(path / "output.xml")
+ except ET.ParseError:
+ print(f"Error parsing XML in {path}")
+ except Exception as e:
+ print(f"Error patching {path}: {e}")
+
if __name__ == "__main__":
pytest.main(["-vv", "-s", __file__])
diff --git a/e2e_tests/cli/test_full_cycle.py b/e2e_tests/cli/test_full_cycle.py
new file mode 100644
index 000000000..01f1df25f
--- /dev/null
+++ b/e2e_tests/cli/test_full_cycle.py
@@ -0,0 +1,105 @@
+import shutil
+from pathlib import Path
+
+from e2e_tests.helpers import assert_cli, run_cli_command, export_release
+from e2e_tests.objects import E2EDataset, ConfigValues
+from e2e_tests.cli.test_import import compare_annotations_export
+
+
+def test_full_cycle(
+ local_dataset: E2EDataset,
+ config_values: ConfigValues,
+):
+ """
+ This test performs the following steps:
+ - 1: Registers a set of files from external storage to a dataset
+ - 2: Imports some annotations
+ - 3: Creates and pulls a release of the dataset
+ - 4: Deletes all items from the dataset
+ - 5: Pushes and imports the pulled files & annotations to the dataset
+ - 6: Deletes locally pulled copies of the dataset files
+ - 7: Creates and pulls a new release of the dataset
+ - 8: Assert that the pulled data is as expected
+
+ It is designed to catch errors that may arise from changes to exported Darwin JSON
+ """
+ item_type = "single_slotted"
+ annotation_format = "darwin"
+ first_release_name = "first_release"
+ second_release_name = "second_release"
+ pull_dir = Path(
+ f"{Path.home()}/.darwin/datasets/{config_values.team_slug}/{local_dataset.slug}"
+ )
+ annotations_import_dir = (
+ Path(__file__).parents[1]
+ / "data"
+ / "import"
+ / "image_annotations_with_item_level_properties"
+ )
+ expected_filepaths = [
+ f"{pull_dir}/images/image_1.jpg",
+ f"{pull_dir}/images/image_2.jpg",
+ f"{pull_dir}/images/dir1/image_3.jpg",
+ f"{pull_dir}/images/dir1/image_4.jpg",
+ f"{pull_dir}/images/dir2/image_5.jpg",
+ f"{pull_dir}/images/dir2/image_6.jpg",
+ f"{pull_dir}/images/dir1/dir3/image_7.jpg",
+ f"{pull_dir}/images/dir1/dir3/image_8.jpg",
+ ]
+
+ # Populate the dataset with items and annotations
+ local_dataset.register_read_only_items(config_values, item_type)
+ result = run_cli_command(
+ f"darwin dataset import {local_dataset.name} {annotation_format} {annotations_import_dir}"
+ )
+ assert_cli(result, 0)
+
+ # Pull a first release of the dataset
+ original_release = export_release(
+ annotation_format, local_dataset, config_values, release_name=first_release_name
+ )
+ result = run_cli_command(
+ f"darwin dataset pull {local_dataset.name}:{original_release.name}"
+ )
+ assert_cli(result, 0)
+
+ # Delete all items in the dataset
+ local_dataset.delete_items(config_values)
+
+ # Push and import the pulled files and annotations to the dataset
+ result = run_cli_command(
+ f"darwin dataset push {local_dataset.name} {pull_dir}/images --preserve-folders"
+ )
+ assert_cli(result, 0)
+ result = run_cli_command(
+ f"darwin dataset import {local_dataset.name} {annotation_format} {pull_dir}/releases/{first_release_name}/annotations"
+ )
+ assert_cli(result, 0)
+
+ # Delete local copies of the dataset files for the dataset
+ shutil.rmtree(f"{pull_dir}/images")
+
+ # Pull a second release of the dataset
+ new_release = export_release(
+ annotation_format,
+ local_dataset,
+ config_values,
+ release_name=second_release_name,
+ )
+ result = run_cli_command(
+ f"darwin dataset pull {local_dataset.name}:{new_release.name}"
+ )
+ assert_cli(result, 0)
+
+ # Check that all expected files have been downloaded
+ all_filepaths = list(pull_dir.rglob("*"))
+ for expected_file in expected_filepaths:
+ assert Path(expected_file) in all_filepaths
+
+ # Check that all downloaded annotations are as expected
+ compare_annotations_export(
+ Path(f"{pull_dir}/releases/{first_release_name}/annotations"),
+ Path(f"{pull_dir}/releases/{second_release_name}/annotations"),
+ item_type,
+ unzip=False,
+ )
diff --git a/e2e_tests/cli/test_import.py b/e2e_tests/cli/test_import.py
index 430ab1855..d07f0a9dc 100644
--- a/e2e_tests/cli/test_import.py
+++ b/e2e_tests/cli/test_import.py
@@ -4,7 +4,7 @@
from e2e_tests.helpers import (
assert_cli,
run_cli_command,
- export_and_download_annotations,
+ export_release,
delete_annotation_uuids,
list_items,
)
@@ -226,13 +226,15 @@ def compare_annotations_export(
item_type: str,
base_slot: Optional[str] = "0",
annotation_format: str = "darwin",
+ unzip: Optional[bool] = True,
):
"""
Compares a set of downloaded annotation files with the imported files that resulted
in those annotations. Ensures equality
"""
- with zipfile.ZipFile(actual_annotations_dir / "dataset.zip") as z:
- z.extractall(actual_annotations_dir)
+ if unzip:
+ with zipfile.ZipFile(actual_annotations_dir / "dataset.zip") as z:
+ z.extractall(actual_annotations_dir)
file_prefixes_to_ignore = [".", "metadata.json"]
expected_annotation_files = {
@@ -336,12 +338,12 @@ def run_import_test(
)
with tempfile.TemporaryDirectory() as tmp_dir_str:
actual_annotations_dir = Path(tmp_dir_str)
- export_and_download_annotations(
- actual_annotations_dir,
+ release = export_release(
annotation_format, # type: ignore
local_dataset,
config_values,
)
+ release.download_zip(actual_annotations_dir / "dataset.zip")
compare_annotations_export(
actual_annotations_dir,
expected_annotations_dir,
diff --git a/e2e_tests/cli/test_pull.py b/e2e_tests/cli/test_pull.py
new file mode 100644
index 000000000..bbcdaaaa1
--- /dev/null
+++ b/e2e_tests/cli/test_pull.py
@@ -0,0 +1,36 @@
+from pathlib import Path
+
+from e2e_tests.helpers import assert_cli, run_cli_command, export_release
+from e2e_tests.objects import E2EDataset, ConfigValues
+
+
+def test_pull_with_remote_folder_structure(
+ local_dataset: E2EDataset, config_values: ConfigValues
+):
+ """
+ Test pulling a dataset release with default arguments.
+
+ The remote directory structure should be recreated locally.
+ """
+ pull_dir = Path(
+ f"{Path.home()}/.darwin/datasets/{config_values.team_slug}/{local_dataset.slug}/images"
+ )
+ expected_filepaths = [
+ f"{pull_dir}/image_1.jpg",
+ f"{pull_dir}/image_2.jpg",
+ f"{pull_dir}/dir1/image_3.jpg",
+ f"{pull_dir}/dir1/image_4.jpg",
+ f"{pull_dir}/dir2/image_5.jpg",
+ f"{pull_dir}/dir2/image_6.jpg",
+ f"{pull_dir}/dir1/dir3/image_7.jpg",
+ f"{pull_dir}/dir1/dir3/image_8.jpg",
+ ]
+ item_type = "single_slotted"
+ annotation_format = "darwin"
+ local_dataset.register_read_only_items(config_values, item_type)
+ release = export_release(annotation_format, local_dataset, config_values)
+ result = run_cli_command(f"darwin dataset pull {local_dataset.name}:{release.name}")
+ assert_cli(result, 0)
+ all_filepaths = list(pull_dir.rglob("*"))
+ for expected_file in expected_filepaths:
+ assert Path(expected_file) in all_filepaths
diff --git a/e2e_tests/data/coco/from/base_annotation.json b/e2e_tests/data/convert/coco/from/base_annotation.json
similarity index 100%
rename from e2e_tests/data/coco/from/base_annotation.json
rename to e2e_tests/data/convert/coco/from/base_annotation.json
diff --git a/e2e_tests/data/coco/to/output.json b/e2e_tests/data/convert/coco/to/output.json
similarity index 100%
rename from e2e_tests/data/coco/to/output.json
rename to e2e_tests/data/convert/coco/to/output.json
diff --git a/e2e_tests/data/convert/cvat/from/000000021295.json b/e2e_tests/data/convert/cvat/from/000000021295.json
new file mode 100644
index 000000000..5e428560d
--- /dev/null
+++ b/e2e_tests/data/convert/cvat/from/000000021295.json
@@ -0,0 +1,67 @@
+{
+ "version": "2.0",
+ "schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
+ "item": {
+ "name": "000000021295.jpg",
+ "path": "/",
+ "source_info": {
+ "item_id": "0192c338-2dc8-bb9f-8dde-9c4a8714c957",
+ "dataset": {
+ "name": "tmp",
+ "slug": "tmp",
+ "dataset_management_url": "https://staging.v7labs.com/datasets/426200/dataset-management"
+ },
+ "team": {
+ "name": "E2E Testing",
+ "slug": "e2e-testing"
+ },
+ "workview_url": "https://staging.v7labs.com/workview?dataset=426200&item=0192c338-2dc8-bb9f-8dde-9c4a8714c957"
+ },
+ "slots": [
+ {
+ "type": "image",
+ "slot_name": "0",
+ "width": 640,
+ "height": 427,
+ "thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/6c554c31-8bf6-4fc7-9f31-394fd775b2a6/thumbnail",
+ "source_files": [
+ {
+ "file_name": "000000021295.jpg",
+ "url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/ade5f1e3-a165-4a07-989f-86ee342499c9"
+ }
+ ]
+ }
+ ]
+ },
+ "annotations": [
+ {
+ "bounding_box": {
+ "h": 43.7181,
+ "w": 71.2665,
+ "x": 166.0884,
+ "y": 113.1879
+ },
+ "id": "46b33c9c-7453-4722-8b43-91bbb3fc247f",
+ "name": "test_bounding_box_basic",
+ "properties": [],
+ "slot_names": [
+ "0"
+ ]
+ },
+ {
+ "bounding_box": {
+ "h": 31.7405,
+ "w": 58.0912,
+ "x": 360.1248,
+ "y": 259.913
+ },
+ "id": "2b7c85ed-74b3-4111-a5d6-073da56d0072",
+ "name": "test_bounding_box_basic",
+ "properties": [],
+ "slot_names": [
+ "0"
+ ]
+ }
+ ],
+ "properties": []
+}
\ No newline at end of file
diff --git a/e2e_tests/data/convert/cvat/to/output.xml b/e2e_tests/data/convert/cvat/to/output.xml
new file mode 100644
index 000000000..66a9982e1
--- /dev/null
+++ b/e2e_tests/data/convert/cvat/to/output.xml
@@ -0,0 +1 @@
+1.12024-10-25 10:33:01.789498+00:001exported_task_from_darwin1annotation0NoneFalse2024-10-25 10:33:01.789603+00:002024-10-25 10:33:01.789608+00:00111not applicableexample_usernameuser@example.com
\ No newline at end of file
diff --git a/e2e_tests/data/convert/instance_mask/from/000000021295.json b/e2e_tests/data/convert/instance_mask/from/000000021295.json
new file mode 100644
index 000000000..34cac389b
--- /dev/null
+++ b/e2e_tests/data/convert/instance_mask/from/000000021295.json
@@ -0,0 +1,155 @@
+{
+ "version": "2.0",
+ "schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
+ "item": {
+ "name": "000000021295.jpg",
+ "path": "/",
+ "source_info": {
+ "item_id": "0192c338-2dc8-bb9f-8dde-9c4a8714c957",
+ "team": {
+ "name": "E2E Testing",
+ "slug": "e2e-testing"
+ },
+ "dataset": {
+ "name": "tmp",
+ "slug": "tmp",
+ "dataset_management_url": "https://staging.v7labs.com/datasets/426200/dataset-management"
+ },
+ "workview_url": "https://staging.v7labs.com/workview?dataset=426200&item=0192c338-2dc8-bb9f-8dde-9c4a8714c957"
+ },
+ "slots": [
+ {
+ "type": "image",
+ "slot_name": "0",
+ "width": 640,
+ "height": 427,
+ "thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/6c554c31-8bf6-4fc7-9f31-394fd775b2a6/thumbnail",
+ "source_files": [
+ {
+ "file_name": "000000021295.jpg",
+ "url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/ade5f1e3-a165-4a07-989f-86ee342499c9"
+ }
+ ]
+ }
+ ]
+ },
+ "annotations": [
+ {
+ "bounding_box": {
+ "h": 123.8166,
+ "w": 147.2414,
+ "x": 105.8307,
+ "y": 63.5815
+ },
+ "id": "4f23f7d2-2f83-45bc-927a-d03b9f642619",
+ "name": "test_polygon_basic",
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 189.4906,
+ "y": 63.5815
+ },
+ {
+ "x": 105.8307,
+ "y": 182.0439
+ },
+ {
+ "x": 249.0564,
+ "y": 187.3981
+ },
+ {
+ "x": 196.1834,
+ "y": 105.0768
+ },
+ {
+ "x": 253.0721,
+ "y": 99.7226
+ }
+ ]
+ ]
+ },
+ "properties": [],
+ "slot_names": [
+ "0"
+ ]
+ },
+ {
+ "bounding_box": {
+ "h": 99.05329999999998,
+ "w": 155.2727,
+ "x": 201.5376,
+ "y": 287.1207
+ },
+ "id": "b4248df6-5390-488a-9190-edfa397458a6",
+ "name": "test_polygon_basic",
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 247.0486,
+ "y": 287.1207
+ },
+ {
+ "x": 201.5376,
+ "y": 386.174
+ },
+ {
+ "x": 293.8981,
+ "y": 386.174
+ },
+ {
+ "x": 356.8103,
+ "y": 384.1661
+ },
+ {
+ "x": 356.8103,
+ "y": 329.9545
+ },
+ {
+ "x": 319.3307,
+ "y": 316.569
+ }
+ ]
+ ]
+ },
+ "properties": [],
+ "slot_names": [
+ "0"
+ ]
+ },
+ {
+ "bounding_box": {
+ "h": 163.3041,
+ "w": 171.33550000000002,
+ "x": 338.0705,
+ "y": 50.1959
+ },
+ "id": "5092f929-ec75-4eb9-8b56-e6bbc472e272",
+ "name": "test_polygon_basic",
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 429.7618,
+ "y": 50.1959
+ },
+ {
+ "x": 338.0705,
+ "y": 212.8307
+ },
+ {
+ "x": 509.406,
+ "y": 213.5
+ }
+ ]
+ ]
+ },
+ "properties": [],
+ "slot_names": [
+ "0"
+ ]
+ }
+ ],
+ "properties": []
+}
\ No newline at end of file
diff --git a/e2e_tests/data/convert/instance_mask/to/masks/000000021295_00000.png b/e2e_tests/data/convert/instance_mask/to/masks/000000021295_00000.png
new file mode 100644
index 000000000..32060673f
Binary files /dev/null and b/e2e_tests/data/convert/instance_mask/to/masks/000000021295_00000.png differ
diff --git a/e2e_tests/data/convert/instance_mask/to/masks/000000021295_00001.png b/e2e_tests/data/convert/instance_mask/to/masks/000000021295_00001.png
new file mode 100644
index 000000000..8da257b83
Binary files /dev/null and b/e2e_tests/data/convert/instance_mask/to/masks/000000021295_00001.png differ
diff --git a/e2e_tests/data/convert/instance_mask/to/masks/000000021295_00002.png b/e2e_tests/data/convert/instance_mask/to/masks/000000021295_00002.png
new file mode 100644
index 000000000..bc1cb483b
Binary files /dev/null and b/e2e_tests/data/convert/instance_mask/to/masks/000000021295_00002.png differ
diff --git a/e2e_tests/data/convert/nifti/from/hippocampus_001_mpr_1_test_hippo.nii.json b/e2e_tests/data/convert/nifti/from/hippocampus_001_mpr_1_test_hippo.nii.json
new file mode 100644
index 000000000..f6f73f88c
--- /dev/null
+++ b/e2e_tests/data/convert/nifti/from/hippocampus_001_mpr_1_test_hippo.nii.json
@@ -0,0 +1,945 @@
+{
+ "version": "2.0",
+ "schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
+ "item": {
+ "name": "hippocampus_001_mpr_1_test_hippo.nii.gz",
+ "path": "/",
+ "source_info": {
+ "item_id": "0192c3d1-a8e2-cac4-0227-1198aebe5193",
+ "dataset": {
+ "name": "tmp",
+ "slug": "tmp",
+ "dataset_management_url": "https://staging.v7labs.com/datasets/426200/dataset-management"
+ },
+ "team": {
+ "name": "E2E Testing",
+ "slug": "e2e-testing"
+ },
+ "workview_url": "https://staging.v7labs.com/workview?dataset=426200&item=0192c3d1-a8e2-cac4-0227-1198aebe5193"
+ },
+ "slots": [
+ {
+ "type": "dicom",
+ "slot_name": "0",
+ "width": 35,
+ "height": 51,
+ "fps": null,
+ "thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/thumbnail",
+ "source_files": [
+ {
+ "file_name": "hippocampus_001_mpr_1_test_hippo.nii.gz",
+ "url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/1f943f7e-59c5-4a0f-aee4-e8b6da32c868"
+ }
+ ],
+ "frame_count": 35,
+ "frame_urls": [
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/0",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/1",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/2",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/3",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/4",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/5",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/6",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/7",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/8",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/9",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/10",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/11",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/12",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/13",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/14",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/15",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/16",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/17",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/18",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/19",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/20",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/21",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/22",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/23",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/24",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/25",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/26",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/27",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/28",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/29",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/30",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/31",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/32",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/33",
+ "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/503816e2-99e7-4f63-bd1f-0c034d686ffb/sections/34"
+ ],
+ "metadata": {
+ "shape": [
+ 1,
+ 35,
+ 51,
+ 35
+ ],
+ "SeriesInstanceUID": "1.2.826.0.1.3680043.8.498.11241382944719946500563049675416203017",
+ "affine": "[[-1.0, 0.0, 0.0, 35.0], [0.0, -1.0, 0.0, 51.0], [0.0, 0.0, -1.0, 35.0], [0.0, 0.0, 0.0, 1.0]]",
+ "colorspace": "RG16",
+ "original_affine": [
+ [
+ "1.0",
+ "0.0",
+ "0.0",
+ "1.0"
+ ],
+ [
+ "0.0",
+ "1.0",
+ "0.0",
+ "1.0"
+ ],
+ [
+ "0.0",
+ "0.0",
+ "1.0",
+ "1.0"
+ ],
+ [
+ "0.0",
+ "0.0",
+ "0.0",
+ "1.0"
+ ]
+ ],
+ "pixdim": "(1.0, 1.0, 1.0)"
+ }
+ }
+ ]
+ },
+ "annotations": [
+ {
+ "frames": {
+ "0": {
+ "bounding_box": {
+ "h": 20.7,
+ "w": 20.699999999999996,
+ "x": -35.8,
+ "y": 14.2
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": -24.5,
+ "y": 14.2
+ },
+ {
+ "x": -15.7,
+ "y": 25.1
+ },
+ {
+ "x": -15.1,
+ "y": 25.4
+ },
+ {
+ "x": -35.8,
+ "y": 34.9
+ }
+ ]
+ ]
+ }
+ },
+ "1": {
+ "bounding_box": {
+ "h": 20.7,
+ "w": 20.699999999999996,
+ "x": -35.8,
+ "y": 14.2
+ },
+ "keyframe": false,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": -24.5,
+ "y": 14.2
+ },
+ {
+ "x": -15.7,
+ "y": 25.1
+ },
+ {
+ "x": -15.1,
+ "y": 25.4
+ },
+ {
+ "x": -35.8,
+ "y": 34.9
+ }
+ ]
+ ]
+ }
+ },
+ "2": {
+ "bounding_box": {
+ "h": 20.7,
+ "w": 20.699999999999996,
+ "x": -35.8,
+ "y": 14.2
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": -24.5,
+ "y": 14.2
+ },
+ {
+ "x": -15.7,
+ "y": 25.1
+ },
+ {
+ "x": -15.1,
+ "y": 25.4
+ },
+ {
+ "x": -35.8,
+ "y": 34.9
+ }
+ ]
+ ]
+ }
+ }
+ },
+ "global_sub_types": {},
+ "id": "0093f632-ae50-410d-866b-65f6d936f1e2",
+ "interpolate_algorithm": "linear-1.1",
+ "interpolated": true,
+ "name": "test_polygon_basic",
+ "properties": [],
+ "ranges": [
+ [
+ 0,
+ 3
+ ]
+ ],
+ "slot_names": [
+ "0"
+ ]
+ },
+ {
+ "frames": {
+ "5": {
+ "bounding_box": {
+ "h": 8.199999999999996,
+ "w": 16.3,
+ "x": -6.7,
+ "y": 29.1
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": -0.1,
+ "y": 29.1
+ },
+ {
+ "x": -6.7,
+ "y": 36.1
+ },
+ {
+ "x": -2.1,
+ "y": 36.7
+ },
+ {
+ "x": 8.7,
+ "y": 37.1
+ },
+ {
+ "x": 9.6,
+ "y": 37.3
+ }
+ ]
+ ]
+ }
+ },
+ "6": {
+ "bounding_box": {
+ "h": 8.199999999999996,
+ "w": 16.3,
+ "x": -6.7,
+ "y": 29.1
+ },
+ "keyframe": false,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": -0.1,
+ "y": 29.1
+ },
+ {
+ "x": -6.7,
+ "y": 36.1
+ },
+ {
+ "x": -2.1,
+ "y": 36.7
+ },
+ {
+ "x": 8.7,
+ "y": 37.1
+ },
+ {
+ "x": 9.6,
+ "y": 37.3
+ }
+ ]
+ ]
+ }
+ },
+ "7": {
+ "bounding_box": {
+ "h": 8.199999999999996,
+ "w": 16.3,
+ "x": -6.7,
+ "y": 29.1
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": -0.1,
+ "y": 29.1
+ },
+ {
+ "x": -6.7,
+ "y": 36.1
+ },
+ {
+ "x": -2.1,
+ "y": 36.7
+ },
+ {
+ "x": 8.7,
+ "y": 37.1
+ },
+ {
+ "x": 9.6,
+ "y": 37.3
+ }
+ ]
+ ]
+ }
+ }
+ },
+ "global_sub_types": {},
+ "id": "25bd342c-530c-40bb-bf14-a0e58cfe243c",
+ "interpolate_algorithm": "linear-1.1",
+ "interpolated": true,
+ "name": "test_polygon_basic",
+ "properties": [],
+ "ranges": [
+ [
+ 5,
+ 8
+ ]
+ ],
+ "slot_names": [
+ "0"
+ ]
+ },
+ {
+ "frames": {
+ "2": {
+ "bounding_box": {
+ "h": 7.499999999999998,
+ "w": 12.500000000000002,
+ "x": 6.1,
+ "y": 11.9
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 13.2,
+ "y": 11.9
+ },
+ {
+ "x": 6.1,
+ "y": 18.8
+ },
+ {
+ "x": 18.6,
+ "y": 19.4
+ }
+ ]
+ ]
+ }
+ },
+ "3": {
+ "bounding_box": {
+ "h": 7.499999999999998,
+ "w": 12.500000000000002,
+ "x": 6.1,
+ "y": 11.9
+ },
+ "keyframe": false,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 13.2,
+ "y": 11.9
+ },
+ {
+ "x": 6.1,
+ "y": 18.8
+ },
+ {
+ "x": 18.6,
+ "y": 19.4
+ }
+ ]
+ ]
+ }
+ },
+ "4": {
+ "bounding_box": {
+ "h": 7.499999999999998,
+ "w": 12.500000000000002,
+ "x": 6.1,
+ "y": 11.9
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 13.2,
+ "y": 11.9
+ },
+ {
+ "x": 6.1,
+ "y": 18.8
+ },
+ {
+ "x": 18.6,
+ "y": 19.4
+ }
+ ]
+ ]
+ }
+ }
+ },
+ "global_sub_types": {},
+ "id": "d79bc280-3077-4754-bcdf-b9bff87396ef",
+ "interpolate_algorithm": "linear-1.1",
+ "interpolated": true,
+ "name": "test_polygon_basic",
+ "properties": [],
+ "ranges": [
+ [
+ 2,
+ 5
+ ]
+ ],
+ "slot_names": [
+ "0"
+ ]
+ },
+ {
+ "frames": {
+ "0": {
+ "keyframe": true,
+ "mask": {}
+ },
+ "1": {
+ "keyframe": true,
+ "mask": {}
+ },
+ "2": {
+ "keyframe": true,
+ "mask": {}
+ },
+ "9": {
+ "keyframe": true,
+ "mask": {}
+ },
+ "10": {
+ "keyframe": true,
+ "mask": {}
+ },
+ "13": {
+ "keyframe": true,
+ "mask": {}
+ }
+ },
+ "id": "9e26fc7a-75af-4a51-978e-55f95625176d",
+ "interpolate_algorithm": "linear-1.1",
+ "name": "test_mask_basic",
+ "only_keyframes": true,
+ "properties": [],
+ "ranges": [
+ [
+ 0,
+ 14
+ ]
+ ],
+ "slot_names": [
+ "0"
+ ]
+ },
+ {
+ "frames": {
+ "0": {
+ "keyframe": true,
+ "raster_layer": {
+ "dense_rle": [
+ 0,
+ 478,
+ 1,
+ 6,
+ 0,
+ 27,
+ 1,
+ 10,
+ 0,
+ 25,
+ 1,
+ 11,
+ 0,
+ 23,
+ 1,
+ 13,
+ 0,
+ 22,
+ 1,
+ 13,
+ 0,
+ 22,
+ 1,
+ 14,
+ 0,
+ 21,
+ 1,
+ 14,
+ 0,
+ 21,
+ 1,
+ 14,
+ 0,
+ 21,
+ 1,
+ 14,
+ 0,
+ 21,
+ 1,
+ 14,
+ 0,
+ 21,
+ 1,
+ 14,
+ 0,
+ 21,
+ 1,
+ 14,
+ 0,
+ 21,
+ 1,
+ 14,
+ 0,
+ 21,
+ 1,
+ 14,
+ 0,
+ 21,
+ 1,
+ 13,
+ 0,
+ 22,
+ 1,
+ 13,
+ 0,
+ 22,
+ 1,
+ 12,
+ 0,
+ 24,
+ 1,
+ 11,
+ 0,
+ 24,
+ 1,
+ 10,
+ 0,
+ 26,
+ 1,
+ 8,
+ 0,
+ 29,
+ 1,
+ 4,
+ 0,
+ 602
+ ],
+ "mask_annotation_ids_mapping": {
+ "9e26fc7a-75af-4a51-978e-55f95625176d": 1
+ },
+ "total_pixels": 1785
+ }
+ },
+ "1": {
+ "keyframe": true,
+ "raster_layer": {
+ "dense_rle": [
+ 0,
+ 618,
+ 1,
+ 8,
+ 0,
+ 25,
+ 1,
+ 12,
+ 0,
+ 23,
+ 1,
+ 13,
+ 0,
+ 21,
+ 1,
+ 14,
+ 0,
+ 21,
+ 1,
+ 15,
+ 0,
+ 20,
+ 1,
+ 15,
+ 0,
+ 20,
+ 1,
+ 15,
+ 0,
+ 20,
+ 1,
+ 15,
+ 0,
+ 19,
+ 1,
+ 15,
+ 0,
+ 20,
+ 1,
+ 15,
+ 0,
+ 20,
+ 1,
+ 14,
+ 0,
+ 21,
+ 1,
+ 14,
+ 0,
+ 22,
+ 1,
+ 12,
+ 0,
+ 23,
+ 1,
+ 12,
+ 0,
+ 24,
+ 1,
+ 10,
+ 0,
+ 27,
+ 1,
+ 6,
+ 0,
+ 636
+ ],
+ "mask_annotation_ids_mapping": {
+ "9e26fc7a-75af-4a51-978e-55f95625176d": 1
+ },
+ "total_pixels": 1785
+ }
+ },
+ "2": {
+ "keyframe": true,
+ "raster_layer": {
+ "dense_rle": [
+ 0,
+ 763,
+ 1,
+ 6,
+ 0,
+ 27,
+ 1,
+ 9,
+ 0,
+ 24,
+ 1,
+ 11,
+ 0,
+ 24,
+ 1,
+ 11,
+ 0,
+ 23,
+ 1,
+ 12,
+ 0,
+ 23,
+ 1,
+ 12,
+ 0,
+ 23,
+ 1,
+ 12,
+ 0,
+ 23,
+ 1,
+ 12,
+ 0,
+ 23,
+ 1,
+ 12,
+ 0,
+ 23,
+ 1,
+ 12,
+ 0,
+ 24,
+ 1,
+ 11,
+ 0,
+ 24,
+ 1,
+ 11,
+ 0,
+ 25,
+ 1,
+ 10,
+ 0,
+ 27,
+ 1,
+ 8,
+ 0,
+ 560
+ ],
+ "mask_annotation_ids_mapping": {
+ "9e26fc7a-75af-4a51-978e-55f95625176d": 1
+ },
+ "total_pixels": 1785
+ }
+ },
+ "9": {
+ "keyframe": true,
+ "raster_layer": {
+ "dense_rle": [
+ 0,
+ 733,
+ 1,
+ 2,
+ 0,
+ 31,
+ 1,
+ 4,
+ 0,
+ 31,
+ 1,
+ 4,
+ 0,
+ 30,
+ 1,
+ 5,
+ 0,
+ 30,
+ 1,
+ 5,
+ 0,
+ 30,
+ 1,
+ 5,
+ 0,
+ 30,
+ 1,
+ 5,
+ 0,
+ 30,
+ 1,
+ 5,
+ 0,
+ 30,
+ 1,
+ 5,
+ 0,
+ 30,
+ 1,
+ 5,
+ 0,
+ 30,
+ 1,
+ 5,
+ 0,
+ 31,
+ 1,
+ 4,
+ 0,
+ 31,
+ 1,
+ 4,
+ 0,
+ 32,
+ 1,
+ 3,
+ 0,
+ 32,
+ 1,
+ 3,
+ 0,
+ 32,
+ 1,
+ 3,
+ 0,
+ 33,
+ 1,
+ 2,
+ 0,
+ 33,
+ 1,
+ 2,
+ 0,
+ 455
+ ],
+ "mask_annotation_ids_mapping": {
+ "9e26fc7a-75af-4a51-978e-55f95625176d": 1
+ },
+ "total_pixels": 1785
+ }
+ },
+ "10": {
+ "keyframe": true,
+ "raster_layer": {
+ "dense_rle": [
+ 0,
+ 755,
+ 1,
+ 5,
+ 0,
+ 28,
+ 1,
+ 9,
+ 0,
+ 26,
+ 1,
+ 9,
+ 0,
+ 25,
+ 1,
+ 11,
+ 0,
+ 24,
+ 1,
+ 11,
+ 0,
+ 24,
+ 1,
+ 11,
+ 0,
+ 24,
+ 1,
+ 11,
+ 0,
+ 25,
+ 1,
+ 9,
+ 0,
+ 26,
+ 1,
+ 9,
+ 0,
+ 28,
+ 1,
+ 5,
+ 0,
+ 710
+ ],
+ "mask_annotation_ids_mapping": {
+ "9e26fc7a-75af-4a51-978e-55f95625176d": 1
+ },
+ "total_pixels": 1785
+ }
+ },
+ "13": {
+ "keyframe": true,
+ "raster_layer": {
+ "dense_rle": [
+ 0,
+ 790,
+ 1,
+ 4,
+ 0,
+ 29,
+ 1,
+ 8,
+ 0,
+ 27,
+ 1,
+ 8,
+ 0,
+ 26,
+ 1,
+ 10,
+ 0,
+ 25,
+ 1,
+ 10,
+ 0,
+ 25,
+ 1,
+ 10,
+ 0,
+ 25,
+ 1,
+ 10,
+ 0,
+ 26,
+ 1,
+ 8,
+ 0,
+ 27,
+ 1,
+ 8,
+ 0,
+ 29,
+ 1,
+ 4,
+ 0,
+ 676
+ ],
+ "mask_annotation_ids_mapping": {
+ "9e26fc7a-75af-4a51-978e-55f95625176d": 1
+ },
+ "total_pixels": 1785
+ }
+ }
+ },
+ "id": "312acef2-734e-437d-b0ca-71722ef4a38f",
+ "name": "__raster_layer__",
+ "only_keyframes": true,
+ "properties": [],
+ "ranges": [
+ [
+ 0,
+ 35
+ ]
+ ],
+ "slot_names": [
+ "0"
+ ]
+ }
+ ],
+ "properties": []
+}
\ No newline at end of file
diff --git a/e2e_tests/data/convert/nifti/to/hippocampus_001_mpr_1_test_hippo_test_mask_basic_m.nii.gz b/e2e_tests/data/convert/nifti/to/hippocampus_001_mpr_1_test_hippo_test_mask_basic_m.nii.gz
new file mode 100644
index 000000000..01fa649bd
Binary files /dev/null and b/e2e_tests/data/convert/nifti/to/hippocampus_001_mpr_1_test_hippo_test_mask_basic_m.nii.gz differ
diff --git a/e2e_tests/data/convert/nifti/to/hippocampus_001_mpr_1_test_hippo_test_polygon_basic.nii.gz b/e2e_tests/data/convert/nifti/to/hippocampus_001_mpr_1_test_hippo_test_polygon_basic.nii.gz
new file mode 100644
index 000000000..b9732e0e8
Binary files /dev/null and b/e2e_tests/data/convert/nifti/to/hippocampus_001_mpr_1_test_hippo_test_polygon_basic.nii.gz differ
diff --git a/e2e_tests/data/convert/pascalvoc/from/000000021295.json b/e2e_tests/data/convert/pascalvoc/from/000000021295.json
new file mode 100644
index 000000000..dc8e22aae
--- /dev/null
+++ b/e2e_tests/data/convert/pascalvoc/from/000000021295.json
@@ -0,0 +1,81 @@
+{
+ "version": "2.0",
+ "schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
+ "item": {
+ "name": "000000021295.jpg",
+ "path": "/",
+ "source_info": {
+ "item_id": "0192c338-2dc8-bb9f-8dde-9c4a8714c957",
+ "dataset": {
+ "name": "tmp",
+ "slug": "tmp",
+ "dataset_management_url": "https://staging.v7labs.com/datasets/426200/dataset-management"
+ },
+ "team": {
+ "name": "E2E Testing",
+ "slug": "e2e-testing"
+ },
+ "workview_url": "https://staging.v7labs.com/workview?dataset=426200&item=0192c338-2dc8-bb9f-8dde-9c4a8714c957"
+ },
+ "slots": [
+ {
+ "type": "image",
+ "slot_name": "0",
+ "width": 640,
+ "height": 427,
+ "thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/6c554c31-8bf6-4fc7-9f31-394fd775b2a6/thumbnail",
+ "source_files": [
+ {
+ "file_name": "000000021295.jpg",
+ "url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/ade5f1e3-a165-4a07-989f-86ee342499c9"
+ }
+ ]
+ }
+ ]
+ },
+ "annotations": [
+ {
+ "bounding_box": {
+ "h": 23.3562,
+ "w": 87.4362,
+ "x": 103.2062,
+ "y": 55.6957
+ },
+ "id": "754f5f2c-71aa-433c-99dd-e7aae940651c",
+ "name": "test_bounding_box_basic",
+ "properties": [],
+ "slot_names": [
+ "0"
+ ]
+ },
+ {
+ "bounding_box": {
+ "h": 76.6564,
+ "w": 72.4642,
+ "x": 401.4474,
+ "y": 128.7588
+ },
+ "id": "fbcdffcc-d053-46db-b336-4c7e2179cf15",
+ "name": "test_bounding_box_basic",
+ "properties": [],
+ "slot_names": [
+ "0"
+ ]
+ },
+ {
+ "bounding_box": {
+ "h": 21.5596,
+ "w": 117.979,
+ "x": 187.0491,
+ "y": 262.9074
+ },
+ "id": "3325b3b5-add0-47ed-9d71-ccc655e3f3e2",
+ "name": "test_bounding_box_basic",
+ "properties": [],
+ "slot_names": [
+ "0"
+ ]
+ }
+ ],
+ "properties": []
+}
\ No newline at end of file
diff --git a/e2e_tests/data/convert/pascalvoc/to/000000021295.xml b/e2e_tests/data/convert/pascalvoc/to/000000021295.xml
new file mode 100644
index 000000000..d1bb2a6d6
--- /dev/null
+++ b/e2e_tests/data/convert/pascalvoc/to/000000021295.xml
@@ -0,0 +1 @@
+images000000021295.jpgimages/000000021295.jpg64042730
\ No newline at end of file
diff --git a/e2e_tests/data/semantic_mask/from/221b-2.json b/e2e_tests/data/convert/semantic_mask/from/221b-2.json
similarity index 100%
rename from e2e_tests/data/semantic_mask/from/221b-2.json
rename to e2e_tests/data/convert/semantic_mask/from/221b-2.json
diff --git a/e2e_tests/data/semantic_mask/to/class_mapping.csv b/e2e_tests/data/convert/semantic_mask/to/class_mapping.csv
similarity index 100%
rename from e2e_tests/data/semantic_mask/to/class_mapping.csv
rename to e2e_tests/data/convert/semantic_mask/to/class_mapping.csv
diff --git a/e2e_tests/data/yolo/from/test_input_with_bboxes_and_polys.json b/e2e_tests/data/convert/yolo/from/test_input_with_bboxes_and_polys.json
similarity index 100%
rename from e2e_tests/data/yolo/from/test_input_with_bboxes_and_polys.json
rename to e2e_tests/data/convert/yolo/from/test_input_with_bboxes_and_polys.json
diff --git a/e2e_tests/data/yolo/to/darknet.labels b/e2e_tests/data/convert/yolo/to/darknet.labels
similarity index 100%
rename from e2e_tests/data/yolo/to/darknet.labels
rename to e2e_tests/data/convert/yolo/to/darknet.labels
diff --git a/e2e_tests/data/yolov8/from/test_input_with_bboxes_and_polys.json b/e2e_tests/data/convert/yolov8/from/test_input_with_bboxes_and_polys.json
similarity index 100%
rename from e2e_tests/data/yolov8/from/test_input_with_bboxes_and_polys.json
rename to e2e_tests/data/convert/yolov8/from/test_input_with_bboxes_and_polys.json
diff --git a/e2e_tests/data/yolov8/to/darknet.labels b/e2e_tests/data/convert/yolov8/to/darknet.labels
similarity index 100%
rename from e2e_tests/data/yolov8/to/darknet.labels
rename to e2e_tests/data/convert/yolov8/to/darknet.labels
diff --git a/e2e_tests/data/import/coco_annotations/output.json b/e2e_tests/data/import/coco_annotations/output.json
index 5cf0f25f2..4f7aed3ba 100644
--- a/e2e_tests/data/import/coco_annotations/output.json
+++ b/e2e_tests/data/import/coco_annotations/output.json
@@ -17,7 +17,7 @@
"images": [
{
"license": 0,
- "file_name": "image_1",
+ "file_name": "image_1.jpg",
"coco_url": "n/a",
"height": 1080,
"width": 1920,
@@ -30,7 +30,7 @@
},
{
"license": 0,
- "file_name": "image_2",
+ "file_name": "image_2.jpg",
"coco_url": "n/a",
"height": 1080,
"width": 1920,
@@ -43,7 +43,7 @@
},
{
"license": 0,
- "file_name": "image_3",
+ "file_name": "image_3.jpg",
"coco_url": "n/a",
"height": 1080,
"width": 1920,
@@ -56,7 +56,7 @@
},
{
"license": 0,
- "file_name": "image_4",
+ "file_name": "image_4.jpg",
"coco_url": "n/a",
"height": 1080,
"width": 1920,
@@ -69,7 +69,7 @@
},
{
"license": 0,
- "file_name": "image_5",
+ "file_name": "image_5.jpg",
"coco_url": "n/a",
"height": 1080,
"width": 1920,
@@ -82,7 +82,7 @@
},
{
"license": 0,
- "file_name": "image_6",
+ "file_name": "image_6.jpg",
"coco_url": "n/a",
"height": 1080,
"width": 1920,
@@ -95,7 +95,7 @@
},
{
"license": 0,
- "file_name": "image_7",
+ "file_name": "image_7.jpg",
"coco_url": "n/a",
"height": 1080,
"width": 1920,
@@ -108,7 +108,7 @@
},
{
"license": 0,
- "file_name": "image_8",
+ "file_name": "image_8.jpg",
"coco_url": "n/a",
"height": 1080,
"width": 1920,
diff --git a/e2e_tests/data/import/csv_tag_annotations/csv_tags.csv b/e2e_tests/data/import/csv_tag_annotations/csv_tags.csv
index 839b66863..af77d11fa 100644
--- a/e2e_tests/data/import/csv_tag_annotations/csv_tags.csv
+++ b/e2e_tests/data/import/csv_tag_annotations/csv_tags.csv
@@ -1,8 +1,8 @@
-image_1, test_tag_basic
-image_2, test_tag_basic
-dir1/image_3, test_tag_basic
-dir1/image_4, test_tag_basic
-dir2/image_5, test_tag_basic
-dir2/image_6, test_tag_basic
-dir1/dir3/image_7, test_tag_basic
-dir1/dir3/image_8, test_tag_basic
\ No newline at end of file
+image_1.jpg, test_tag_basic
+image_2.jpg, test_tag_basic
+dir1/image_3.jpg, test_tag_basic
+dir1/image_4.jpg, test_tag_basic
+dir2/image_5.jpg, test_tag_basic
+dir2/image_6.jpg, test_tag_basic
+dir1/dir3/image_7.jpg, test_tag_basic
+dir1/dir3/image_8.jpg, test_tag_basic
\ No newline at end of file
diff --git a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_1.json b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_1.json
index 4428eb8b7..f5ef85ade 100644
--- a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_1.json
+++ b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_1.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_1",
+ "name": "image_1.jpg",
"path": "/",
"source_info": {
"item_id": "01920b92-1d5d-94a4-6fbe-8a4d7f9fa15d",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/2ec69e41-91b2-4155-9b05-6ed995677b1e/thumbnail",
"source_files": [
{
- "file_name": "image_1",
+ "file_name": "image_1.jpg",
"storage_key": "darwin-py/images/image_1.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/9dfc5eac-bf16-4380-a148-9fff6e63b9f0"
}
diff --git a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_2.json b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_2.json
index 217492d92..295514451 100644
--- a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_2.json
+++ b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_2.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_2",
+ "name": "image_2.jpg",
"path": "/",
"source_info": {
"item_id": "01920b92-1d5d-ea77-8fa4-16378bafedb3",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/5e0b3d9d-9bf8-4166-8949-6ab7392161ad/thumbnail",
"source_files": [
{
- "file_name": "image_2",
+ "file_name": "image_2.jpg",
"storage_key": "darwin-py/images/image_2.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/4920b12a-1706-47f1-b084-2d2234ed1151"
}
diff --git a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_3.json b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_3.json
index a0d4f9af9..e3bf646c4 100644
--- a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_3.json
+++ b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_3.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_3",
+ "name": "image_3.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b92-1d5d-e8ad-986f-ad4942f1bbfc",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/ddd13905-9bbb-4fab-9642-bf4604686fda/thumbnail",
"source_files": [
{
- "file_name": "image_3",
+ "file_name": "image_3.jpg",
"storage_key": "darwin-py/images/image_3.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/30ec0f13-caaa-4374-be5a-e90b3493fb73"
}
diff --git a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_4.json b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_4.json
index 7da556fb6..b287cf894 100644
--- a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_4.json
+++ b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_4.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_4",
+ "name": "image_4.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b92-1d5d-8b50-17e9-c0f178e6eee6",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/3c731d84-7d7f-4ac8-bbd9-0d53f1d47195/thumbnail",
"source_files": [
{
- "file_name": "image_4",
+ "file_name": "image_4.jpg",
"storage_key": "darwin-py/images/image_4.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/609ba1a4-79da-4743-b331-e57ccd9ee518"
}
diff --git a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_5.json b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_5.json
index 114a849eb..6f8489a25 100644
--- a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_5.json
+++ b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_5.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_5",
+ "name": "image_5.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b92-1d5d-55bf-d705-8b39dea7fde6",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/8f95e81c-def7-4973-9152-6d0fc39e1473/thumbnail",
"source_files": [
{
- "file_name": "image_5",
+ "file_name": "image_5.jpg",
"storage_key": "darwin-py/images/image_5.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/08448a07-4e23-41f9-abbd-0dc149ef2be4"
}
diff --git a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_6.json b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_6.json
index 7f0a0be13..69f01b169 100644
--- a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_6.json
+++ b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_6.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_6",
+ "name": "image_6.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b92-1d5d-1832-3a09-1f38557c57b4",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/4950b608-00a1-4e73-b746-bfe1ea0a1ab6/thumbnail",
"source_files": [
{
- "file_name": "image_6",
+ "file_name": "image_6.jpg",
"storage_key": "darwin-py/images/image_6.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/9e070e8c-03b3-40b7-a3cb-6da6bcc8d4ed"
}
diff --git a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_7.json b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_7.json
index 82f5e7861..291156ad8 100644
--- a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_7.json
+++ b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_7.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_7",
+ "name": "image_7.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b92-1d5d-46ee-5117-53ba0d29d1b0",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/1e2f63eb-b7fc-482f-91f3-8caa242e63cb/thumbnail",
"source_files": [
{
- "file_name": "image_7",
+ "file_name": "image_7.jpg",
"storage_key": "darwin-py/images/image_7.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/20de7c08-20dc-4f16-b559-bbcce2f7b319"
}
diff --git a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_8.json b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_8.json
index 72a9e2e40..396e63f72 100644
--- a/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_8.json
+++ b/e2e_tests/data/import/image_annotations_item_level_properties_no_annotations/image_8.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_8",
+ "name": "image_8.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b92-1d5e-908e-7b24-3d339ea72237",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/ace6c9a2-d39a-43df-9fd2-9f124176810a/thumbnail",
"source_files": [
{
- "file_name": "image_8",
+ "file_name": "image_8.jpg",
"storage_key": "darwin-py/images/image_8.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/141cdb56-2494-4052-bce2-b22673e6ad68"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_1-keypoint_ellipse_polygon_bbox.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_1-keypoint_ellipse_polygon_bbox.json
index 42210df98..299a7be8a 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_1-keypoint_ellipse_polygon_bbox.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_1-keypoint_ellipse_polygon_bbox.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_1",
+ "name": "image_1.jpg",
"path": "/",
"source_info": {
"item_id": "01922dc5-646b-a549-6aa9-ae9f61c95747",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/469c8a89-0557-42ea-a3a1-04f90d9f6b88/thumbnail",
"source_files": [
{
- "file_name": "image_1",
+ "file_name": "image_1.jpg",
"storage_key": "darwin-py/images/image_1.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/144dc80d-6bec-4885-b5cb-a174f18000e2"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_2-keypoint_ellipse_polygon_bbox.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_2-keypoint_ellipse_polygon_bbox.json
index 1c75907d6..dbfe75fb5 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_2-keypoint_ellipse_polygon_bbox.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_2-keypoint_ellipse_polygon_bbox.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_2",
+ "name": "image_2.jpg",
"path": "/",
"source_info": {
"item_id": "01922dc5-646b-f0b7-9d92-ecc504bba55e",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/7ac2488d-df4e-42b1-bde2-86cbe22d526c/thumbnail",
"source_files": [
{
- "file_name": "image_2",
+ "file_name": "image_2.jpg",
"storage_key": "darwin-py/images/image_2.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/3138e283-a72f-4232-be35-0826fcf2ab01"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_3-keypoint_ellipse_polygon_bbox.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_3-keypoint_ellipse_polygon_bbox.json
index da4fe6aed..347328378 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_3-keypoint_ellipse_polygon_bbox.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_3-keypoint_ellipse_polygon_bbox.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_3",
+ "name": "image_3.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01922dc5-646b-8c77-0a6f-6c06085e0352",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/a8205e6b-e940-4bb1-b29d-846e78a89086/thumbnail",
"source_files": [
{
- "file_name": "image_3",
+ "file_name": "image_3.jpg",
"storage_key": "darwin-py/images/image_3.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/07d711e4-cb84-4848-a188-9b9330ea1038"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_4-keypoint_ellipse_polygon_bbox.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_4-keypoint_ellipse_polygon_bbox.json
index 7d5f589b2..c93275f82 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_4-keypoint_ellipse_polygon_bbox.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_4-keypoint_ellipse_polygon_bbox.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_4",
+ "name": "image_4.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01922dc5-646b-299c-e0c2-cb73dccf6d4f",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/8f48ba52-eee7-457b-829c-01f4af25f20f/thumbnail",
"source_files": [
{
- "file_name": "image_4",
+ "file_name": "image_4.jpg",
"storage_key": "darwin-py/images/image_4.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/d127dc20-a63f-492a-912a-f7d875c65251"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_5-keypoint_ellipse_polygon_bbox.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_5-keypoint_ellipse_polygon_bbox.json
index 568a33245..d404f0cbc 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_5-keypoint_ellipse_polygon_bbox.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_5-keypoint_ellipse_polygon_bbox.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_5",
+ "name": "image_5.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01922dc5-646c-c805-c2f1-3368dcbaf9ca",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/196805d6-f0da-447b-8b7b-153d20f2eeff/thumbnail",
"source_files": [
{
- "file_name": "image_5",
+ "file_name": "image_5.jpg",
"storage_key": "darwin-py/images/image_5.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/6c852f65-79cb-413e-82be-6eefc01c783e"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_6-keypoint_ellipse_polygon_bbox.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_6-keypoint_ellipse_polygon_bbox.json
index 9b6faaac8..45ac8ad93 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_6-keypoint_ellipse_polygon_bbox.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_6-keypoint_ellipse_polygon_bbox.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_6",
+ "name": "image_6.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01922dc5-646c-075e-209f-c3f64d2bf0a8",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/e677b814-e6c4-4bf7-a5aa-e9883b612392/thumbnail",
"source_files": [
{
- "file_name": "image_6",
+ "file_name": "image_6.jpg",
"storage_key": "darwin-py/images/image_6.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/77191998-6632-42f8-abe9-75df8304decb"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_7-keypoint_ellipse_polygon_bbox.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_7-keypoint_ellipse_polygon_bbox.json
index 2f3814db7..c66947c21 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_7-keypoint_ellipse_polygon_bbox.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_7-keypoint_ellipse_polygon_bbox.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_7",
+ "name": "image_7.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01922dc5-646c-98a3-3ee8-03efea8cff21",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/39540d73-2de8-4bc8-8690-c1176f6de2e2/thumbnail",
"source_files": [
{
- "file_name": "image_7",
+ "file_name": "image_7.jpg",
"storage_key": "darwin-py/images/image_7.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/1516bad4-ccd7-40fa-abbc-15a82c851f1f"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_8-keypoint_ellipse_polygon_bbox.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_8-keypoint_ellipse_polygon_bbox.json
index 175420028..3947635bc 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_8-keypoint_ellipse_polygon_bbox.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-keypoint_ellipse_polygon_bbox/image_8-keypoint_ellipse_polygon_bbox.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_8",
+ "name": "image_8.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01922dc5-646c-3e01-10b9-73f2d06e2ae4",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/52dcfc17-e1ec-45e8-af3a-924ae9764267/thumbnail",
"source_files": [
{
- "file_name": "image_8",
+ "file_name": "image_8.jpg",
"storage_key": "darwin-py/images/image_8.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/45f8df38-3022-486f-88da-fa3da2c018e0"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_1-tag_skeleton_mask_line.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_1-tag_skeleton_mask_line.json
index ede4b571d..cef816049 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_1-tag_skeleton_mask_line.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_1-tag_skeleton_mask_line.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_1",
+ "name": "image_1.jpg",
"path": "/",
"source_info": {
"item_id": "01922dc5-646b-a549-6aa9-ae9f61c95747",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/469c8a89-0557-42ea-a3a1-04f90d9f6b88/thumbnail",
"source_files": [
{
- "file_name": "image_1",
+ "file_name": "image_1.jpg",
"storage_key": "darwin-py/images/image_1.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/144dc80d-6bec-4885-b5cb-a174f18000e2"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_2-tag_skeleton_mask_line.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_2-tag_skeleton_mask_line.json
index 04513a49c..cdf52a43c 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_2-tag_skeleton_mask_line.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_2-tag_skeleton_mask_line.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_2",
+ "name": "image_2.jpg",
"path": "/",
"source_info": {
"item_id": "01922dc5-646b-f0b7-9d92-ecc504bba55e",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/7ac2488d-df4e-42b1-bde2-86cbe22d526c/thumbnail",
"source_files": [
{
- "file_name": "image_2",
+ "file_name": "image_2.jpg",
"storage_key": "darwin-py/images/image_2.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/3138e283-a72f-4232-be35-0826fcf2ab01"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_3-tag_skeleton_mask_line.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_3-tag_skeleton_mask_line.json
index b939b36a3..53437a08b 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_3-tag_skeleton_mask_line.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_3-tag_skeleton_mask_line.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_3",
+ "name": "image_3.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01922dc5-646b-8c77-0a6f-6c06085e0352",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/a8205e6b-e940-4bb1-b29d-846e78a89086/thumbnail",
"source_files": [
{
- "file_name": "image_3",
+ "file_name": "image_3.jpg",
"storage_key": "darwin-py/images/image_3.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/07d711e4-cb84-4848-a188-9b9330ea1038"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_4-tag_skeleton_mask_line.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_4-tag_skeleton_mask_line.json
index b1e21ca65..ff79f4845 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_4-tag_skeleton_mask_line.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_4-tag_skeleton_mask_line.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_4",
+ "name": "image_4.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01922dc5-646b-299c-e0c2-cb73dccf6d4f",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/8f48ba52-eee7-457b-829c-01f4af25f20f/thumbnail",
"source_files": [
{
- "file_name": "image_4",
+ "file_name": "image_4.jpg",
"storage_key": "darwin-py/images/image_4.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/d127dc20-a63f-492a-912a-f7d875c65251"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_5-tag_skeleton_mask_line.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_5-tag_skeleton_mask_line.json
index d612dbf98..1bd662c58 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_5-tag_skeleton_mask_line.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_5-tag_skeleton_mask_line.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_5",
+ "name": "image_5.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01922dc5-646c-c805-c2f1-3368dcbaf9ca",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/196805d6-f0da-447b-8b7b-153d20f2eeff/thumbnail",
"source_files": [
{
- "file_name": "image_5",
+ "file_name": "image_5.jpg",
"storage_key": "darwin-py/images/image_5.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/6c852f65-79cb-413e-82be-6eefc01c783e"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_6-tag_skeleton_mask_line.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_6-tag_skeleton_mask_line.json
index 7105d3f08..0c9e326a3 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_6-tag_skeleton_mask_line.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_6-tag_skeleton_mask_line.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_6",
+ "name": "image_6.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01922dc5-646c-075e-209f-c3f64d2bf0a8",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/e677b814-e6c4-4bf7-a5aa-e9883b612392/thumbnail",
"source_files": [
{
- "file_name": "image_6",
+ "file_name": "image_6.jpg",
"storage_key": "darwin-py/images/image_6.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/77191998-6632-42f8-abe9-75df8304decb"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_7-tag_skeleton_mask_line.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_7-tag_skeleton_mask_line.json
index 3f3dacc62..91975bab4 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_7-tag_skeleton_mask_line.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_7-tag_skeleton_mask_line.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_7",
+ "name": "image_7.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01922dc5-646c-98a3-3ee8-03efea8cff21",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/39540d73-2de8-4bc8-8690-c1176f6de2e2/thumbnail",
"source_files": [
{
- "file_name": "image_7",
+ "file_name": "image_7.jpg",
"storage_key": "darwin-py/images/image_7.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/1516bad4-ccd7-40fa-abbc-15a82c851f1f"
}
diff --git a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_8-tag_skeleton_mask_line.json b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_8-tag_skeleton_mask_line.json
index 053b5b58c..1b121e2fd 100644
--- a/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_8-tag_skeleton_mask_line.json
+++ b/e2e_tests/data/import/image_annotations_split_in_two_files/annotations-tag_skeleton_mask_line/image_8-tag_skeleton_mask_line.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_8",
+ "name": "image_8.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01922dc5-646c-3e01-10b9-73f2d06e2ae4",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/52dcfc17-e1ec-45e8-af3a-924ae9764267/thumbnail",
"source_files": [
{
- "file_name": "image_8",
+ "file_name": "image_8.jpg",
"storage_key": "darwin-py/images/image_8.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/45f8df38-3022-486f-88da-fa3da2c018e0"
}
diff --git a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_1.json b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_1.json
index 65da1a963..43aae827a 100644
--- a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_1.json
+++ b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_1.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_1",
+ "name": "image_1.jpg",
"path": "/",
"source_info": {
"item_id": "01920b92-1d5d-94a4-6fbe-8a4d7f9fa15d",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/2ec69e41-91b2-4155-9b05-6ed995677b1e/thumbnail",
"source_files": [
{
- "file_name": "image_1",
+ "file_name": "image_1.jpg",
"storage_key": "darwin-py/images/image_1.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/9dfc5eac-bf16-4380-a148-9fff6e63b9f0"
}
diff --git a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_2.json b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_2.json
index 4feec191e..8fad24ab5 100644
--- a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_2.json
+++ b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_2.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_2",
+ "name": "image_2.jpg",
"path": "/",
"source_info": {
"item_id": "01920b92-1d5d-ea77-8fa4-16378bafedb3",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/5e0b3d9d-9bf8-4166-8949-6ab7392161ad/thumbnail",
"source_files": [
{
- "file_name": "image_2",
+ "file_name": "image_2.jpg",
"storage_key": "darwin-py/images/image_2.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/4920b12a-1706-47f1-b084-2d2234ed1151"
}
diff --git a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_3.json b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_3.json
index fe3e37855..499aef03d 100644
--- a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_3.json
+++ b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_3.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_3",
+ "name": "image_3.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b92-1d5d-e8ad-986f-ad4942f1bbfc",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/ddd13905-9bbb-4fab-9642-bf4604686fda/thumbnail",
"source_files": [
{
- "file_name": "image_3",
+ "file_name": "image_3.jpg",
"storage_key": "darwin-py/images/image_3.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/30ec0f13-caaa-4374-be5a-e90b3493fb73"
}
diff --git a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_4.json b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_4.json
index 13101ba83..a4429272c 100644
--- a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_4.json
+++ b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_4.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_4",
+ "name": "image_4.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b92-1d5d-8b50-17e9-c0f178e6eee6",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/3c731d84-7d7f-4ac8-bbd9-0d53f1d47195/thumbnail",
"source_files": [
{
- "file_name": "image_4",
+ "file_name": "image_4.jpg",
"storage_key": "darwin-py/images/image_4.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/609ba1a4-79da-4743-b331-e57ccd9ee518"
}
diff --git a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_5.json b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_5.json
index 81e606669..a2de550a3 100644
--- a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_5.json
+++ b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_5.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_5",
+ "name": "image_5.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b92-1d5d-55bf-d705-8b39dea7fde6",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/8f95e81c-def7-4973-9152-6d0fc39e1473/thumbnail",
"source_files": [
{
- "file_name": "image_5",
+ "file_name": "image_5.jpg",
"storage_key": "darwin-py/images/image_5.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/08448a07-4e23-41f9-abbd-0dc149ef2be4"
}
diff --git a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_6.json b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_6.json
index 8e924e382..565ff259e 100644
--- a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_6.json
+++ b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_6.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_6",
+ "name": "image_6.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b92-1d5d-1832-3a09-1f38557c57b4",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/4950b608-00a1-4e73-b746-bfe1ea0a1ab6/thumbnail",
"source_files": [
{
- "file_name": "image_6",
+ "file_name": "image_6.jpg",
"storage_key": "darwin-py/images/image_6.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/9e070e8c-03b3-40b7-a3cb-6da6bcc8d4ed"
}
diff --git a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_7.json b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_7.json
index a118205fc..e5bde297a 100644
--- a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_7.json
+++ b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_7.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_7",
+ "name": "image_7.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b92-1d5d-46ee-5117-53ba0d29d1b0",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/1e2f63eb-b7fc-482f-91f3-8caa242e63cb/thumbnail",
"source_files": [
{
- "file_name": "image_7",
+ "file_name": "image_7.jpg",
"storage_key": "darwin-py/images/image_7.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/20de7c08-20dc-4f16-b559-bbcce2f7b319"
}
diff --git a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_8.json b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_8.json
index 406706c7a..f4fb60c64 100644
--- a/e2e_tests/data/import/image_annotations_with_item_level_properties/image_8.json
+++ b/e2e_tests/data/import/image_annotations_with_item_level_properties/image_8.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_8",
+ "name": "image_8.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b92-1d5e-908e-7b24-3d339ea72237",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/ace6c9a2-d39a-43df-9fd2-9f124176810a/thumbnail",
"source_files": [
{
- "file_name": "image_8",
+ "file_name": "image_8.jpg",
"storage_key": "darwin-py/images/image_8.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/141cdb56-2494-4052-bce2-b22673e6ad68"
}
diff --git a/e2e_tests/data/import/image_annotations_with_subtypes/image_1.json b/e2e_tests/data/import/image_annotations_with_subtypes/image_1.json
index f9ded430f..c5255aa3b 100644
--- a/e2e_tests/data/import/image_annotations_with_subtypes/image_1.json
+++ b/e2e_tests/data/import/image_annotations_with_subtypes/image_1.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_1",
+ "name": "image_1.jpg",
"path": "/",
"source_info": {
"item_id": "01920b92-1d5d-94a4-6fbe-8a4d7f9fa15d",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/2ec69e41-91b2-4155-9b05-6ed995677b1e/thumbnail",
"source_files": [
{
- "file_name": "image_1",
+ "file_name": "image_1.jpg",
"storage_key": "darwin-py/images/image_1.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/9dfc5eac-bf16-4380-a148-9fff6e63b9f0"
}
diff --git a/e2e_tests/data/import/image_annotations_with_subtypes/image_2.json b/e2e_tests/data/import/image_annotations_with_subtypes/image_2.json
index c0340ee59..9a91cd116 100644
--- a/e2e_tests/data/import/image_annotations_with_subtypes/image_2.json
+++ b/e2e_tests/data/import/image_annotations_with_subtypes/image_2.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_2",
+ "name": "image_2.jpg",
"path": "/",
"source_info": {
"item_id": "01920b92-1d5d-ea77-8fa4-16378bafedb3",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/5e0b3d9d-9bf8-4166-8949-6ab7392161ad/thumbnail",
"source_files": [
{
- "file_name": "image_2",
+ "file_name": "image_2.jpg",
"storage_key": "darwin-py/images/image_2.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/4920b12a-1706-47f1-b084-2d2234ed1151"
}
diff --git a/e2e_tests/data/import/image_annotations_with_subtypes/image_3.json b/e2e_tests/data/import/image_annotations_with_subtypes/image_3.json
index d81446088..907c2049b 100644
--- a/e2e_tests/data/import/image_annotations_with_subtypes/image_3.json
+++ b/e2e_tests/data/import/image_annotations_with_subtypes/image_3.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_3",
+ "name": "image_3.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b92-1d5d-e8ad-986f-ad4942f1bbfc",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/ddd13905-9bbb-4fab-9642-bf4604686fda/thumbnail",
"source_files": [
{
- "file_name": "image_3",
+ "file_name": "image_3.jpg",
"storage_key": "darwin-py/images/image_3.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/30ec0f13-caaa-4374-be5a-e90b3493fb73"
}
diff --git a/e2e_tests/data/import/image_annotations_with_subtypes/image_4.json b/e2e_tests/data/import/image_annotations_with_subtypes/image_4.json
index 9e4d66c77..dd9c4b30d 100644
--- a/e2e_tests/data/import/image_annotations_with_subtypes/image_4.json
+++ b/e2e_tests/data/import/image_annotations_with_subtypes/image_4.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_4",
+ "name": "image_4.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b92-1d5d-8b50-17e9-c0f178e6eee6",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/3c731d84-7d7f-4ac8-bbd9-0d53f1d47195/thumbnail",
"source_files": [
{
- "file_name": "image_4",
+ "file_name": "image_4.jpg",
"storage_key": "darwin-py/images/image_4.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/609ba1a4-79da-4743-b331-e57ccd9ee518"
}
diff --git a/e2e_tests/data/import/image_annotations_with_subtypes/image_5.json b/e2e_tests/data/import/image_annotations_with_subtypes/image_5.json
index 9097e7e6b..85799627c 100644
--- a/e2e_tests/data/import/image_annotations_with_subtypes/image_5.json
+++ b/e2e_tests/data/import/image_annotations_with_subtypes/image_5.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_5",
+ "name": "image_5.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b92-1d5d-55bf-d705-8b39dea7fde6",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/8f95e81c-def7-4973-9152-6d0fc39e1473/thumbnail",
"source_files": [
{
- "file_name": "image_5",
+ "file_name": "image_5.jpg",
"storage_key": "darwin-py/images/image_5.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/08448a07-4e23-41f9-abbd-0dc149ef2be4"
}
diff --git a/e2e_tests/data/import/image_annotations_with_subtypes/image_6.json b/e2e_tests/data/import/image_annotations_with_subtypes/image_6.json
index 52f4666d6..f784c623a 100644
--- a/e2e_tests/data/import/image_annotations_with_subtypes/image_6.json
+++ b/e2e_tests/data/import/image_annotations_with_subtypes/image_6.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_6",
+ "name": "image_6.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b92-1d5d-1832-3a09-1f38557c57b4",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/4950b608-00a1-4e73-b746-bfe1ea0a1ab6/thumbnail",
"source_files": [
{
- "file_name": "image_6",
+ "file_name": "image_6.jpg",
"storage_key": "darwin-py/images/image_6.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/9e070e8c-03b3-40b7-a3cb-6da6bcc8d4ed"
}
diff --git a/e2e_tests/data/import/image_annotations_with_subtypes/image_7.json b/e2e_tests/data/import/image_annotations_with_subtypes/image_7.json
index 22cd4093c..6d1255994 100644
--- a/e2e_tests/data/import/image_annotations_with_subtypes/image_7.json
+++ b/e2e_tests/data/import/image_annotations_with_subtypes/image_7.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_7",
+ "name": "image_7.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b92-1d5d-46ee-5117-53ba0d29d1b0",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/1e2f63eb-b7fc-482f-91f3-8caa242e63cb/thumbnail",
"source_files": [
{
- "file_name": "image_7",
+ "file_name": "image_7.jpg",
"storage_key": "darwin-py/images/image_7.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/20de7c08-20dc-4f16-b559-bbcce2f7b319"
}
diff --git a/e2e_tests/data/import/image_annotations_with_subtypes/image_8.json b/e2e_tests/data/import/image_annotations_with_subtypes/image_8.json
index 1fe063631..2105274c9 100644
--- a/e2e_tests/data/import/image_annotations_with_subtypes/image_8.json
+++ b/e2e_tests/data/import/image_annotations_with_subtypes/image_8.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_8",
+ "name": "image_8.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b92-1d5e-908e-7b24-3d339ea72237",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/ace6c9a2-d39a-43df-9fd2-9f124176810a/thumbnail",
"source_files": [
{
- "file_name": "image_8",
+ "file_name": "image_8.jpg",
"storage_key": "darwin-py/images/image_8.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/141cdb56-2494-4052-bce2-b22673e6ad68"
}
diff --git a/e2e_tests/data/import/image_annotations_without_subtypes/image_1.json b/e2e_tests/data/import/image_annotations_without_subtypes/image_1.json
index 93c615805..1662c9c76 100644
--- a/e2e_tests/data/import/image_annotations_without_subtypes/image_1.json
+++ b/e2e_tests/data/import/image_annotations_without_subtypes/image_1.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_1",
+ "name": "image_1.jpg",
"path": "/",
"source_info": {
"item_id": "01920b88-51e0-ce68-bf91-a1bab42246e0",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/b03a6b21-a3f8-492b-999f-62fbd15b444b/thumbnail",
"source_files": [
{
- "file_name": "image_1",
+ "file_name": "image_1.jpg",
"storage_key": "darwin-py/images/image_1.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/c2248b2e-9ae6-4db3-97ae-2bb6a0ab2380"
}
diff --git a/e2e_tests/data/import/image_annotations_without_subtypes/image_2.json b/e2e_tests/data/import/image_annotations_without_subtypes/image_2.json
index 481e75cbc..2ec788fad 100644
--- a/e2e_tests/data/import/image_annotations_without_subtypes/image_2.json
+++ b/e2e_tests/data/import/image_annotations_without_subtypes/image_2.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_2",
+ "name": "image_2.jpg",
"path": "/",
"source_info": {
"item_id": "01920b88-51e0-850c-fc38-74479d6aad3e",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/5562f5ff-9ea4-43a8-8838-d5e800faea01/thumbnail",
"source_files": [
{
- "file_name": "image_2",
+ "file_name": "image_2.jpg",
"storage_key": "darwin-py/images/image_2.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/ce018659-b1b9-465b-bba7-70d894014610"
}
diff --git a/e2e_tests/data/import/image_annotations_without_subtypes/image_3.json b/e2e_tests/data/import/image_annotations_without_subtypes/image_3.json
index 0099624fc..a9d1cb250 100644
--- a/e2e_tests/data/import/image_annotations_without_subtypes/image_3.json
+++ b/e2e_tests/data/import/image_annotations_without_subtypes/image_3.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_3",
+ "name": "image_3.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b88-51e0-741b-a23a-168903e65d33",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/e7bc0204-5818-4d91-9455-975d2be5cd46/thumbnail",
"source_files": [
{
- "file_name": "image_3",
+ "file_name": "image_3.jpg",
"storage_key": "darwin-py/images/image_3.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/9e3bfc17-0bae-45d5-9190-59d9caef55fa"
}
diff --git a/e2e_tests/data/import/image_annotations_without_subtypes/image_4.json b/e2e_tests/data/import/image_annotations_without_subtypes/image_4.json
index 327bbb96f..ed368d92d 100644
--- a/e2e_tests/data/import/image_annotations_without_subtypes/image_4.json
+++ b/e2e_tests/data/import/image_annotations_without_subtypes/image_4.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_4",
+ "name": "image_4.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b88-51e0-304e-9e0b-dfb9287c1df7",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/aed10b03-2237-4cad-8a86-8b1c658d2409/thumbnail",
"source_files": [
{
- "file_name": "image_4",
+ "file_name": "image_4.jpg",
"storage_key": "darwin-py/images/image_4.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/2212b5a1-0dfd-427f-ae60-bc2c8a55884b"
}
diff --git a/e2e_tests/data/import/image_annotations_without_subtypes/image_5.json b/e2e_tests/data/import/image_annotations_without_subtypes/image_5.json
index 536316bbd..84b0e3888 100644
--- a/e2e_tests/data/import/image_annotations_without_subtypes/image_5.json
+++ b/e2e_tests/data/import/image_annotations_without_subtypes/image_5.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_5",
+ "name": "image_5.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b88-51e0-30eb-618d-9a8f3679edb3",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/72e84b0f-4474-43f6-89e9-78f56665e9cd/thumbnail",
"source_files": [
{
- "file_name": "image_5",
+ "file_name": "image_5.jpg",
"storage_key": "darwin-py/images/image_5.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/37c060b2-b114-4af1-9d8a-46ef1900877e"
}
diff --git a/e2e_tests/data/import/image_annotations_without_subtypes/image_6.json b/e2e_tests/data/import/image_annotations_without_subtypes/image_6.json
index 25679840b..a1c0f22e5 100644
--- a/e2e_tests/data/import/image_annotations_without_subtypes/image_6.json
+++ b/e2e_tests/data/import/image_annotations_without_subtypes/image_6.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_6",
+ "name": "image_6.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b88-51e0-299f-d91b-ef85ec1507c3",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/3867bff6-7cb8-4083-83b7-7c74188eb621/thumbnail",
"source_files": [
{
- "file_name": "image_6",
+ "file_name": "image_6.jpg",
"storage_key": "darwin-py/images/image_6.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/4910e491-2191-43b0-8c3f-cc4240457e0e"
}
diff --git a/e2e_tests/data/import/image_annotations_without_subtypes/image_7.json b/e2e_tests/data/import/image_annotations_without_subtypes/image_7.json
index 0a91f20d2..5eef39020 100644
--- a/e2e_tests/data/import/image_annotations_without_subtypes/image_7.json
+++ b/e2e_tests/data/import/image_annotations_without_subtypes/image_7.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_7",
+ "name": "image_7.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b88-51e0-a0ea-7996-c7856e06e238",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/18110321-6229-4f5a-89db-3ca1e3d2a39d/thumbnail",
"source_files": [
{
- "file_name": "image_7",
+ "file_name": "image_7.jpg",
"storage_key": "darwin-py/images/image_7.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/d033e648-80a7-4e51-ae34-4a904a7dfc9b"
}
diff --git a/e2e_tests/data/import/image_annotations_without_subtypes/image_8.json b/e2e_tests/data/import/image_annotations_without_subtypes/image_8.json
index aaa83b842..45ba36bd1 100644
--- a/e2e_tests/data/import/image_annotations_without_subtypes/image_8.json
+++ b/e2e_tests/data/import/image_annotations_without_subtypes/image_8.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_8",
+ "name": "image_8.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b88-51e0-1bd8-4aea-602e6a733d30",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/75abc84b-25d1-4e68-b6d7-c455a242a8da/thumbnail",
"source_files": [
{
- "file_name": "image_8",
+ "file_name": "image_8.jpg",
"storage_key": "darwin-py/images/image_8.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/403aa7ed-25db-47e8-b871-6926e1c5a0b2"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_1.json b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_1.json
index 81340c5da..328ad56a8 100644
--- a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_1.json
+++ b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_1.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_1",
+ "name": "image_1.jpg",
"path": "/",
"source_info": {
"item_id": "01920b92-1d5d-94a4-6fbe-8a4d7f9fa15d",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/2ec69e41-91b2-4155-9b05-6ed995677b1e/thumbnail",
"source_files": [
{
- "file_name": "image_1",
+ "file_name": "image_1.jpg",
"storage_key": "darwin-py/images/image_1.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/9dfc5eac-bf16-4380-a148-9fff6e63b9f0"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_2.json b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_2.json
index f11a3432a..69eff4fc9 100644
--- a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_2.json
+++ b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_2.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_2",
+ "name": "image_2.jpg",
"path": "/",
"source_info": {
"item_id": "01920b92-1d5d-ea77-8fa4-16378bafedb3",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/5e0b3d9d-9bf8-4166-8949-6ab7392161ad/thumbnail",
"source_files": [
{
- "file_name": "image_2",
+ "file_name": "image_2.jpg",
"storage_key": "darwin-py/images/image_2.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/4920b12a-1706-47f1-b084-2d2234ed1151"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_3.json b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_3.json
index 9e4a699aa..c9c1c1ec1 100644
--- a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_3.json
+++ b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_3.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_3",
+ "name": "image_3.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b92-1d5d-e8ad-986f-ad4942f1bbfc",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/ddd13905-9bbb-4fab-9642-bf4604686fda/thumbnail",
"source_files": [
{
- "file_name": "image_3",
+ "file_name": "image_3.jpg",
"storage_key": "darwin-py/images/image_3.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/30ec0f13-caaa-4374-be5a-e90b3493fb73"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_4.json b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_4.json
index fd71b89a4..4af306407 100644
--- a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_4.json
+++ b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_4.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_4",
+ "name": "image_4.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b92-1d5d-8b50-17e9-c0f178e6eee6",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/3c731d84-7d7f-4ac8-bbd9-0d53f1d47195/thumbnail",
"source_files": [
{
- "file_name": "image_4",
+ "file_name": "image_4.jpg",
"storage_key": "darwin-py/images/image_4.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/609ba1a4-79da-4743-b331-e57ccd9ee518"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_5.json b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_5.json
index a9bcba7d8..8ff9892d9 100644
--- a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_5.json
+++ b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_5.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_5",
+ "name": "image_5.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b92-1d5d-55bf-d705-8b39dea7fde6",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/8f95e81c-def7-4973-9152-6d0fc39e1473/thumbnail",
"source_files": [
{
- "file_name": "image_5",
+ "file_name": "image_5.jpg",
"storage_key": "darwin-py/images/image_5.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/08448a07-4e23-41f9-abbd-0dc149ef2be4"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_6.json b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_6.json
index afdce5011..3684f556f 100644
--- a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_6.json
+++ b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_6.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_6",
+ "name": "image_6.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b92-1d5d-1832-3a09-1f38557c57b4",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/4950b608-00a1-4e73-b746-bfe1ea0a1ab6/thumbnail",
"source_files": [
{
- "file_name": "image_6",
+ "file_name": "image_6.jpg",
"storage_key": "darwin-py/images/image_6.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/9e070e8c-03b3-40b7-a3cb-6da6bcc8d4ed"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_7.json b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_7.json
index bcc8a3e44..19918a227 100644
--- a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_7.json
+++ b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_7.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_7",
+ "name": "image_7.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b92-1d5d-46ee-5117-53ba0d29d1b0",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/1e2f63eb-b7fc-482f-91f3-8caa242e63cb/thumbnail",
"source_files": [
{
- "file_name": "image_7",
+ "file_name": "image_7.jpg",
"storage_key": "darwin-py/images/image_7.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/20de7c08-20dc-4f16-b559-bbcce2f7b319"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_8.json b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_8.json
index 6fea144e9..0b2ae560c 100644
--- a/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_8.json
+++ b/e2e_tests/data/import/image_new_annotations_with_item_level_properties/image_8.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_8",
+ "name": "image_8.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b92-1d5e-908e-7b24-3d339ea72237",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/ace6c9a2-d39a-43df-9fd2-9f124176810a/thumbnail",
"source_files": [
{
- "file_name": "image_8",
+ "file_name": "image_8.jpg",
"storage_key": "darwin-py/images/image_8.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/141cdb56-2494-4052-bce2-b22673e6ad68"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_properties/image_1.json b/e2e_tests/data/import/image_new_annotations_with_properties/image_1.json
index 9388f7b20..994bde7e1 100644
--- a/e2e_tests/data/import/image_new_annotations_with_properties/image_1.json
+++ b/e2e_tests/data/import/image_new_annotations_with_properties/image_1.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_1",
+ "name": "image_1.jpg",
"path": "/",
"source_info": {
"item_id": "01920b92-1d5d-94a4-6fbe-8a4d7f9fa15d",
@@ -19,7 +19,7 @@
},
"slots": [
{
- "type": "image",
+ "type": "image.jpg",
"slot_name": "0",
"width": 1920,
"height": 1080,
diff --git a/e2e_tests/data/import/image_new_annotations_with_properties/image_2.json b/e2e_tests/data/import/image_new_annotations_with_properties/image_2.json
index 047ccf7d0..74778af52 100644
--- a/e2e_tests/data/import/image_new_annotations_with_properties/image_2.json
+++ b/e2e_tests/data/import/image_new_annotations_with_properties/image_2.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_2",
+ "name": "image_2.jpg",
"path": "/",
"source_info": {
"item_id": "01920b92-1d5d-ea77-8fa4-16378bafedb3",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/5e0b3d9d-9bf8-4166-8949-6ab7392161ad/thumbnail",
"source_files": [
{
- "file_name": "image_2",
+ "file_name": "image_2.jpg",
"storage_key": "darwin-py/images/image_2.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/4920b12a-1706-47f1-b084-2d2234ed1151"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_properties/image_3.json b/e2e_tests/data/import/image_new_annotations_with_properties/image_3.json
index acf1ee737..d04dfb70e 100644
--- a/e2e_tests/data/import/image_new_annotations_with_properties/image_3.json
+++ b/e2e_tests/data/import/image_new_annotations_with_properties/image_3.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_3",
+ "name": "image_3.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b92-1d5d-e8ad-986f-ad4942f1bbfc",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/ddd13905-9bbb-4fab-9642-bf4604686fda/thumbnail",
"source_files": [
{
- "file_name": "image_3",
+ "file_name": "image_3.jpg",
"storage_key": "darwin-py/images/image_3.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/30ec0f13-caaa-4374-be5a-e90b3493fb73"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_properties/image_4.json b/e2e_tests/data/import/image_new_annotations_with_properties/image_4.json
index 5466811d6..5abb2be92 100644
--- a/e2e_tests/data/import/image_new_annotations_with_properties/image_4.json
+++ b/e2e_tests/data/import/image_new_annotations_with_properties/image_4.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_4",
+ "name": "image_4.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b92-1d5d-8b50-17e9-c0f178e6eee6",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/3c731d84-7d7f-4ac8-bbd9-0d53f1d47195/thumbnail",
"source_files": [
{
- "file_name": "image_4",
+ "file_name": "image_4.jpg",
"storage_key": "darwin-py/images/image_4.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/609ba1a4-79da-4743-b331-e57ccd9ee518"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_properties/image_5.json b/e2e_tests/data/import/image_new_annotations_with_properties/image_5.json
index 46ea3cb8b..8dcbcb7f2 100644
--- a/e2e_tests/data/import/image_new_annotations_with_properties/image_5.json
+++ b/e2e_tests/data/import/image_new_annotations_with_properties/image_5.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_5",
+ "name": "image_5.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b92-1d5d-55bf-d705-8b39dea7fde6",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/8f95e81c-def7-4973-9152-6d0fc39e1473/thumbnail",
"source_files": [
{
- "file_name": "image_5",
+ "file_name": "image_5.jpg",
"storage_key": "darwin-py/images/image_5.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/08448a07-4e23-41f9-abbd-0dc149ef2be4"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_properties/image_6.json b/e2e_tests/data/import/image_new_annotations_with_properties/image_6.json
index 9c707e0c9..dc896b0c7 100644
--- a/e2e_tests/data/import/image_new_annotations_with_properties/image_6.json
+++ b/e2e_tests/data/import/image_new_annotations_with_properties/image_6.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_6",
+ "name": "image_6.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b92-1d5d-1832-3a09-1f38557c57b4",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/4950b608-00a1-4e73-b746-bfe1ea0a1ab6/thumbnail",
"source_files": [
{
- "file_name": "image_6",
+ "file_name": "image_6.jpg",
"storage_key": "darwin-py/images/image_6.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/9e070e8c-03b3-40b7-a3cb-6da6bcc8d4ed"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_properties/image_7.json b/e2e_tests/data/import/image_new_annotations_with_properties/image_7.json
index 44f1c246e..ab5c04796 100644
--- a/e2e_tests/data/import/image_new_annotations_with_properties/image_7.json
+++ b/e2e_tests/data/import/image_new_annotations_with_properties/image_7.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_7",
+ "name": "image_7.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b92-1d5d-46ee-5117-53ba0d29d1b0",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/1e2f63eb-b7fc-482f-91f3-8caa242e63cb/thumbnail",
"source_files": [
{
- "file_name": "image_7",
+ "file_name": "image_7.jpg",
"storage_key": "darwin-py/images/image_7.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/20de7c08-20dc-4f16-b559-bbcce2f7b319"
}
diff --git a/e2e_tests/data/import/image_new_annotations_with_properties/image_8.json b/e2e_tests/data/import/image_new_annotations_with_properties/image_8.json
index 16e03b845..39da838ab 100644
--- a/e2e_tests/data/import/image_new_annotations_with_properties/image_8.json
+++ b/e2e_tests/data/import/image_new_annotations_with_properties/image_8.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_8",
+ "name": "image_8.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b92-1d5e-908e-7b24-3d339ea72237",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/ace6c9a2-d39a-43df-9fd2-9f124176810a/thumbnail",
"source_files": [
{
- "file_name": "image_8",
+ "file_name": "image_8.jpg",
"storage_key": "darwin-py/images/image_8.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/141cdb56-2494-4052-bce2-b22673e6ad68"
}
diff --git a/e2e_tests/data/import/image_new_basic_annotations/image_1.json b/e2e_tests/data/import/image_new_basic_annotations/image_1.json
index c35c9c871..50e8c0acb 100644
--- a/e2e_tests/data/import/image_new_basic_annotations/image_1.json
+++ b/e2e_tests/data/import/image_new_basic_annotations/image_1.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_1",
+ "name": "image_1.jpg",
"path": "/",
"source_info": {
"item_id": "01920b88-51e0-ce68-bf91-a1bab42246e0",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/b03a6b21-a3f8-492b-999f-62fbd15b444b/thumbnail",
"source_files": [
{
- "file_name": "image_1",
+ "file_name": "image_1.jpg",
"storage_key": "darwin-py/images/image_1.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/c2248b2e-9ae6-4db3-97ae-2bb6a0ab2380"
}
diff --git a/e2e_tests/data/import/image_new_basic_annotations/image_2.json b/e2e_tests/data/import/image_new_basic_annotations/image_2.json
index 58f01c0b7..7c54f74be 100644
--- a/e2e_tests/data/import/image_new_basic_annotations/image_2.json
+++ b/e2e_tests/data/import/image_new_basic_annotations/image_2.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_2",
+ "name": "image_2.jpg",
"path": "/",
"source_info": {
"item_id": "01920b88-51e0-850c-fc38-74479d6aad3e",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/5562f5ff-9ea4-43a8-8838-d5e800faea01/thumbnail",
"source_files": [
{
- "file_name": "image_2",
+ "file_name": "image_2.jpg",
"storage_key": "darwin-py/images/image_2.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/ce018659-b1b9-465b-bba7-70d894014610"
}
diff --git a/e2e_tests/data/import/image_new_basic_annotations/image_3.json b/e2e_tests/data/import/image_new_basic_annotations/image_3.json
index f73ac8f17..92eaa5a29 100644
--- a/e2e_tests/data/import/image_new_basic_annotations/image_3.json
+++ b/e2e_tests/data/import/image_new_basic_annotations/image_3.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_3",
+ "name": "image_3.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b88-51e0-741b-a23a-168903e65d33",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/e7bc0204-5818-4d91-9455-975d2be5cd46/thumbnail",
"source_files": [
{
- "file_name": "image_3",
+ "file_name": "image_3.jpg",
"storage_key": "darwin-py/images/image_3.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/9e3bfc17-0bae-45d5-9190-59d9caef55fa"
}
diff --git a/e2e_tests/data/import/image_new_basic_annotations/image_4.json b/e2e_tests/data/import/image_new_basic_annotations/image_4.json
index dd8377785..fc9505809 100644
--- a/e2e_tests/data/import/image_new_basic_annotations/image_4.json
+++ b/e2e_tests/data/import/image_new_basic_annotations/image_4.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_4",
+ "name": "image_4.jpg",
"path": "/dir1",
"source_info": {
"item_id": "01920b88-51e0-304e-9e0b-dfb9287c1df7",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/aed10b03-2237-4cad-8a86-8b1c658d2409/thumbnail",
"source_files": [
{
- "file_name": "image_4",
+ "file_name": "image_4.jpg",
"storage_key": "darwin-py/images/image_4.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/2212b5a1-0dfd-427f-ae60-bc2c8a55884b"
}
diff --git a/e2e_tests/data/import/image_new_basic_annotations/image_5.json b/e2e_tests/data/import/image_new_basic_annotations/image_5.json
index e4281e572..2bcaba25d 100644
--- a/e2e_tests/data/import/image_new_basic_annotations/image_5.json
+++ b/e2e_tests/data/import/image_new_basic_annotations/image_5.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_5",
+ "name": "image_5.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b88-51e0-30eb-618d-9a8f3679edb3",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/72e84b0f-4474-43f6-89e9-78f56665e9cd/thumbnail",
"source_files": [
{
- "file_name": "image_5",
+ "file_name": "image_5.jpg",
"storage_key": "darwin-py/images/image_5.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/37c060b2-b114-4af1-9d8a-46ef1900877e"
}
diff --git a/e2e_tests/data/import/image_new_basic_annotations/image_6.json b/e2e_tests/data/import/image_new_basic_annotations/image_6.json
index 44a2fe297..42d766ba2 100644
--- a/e2e_tests/data/import/image_new_basic_annotations/image_6.json
+++ b/e2e_tests/data/import/image_new_basic_annotations/image_6.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_6",
+ "name": "image_6.jpg",
"path": "/dir2",
"source_info": {
"item_id": "01920b88-51e0-299f-d91b-ef85ec1507c3",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/3867bff6-7cb8-4083-83b7-7c74188eb621/thumbnail",
"source_files": [
{
- "file_name": "image_6",
+ "file_name": "image_6.jpg",
"storage_key": "darwin-py/images/image_6.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/4910e491-2191-43b0-8c3f-cc4240457e0e"
}
diff --git a/e2e_tests/data/import/image_new_basic_annotations/image_7.json b/e2e_tests/data/import/image_new_basic_annotations/image_7.json
index 3cfc7e80c..0b032846a 100644
--- a/e2e_tests/data/import/image_new_basic_annotations/image_7.json
+++ b/e2e_tests/data/import/image_new_basic_annotations/image_7.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_7",
+ "name": "image_7.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b88-51e0-a0ea-7996-c7856e06e238",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/18110321-6229-4f5a-89db-3ca1e3d2a39d/thumbnail",
"source_files": [
{
- "file_name": "image_7",
+ "file_name": "image_7.jpg",
"storage_key": "darwin-py/images/image_7.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/d033e648-80a7-4e51-ae34-4a904a7dfc9b"
}
diff --git a/e2e_tests/data/import/image_new_basic_annotations/image_8.json b/e2e_tests/data/import/image_new_basic_annotations/image_8.json
index 48f1314d6..6071bf44c 100644
--- a/e2e_tests/data/import/image_new_basic_annotations/image_8.json
+++ b/e2e_tests/data/import/image_new_basic_annotations/image_8.json
@@ -2,7 +2,7 @@
"version": "2.0",
"schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
"item": {
- "name": "image_8",
+ "name": "image_8.jpg",
"path": "/dir1/dir3",
"source_info": {
"item_id": "01920b88-51e0-1bd8-4aea-602e6a733d30",
@@ -26,7 +26,7 @@
"thumbnail_url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/files/75abc84b-25d1-4e68-b6d7-c455a242a8da/thumbnail",
"source_files": [
{
- "file_name": "image_8",
+ "file_name": "image_8.jpg",
"storage_key": "darwin-py/images/image_8.jpg",
"url": "https://staging.v7labs.com/api/v2/teams/e2e-testing/uploads/403aa7ed-25db-47e8-b871-6926e1c5a0b2"
}
diff --git a/e2e_tests/data/import/pascal_voc_annotations/image_1.xml b/e2e_tests/data/import/pascal_voc_annotations/image_1.xml
index 4e19ec558..353df6edd 100644
--- a/e2e_tests/data/import/pascal_voc_annotations/image_1.xml
+++ b/e2e_tests/data/import/pascal_voc_annotations/image_1.xml
@@ -1 +1 @@
-imagesimage_1images/image_11920108030
\ No newline at end of file
+imagesimage_1.jpgimages/image_1.jpg1920108030
\ No newline at end of file
diff --git a/e2e_tests/data/import/pascal_voc_annotations/image_2.xml b/e2e_tests/data/import/pascal_voc_annotations/image_2.xml
index 201c58e62..128fee2d9 100644
--- a/e2e_tests/data/import/pascal_voc_annotations/image_2.xml
+++ b/e2e_tests/data/import/pascal_voc_annotations/image_2.xml
@@ -1 +1 @@
-imagesimage_2images/image_21920108030
\ No newline at end of file
+imagesimage_2.jpgimages/image_2.jpg1920108030
\ No newline at end of file
diff --git a/e2e_tests/data/import/pascal_voc_annotations/image_3.xml b/e2e_tests/data/import/pascal_voc_annotations/image_3.xml
index 9d1d121af..d3f0f3507 100644
--- a/e2e_tests/data/import/pascal_voc_annotations/image_3.xml
+++ b/e2e_tests/data/import/pascal_voc_annotations/image_3.xml
@@ -1 +1 @@
-imagesdir1/image_3images/image_31920108030
\ No newline at end of file
+imagesdir1/image_3.jpgimages/image_3.jpg1920108030
\ No newline at end of file
diff --git a/e2e_tests/data/import/pascal_voc_annotations/image_4.xml b/e2e_tests/data/import/pascal_voc_annotations/image_4.xml
index 2dc5225cb..165408e48 100644
--- a/e2e_tests/data/import/pascal_voc_annotations/image_4.xml
+++ b/e2e_tests/data/import/pascal_voc_annotations/image_4.xml
@@ -1 +1 @@
-imagesdir1/image_4images/image_41920108030
\ No newline at end of file
+imagesdir1/image_4.jpgimages/image_4.jpg1920108030
\ No newline at end of file
diff --git a/e2e_tests/data/import/pascal_voc_annotations/image_5.xml b/e2e_tests/data/import/pascal_voc_annotations/image_5.xml
index 028ff26e6..16a0ebca1 100644
--- a/e2e_tests/data/import/pascal_voc_annotations/image_5.xml
+++ b/e2e_tests/data/import/pascal_voc_annotations/image_5.xml
@@ -1 +1 @@
-imagesdir2/image_5images/image_51920108030
\ No newline at end of file
+imagesdir2/image_5.jpgimages/image_5.jpg1920108030
\ No newline at end of file
diff --git a/e2e_tests/data/import/pascal_voc_annotations/image_6.xml b/e2e_tests/data/import/pascal_voc_annotations/image_6.xml
index b8750999e..1a4d9658e 100644
--- a/e2e_tests/data/import/pascal_voc_annotations/image_6.xml
+++ b/e2e_tests/data/import/pascal_voc_annotations/image_6.xml
@@ -1 +1 @@
-imagesdir2/image_6images/image_61920108030
\ No newline at end of file
+imagesdir2/image_6.jpgimages/image_6.jpg1920108030
\ No newline at end of file
diff --git a/e2e_tests/data/import/pascal_voc_annotations/image_7.xml b/e2e_tests/data/import/pascal_voc_annotations/image_7.xml
index 434c19dce..61c1ea42c 100644
--- a/e2e_tests/data/import/pascal_voc_annotations/image_7.xml
+++ b/e2e_tests/data/import/pascal_voc_annotations/image_7.xml
@@ -1 +1 @@
-imagesdir1/dir3/image_7images/image_71920108030
\ No newline at end of file
+imagesdir1/dir3/image_7.jpgimages/image_7.jpg1920108030
\ No newline at end of file
diff --git a/e2e_tests/data/import/pascal_voc_annotations/image_8.xml b/e2e_tests/data/import/pascal_voc_annotations/image_8.xml
index 21cf80168..eb8ee873f 100644
--- a/e2e_tests/data/import/pascal_voc_annotations/image_8.xml
+++ b/e2e_tests/data/import/pascal_voc_annotations/image_8.xml
@@ -1 +1 @@
-imagesdir1/dir3/image_8images/image_81920108030
\ No newline at end of file
+imagesdir1/dir3/image_8.jpgimages/image_8.jpg1920108030
\ No newline at end of file
diff --git a/e2e_tests/data/yolo/to/test_input_with_bboxes_and_polys.txt b/e2e_tests/data/yolo/to/test_input_with_bboxes_and_polys.txt
deleted file mode 100644
index 93acf7c2f..000000000
--- a/e2e_tests/data/yolo/to/test_input_with_bboxes_and_polys.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-1 0.37675 0.41677 0.39357999999999993 0.34274
-0 0.74999 0.21733 0.31066000000000005 0.21066
-0 0.7666700000000001 0.60467 0.29866000000000004 0.18266
-0 0.432 0.7526700000000001 0.104 0.09466
-1 0.12866999999999998 0.142 0.12749999999999997 0.10883999999999999
\ No newline at end of file
diff --git a/e2e_tests/data/yolov8/to/test_input_with_bboxes_and_polys.txt b/e2e_tests/data/yolov8/to/test_input_with_bboxes_and_polys.txt
deleted file mode 100644
index a9bdc66ca..000000000
--- a/e2e_tests/data/yolov8/to/test_input_with_bboxes_and_polys.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-1 0.30963999999999997 0.49563999999999997 0.29192 0.5335599999999999 0.27406 0.51644 0.31636000000000003 0.48402 0.39442 0.26954 0.39304 0.26539999999999997 0.38148000000000004 0.26539999999999997 0.36394 0.26872 0.32583999999999996 0.28058 0.30169999999999997 0.29202 0.28518 0.30345999999999995 0.27614 0.3125 0.25072 0.34554 0.24181999999999998 0.35952 0.2253 0.39254 0.21259999999999998 0.42432 0.20118 0.45964 0.19996 0.50318 0.20124 0.51842 0.20965999999999999 0.5351 0.22019999999999998 0.53424 0.24525999999999998 0.51428 0.24102 0.50944 0.23086 0.48784 0.22824 0.47776 0.22952 0.43710000000000004 0.24609999999999999 0.38127999999999995 0.26389999999999997 0.3457 0.28042 0.32156 0.30568 0.29884 0.32474000000000003 0.28614 0.33872 0.27978 0.37166000000000005 0.26954 0.39552 0.28954 0.37332 0.28954 0.34872000000000003 0.29710000000000003 0.32838 0.30726 0.31060000000000004 0.31995999999999997 0.29610000000000003 0.33358 0.28122 0.3557 0.26342000000000004 0.39127999999999996 0.25058 0.43178 0.24824000000000002 0.45108 0.24824000000000002 0.47776 0.26058 0.50202 0.36092 0.42338 0.38706 0.35608 0.39216 0.33672 0.3947 0.31512 0.5535399999999999 0.4803 0.5535399999999999 0.45616 0.55216 0.45064 0.53962 0.42557999999999996 0.52946 0.40906 0.51706 0.39336 0.50408 0.38364 0.49492 0.37976 0.46442 0.37848000000000004 0.45033999999999996 0.38224 0.41731999999999997 0.40256000000000003 0.38289999999999996 0.43088 0.38668 0.43592000000000003 0.39056 0.44980000000000003 0.39564 0.47522000000000003 0.3943 0.48022000000000004 0.39064 0.48388 0.38564 0.48522000000000004 0.38064 0.48388 0.37698000000000004 0.48022000000000004 0.37066000000000004 0.4505 0.33586 0.52216 0.31956 0.5511 0.3372 0.55738 0.35662 0.56196 0.39454 0.56688 0.46442 0.56814 0.48663999999999996 0.5638 0.50516 0.5555 0.53708 0.5261399999999999 0.54852 0.50708 0.55226 0.48919999999999997 0.5735399999999999 0.4803 0.5735399999999999 0.45616 0.571 0.446 0.5569400000000001 0.41558 0.5467799999999999 0.39906 0.5327999999999999 0.38127999999999995 0.5139 0.36618 0.49492 0.35975999999999997 0.46442 0.35848 0.44036000000000003 0.36492 0.43019999999999997 0.37 0.39280000000000004 0.39672 0.40446 0.36586 0.41216 0.33672 0.4147 0.31512 0.41554 0.28902 0.4186 0.2882 0.42225999999999997 0.28454 0.42360000000000003 0.27954 0.42225999999999997 0.27454 0.4186 0.27088 0.4148 0.26986 0.40954 0.25294 0.40588 0.24928 0.3958 0.2454 0.38056 0.2454 0.3615 0.24922 0.31583999999999995 0.26326 0.2917 0.2747 0.27518 0.28614 0.24609999999999999 0.31774 0.2245 0.34952 0.20163999999999999 0.3978 0.18124 0.4587 0.17996 0.4803 0.18124 0.51842 0.18384 0.5285 0.19274000000000002 0.5463 0.19894 0.5525 0.20648 0.5551 0.21918 0.5551 0.22926 0.5525 0.25858 0.52828 0.2845 0.55274 0.28416 0.5730599999999999 0.2855 0.5780599999999999 0.28916000000000003 0.58172 0.29416000000000003 0.5830599999999999 0.29916000000000004 0.58172 0.30922000000000005 0.56824 0.32854 0.57536 0.35514 0.5818 0.39454 0.58688 0.46442 0.58814 0.50246 0.5791799999999999 0.51516 0.57282 0.52152 0.56774 0.5544 0.53614 0.56584 0.5170800000000001 0.57226 0.48919999999999997
-0 0.59466 0.112 0.9053199999999999 0.112 0.9053199999999999 0.32265999999999995 0.59466 0.32265999999999995
-0 0.61734 0.51334 0.916 0.51334 0.916 0.696 0.61734 0.696
-0 0.38 0.7053400000000001 0.484 0.7053400000000001 0.484 0.8 0.38 0.8
-1 0.19241999999999998 0.12534 0.19094 0.1118 0.18688 0.10773999999999999 0.18134 0.10624 0.17492 0.10726000000000001 0.1736 0.10112 0.16688 0.09440000000000001 0.15734 0.09292 0.14912 0.09573999999999999 0.146 0.09886 0.1362 0.08906 0.13066 0.08758 0.1118 0.09306 0.09876 0.10526 0.09445999999999999 0.10640000000000001 0.08774 0.11312 0.07174 0.14112 0.06492 0.16666 0.06492 0.184 0.0664 0.18954 0.07046 0.1936 0.07866 0.19641999999999998 0.09354000000000001 0.1936 0.09934 0.18913999999999997 0.10646 0.19494 0.112 0.19641999999999998 0.11754 0.19494 0.12294 0.18954 0.12984 0.17432 0.13312000000000002 0.1776 0.13866 0.17908000000000002 0.1482 0.1776 0.15134 0.17448 0.15734 0.17642 0.16288 0.17493999999999998 0.1736 0.16419999999999998 0.1856 0.1482 0.19241999999999998 0.12534
diff --git a/e2e_tests/helpers.py b/e2e_tests/helpers.py
index b4991d8e8..7ffdf887d 100644
--- a/e2e_tests/helpers.py
+++ b/e2e_tests/helpers.py
@@ -3,7 +3,6 @@
from typing import Optional, Union, Sequence
from attr import dataclass
-from pathlib import Path
from darwin.exceptions import DarwinException
import datetime
import json
@@ -193,12 +192,12 @@ def wait_until_items_processed(
)
-def export_and_download_annotations(
- actual_annotations_dir: Path,
+def export_release(
annotation_format: str,
local_dataset: E2EDataset,
config_values: ConfigValues,
-) -> None:
+ release_name: Optional[str] = "all-files",
+) -> Release:
"""
Creates an export of all items in the given dataset.
Waits for the export to finish, then downloads and the annotation files to
@@ -208,7 +207,6 @@ def export_and_download_annotations(
team_slug = config_values.team_slug
api_key = config_values.api_key
base_url = config_values.server
- export_name = "all-files"
create_export_url = (
f"{base_url}/api/v2/teams/{team_slug}/datasets/{dataset_slug}/exports"
)
@@ -223,7 +221,7 @@ def export_and_download_annotations(
"include_authorship": False,
"include_export_token": False,
"format": f"{annotation_format}",
- "name": f"{export_name}",
+ "name": f"{release_name}",
}
headers = {
"accept": "application/json",
@@ -241,7 +239,7 @@ def export_and_download_annotations(
response = requests.get(list_export_url, headers=headers)
exports = response.json()
for export in exports:
- if export["name"] == export_name and export["status"] == "complete":
+ if export["name"] == release_name and export["status"] == "complete":
export_data = export
ready = True
@@ -261,7 +259,7 @@ def export_and_download_annotations(
latest=export_data["latest"],
format=export_data.get("format", "json"),
)
- release.download_zip(actual_annotations_dir / "dataset.zip")
+ return release
def delete_annotation_uuids(
diff --git a/e2e_tests/objects.py b/e2e_tests/objects.py
index 8a538a15c..d0639be89 100644
--- a/e2e_tests/objects.py
+++ b/e2e_tests/objects.py
@@ -142,6 +142,28 @@ def get_annotation_data(
return item_annotations, annotation_classes, properties
+ def delete_items(self, config_values: ConfigValues) -> None:
+ """
+ Permanently deletes all items in the dataset
+ """
+ headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+ "Authorization": f"ApiKey {config_values.api_key}",
+ }
+ payload = {
+ "filters": {
+ "dataset_ids": [self.id],
+ "item_ids": [str(item.id) for item in self.items],
+ }
+ }
+ response = requests.delete(
+ f"{config_values.server}/api/v2/teams/{config_values.team_slug}/items",
+ headers=headers,
+ json=payload,
+ )
+ response.raise_for_status()
+
def get_read_only_registration_payload(
item_type: str,
@@ -166,7 +188,7 @@ def get_read_only_registration_payload(
"storage_thumbnail_key": "darwin-py/images/image_1_thumbnail.jpg",
"height": 1080,
"width": 1920,
- "name": "image_1",
+ "name": "image_1.jpg",
},
{
"path": path or "/",
@@ -175,7 +197,7 @@ def get_read_only_registration_payload(
"storage_thumbnail_key": "darwin-py/images/image_2_thumbnail.jpg",
"height": 1080,
"width": 1920,
- "name": "image_2",
+ "name": "image_2.jpg",
},
{
"path": path or "dir1",
@@ -184,7 +206,7 @@ def get_read_only_registration_payload(
"storage_thumbnail_key": "darwin-py/images/image_3_thumbnail.jpg",
"height": 1080,
"width": 1920,
- "name": "image_3",
+ "name": "image_3.jpg",
},
{
"path": path or "dir1",
@@ -193,7 +215,7 @@ def get_read_only_registration_payload(
"storage_thumbnail_key": "darwin-py/images/image_4_thumbnail.jpg",
"height": 1080,
"width": 1920,
- "name": "image_4",
+ "name": "image_4.jpg",
},
{
"path": path or "dir2",
@@ -202,7 +224,7 @@ def get_read_only_registration_payload(
"storage_thumbnail_key": "darwin-py/images/image_5_thumbnail.jpg",
"height": 1080,
"width": 1920,
- "name": "image_5",
+ "name": "image_5.jpg",
},
{
"path": path or "dir2",
@@ -211,7 +233,7 @@ def get_read_only_registration_payload(
"storage_thumbnail_key": "darwin-py/images/image_6_thumbnail.jpg",
"height": 1080,
"width": 1920,
- "name": "image_6",
+ "name": "image_6.jpg",
},
{
"path": path or "dir1/dir3",
@@ -220,7 +242,7 @@ def get_read_only_registration_payload(
"storage_thumbnail_key": "darwin-py/images/image_7_thumbnail.jpg",
"height": 1080,
"width": 1920,
- "name": "image_7",
+ "name": "image_7.jpg",
},
{
"path": path or "dir1/dir3",
@@ -229,7 +251,7 @@ def get_read_only_registration_payload(
"storage_thumbnail_key": "darwin-py/images/image_8_thumbnail.jpg",
"height": 1080,
"width": 1920,
- "name": "image_8",
+ "name": "image_8.jpg",
},
],
"multi_slotted": [
diff --git a/pyproject.toml b/pyproject.toml
index 6996c6400..ffcfb2629 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -13,7 +13,7 @@ license = "MIT"
name = "darwin-py"
readme = "README.md"
repository = "https://github.com/v7labs/darwin-py"
-version = "1.0.11"
+version = "1.0.12"
[[tool.poetry.packages]]
include = "darwin"
diff --git a/tests/darwin/data/nifti/BRAINIX_NIFTI_ROI.nii.gz b/tests/darwin/data/nifti/BRAINIX_NIFTI_ROI.nii.gz
new file mode 100644
index 000000000..0eef75055
Binary files /dev/null and b/tests/darwin/data/nifti/BRAINIX_NIFTI_ROI.nii.gz differ
diff --git a/tests/darwin/data/nifti/legacy/.v7/metadata.json b/tests/darwin/data/nifti/legacy/.v7/metadata.json
new file mode 100644
index 000000000..3430da736
--- /dev/null
+++ b/tests/darwin/data/nifti/legacy/.v7/metadata.json
@@ -0,0 +1,44 @@
+{
+ "version": "1.0",
+ "schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/metadata/1.0/schema.json",
+ "classes": [
+ {
+ "name": "Reference_sBAT",
+ "type": "polygon",
+ "description": null,
+ "color": "rgba(0,255,170,1.0)",
+ "sub_types": [
+ "text",
+ "inference"
+ ],
+ "properties": [],
+ "sub_types_settings": {
+ "inference": {},
+ "text": {}
+ }
+ }
+ ],
+ "properties": [
+ {
+ "name": "item-level-ss",
+ "type": "single_select",
+ "description": "What is this?",
+ "required": false,
+ "property_values": [
+ {
+ "value": "1",
+ "color": "rgba(238,240,241,1.0)"
+ },
+ {
+ "value": "2",
+ "color": "rgba(255,0,214,1.0)"
+ },
+ {
+ "value": "3",
+ "color": "rgba(173,255,0,1.0)"
+ }
+ ],
+ "granularity": "item"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/darwin/data/nifti/legacy/BRAINIX_NIFTI_ROI.nii.json b/tests/darwin/data/nifti/legacy/BRAINIX_NIFTI_ROI.nii.json
new file mode 100644
index 000000000..345dcd800
--- /dev/null
+++ b/tests/darwin/data/nifti/legacy/BRAINIX_NIFTI_ROI.nii.json
@@ -0,0 +1,3949 @@
+{
+ "version": "2.0",
+ "schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
+ "item": {
+ "name": "BRAINIX_NIFTI_ROI.nii.gz",
+ "path": "/",
+ "source_info": {
+ "item_id": "019302b1-623a-e54c-4e2a-9403c2581954",
+ "dataset": {
+ "name": "MED_2D_VIEWER_ON",
+ "slug": "med_2d_viewer_on",
+ "dataset_management_url": "https://darwin.v7labs.com/datasets/1354683/dataset-management"
+ },
+ "team": {
+ "name": "V7 John",
+ "slug": "v7-john"
+ },
+ "workview_url": "https://darwin.v7labs.com/workview?dataset=1354683&item=019302b1-623a-e54c-4e2a-9403c2581954"
+ },
+ "slots": [
+ {
+ "type": "dicom",
+ "slot_name": "0",
+ "width": 288,
+ "height": 288,
+ "fps": null,
+ "thumbnail_url": "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/thumbnail",
+ "source_files": [
+ {
+ "file_name": "BRAINIX_NIFTI_ROI.nii.gz",
+ "url": "https://darwin.v7labs.com/api/v2/teams/v7-john/uploads/3bef131b-6772-44db-af38-901920c73f44"
+ }
+ ],
+ "frame_count": 22,
+ "frame_urls": [
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/0",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/1",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/2",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/3",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/4",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/5",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/6",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/7",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/8",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/9",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/10",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/11",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/12",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/13",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/14",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/15",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/16",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/17",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/18",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/19",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/20",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/21"
+ ],
+ "metadata": {
+ "shape": [
+ 1,
+ 288,
+ 288,
+ 22
+ ],
+ "SeriesInstanceUID": "1.2.826.0.1.3680043.8.498.74346079490785680794508143611517792056",
+ "affine": "[[-0.7983811497688293, 0.0013799992157146335, -0.14355425536632538, 118.49510546668898], [0.0, -0.7965366840362549, -0.43216636776924133, 118.87191358208656], [0.019157083705067635, 0.05750555917620659, -5.982696056365967, 83.71717173978686], [0.0, 0.0, 0.0, 1.0]]",
+ "colorspace": "RG16",
+ "original_affine": [
+ [
+ "-0.7983811497688293",
+ "-0.0013799992157146335",
+ "0.14355425536632538",
+ "115.87652587890625"
+ ],
+ [
+ "0.0",
+ "0.7965366840362549",
+ "0.43216636776924133",
+ "-118.80960845947266"
+ ],
+ [
+ "0.019157083705067635",
+ "-0.05750555917620659",
+ "5.982696056365967",
+ "-25.41534996032715"
+ ],
+ [
+ "0.0",
+ "0.0",
+ "0.0",
+ "1.0"
+ ]
+ ],
+ "pixdim": "(0.7986109, 0.798611, 6.0000024)"
+ }
+ }
+ ]
+ },
+ "annotations": [
+ {
+ "frames": {
+ "4": {
+ "bounding_box": {
+ "h": 36.0,
+ "w": 21.0,
+ "x": 180.0,
+ "y": 136.0
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 180.0,
+ "y": 169.0
+ },
+ {
+ "x": 180.0,
+ "y": 170.0
+ },
+ {
+ "x": 180.0,
+ "y": 171.0
+ },
+ {
+ "x": 181.0,
+ "y": 171.0
+ },
+ {
+ "x": 182.0,
+ "y": 172.0
+ },
+ {
+ "x": 188.0,
+ "y": 172.0
+ },
+ {
+ "x": 189.0,
+ "y": 172.0
+ },
+ {
+ "x": 189.0,
+ "y": 171.0
+ },
+ {
+ "x": 190.0,
+ "y": 170.0
+ },
+ {
+ "x": 191.0,
+ "y": 170.0
+ },
+ {
+ "x": 192.0,
+ "y": 170.0
+ },
+ {
+ "x": 194.0,
+ "y": 168.0
+ },
+ {
+ "x": 195.0,
+ "y": 167.0
+ },
+ {
+ "x": 195.0,
+ "y": 166.0
+ },
+ {
+ "x": 196.0,
+ "y": 165.0
+ },
+ {
+ "x": 197.0,
+ "y": 164.0
+ },
+ {
+ "x": 197.0,
+ "y": 163.0
+ },
+ {
+ "x": 198.0,
+ "y": 162.0
+ },
+ {
+ "x": 199.0,
+ "y": 161.0
+ },
+ {
+ "x": 199.0,
+ "y": 160.0
+ },
+ {
+ "x": 198.0,
+ "y": 159.0
+ },
+ {
+ "x": 198.0,
+ "y": 158.0
+ },
+ {
+ "x": 197.0,
+ "y": 157.0
+ },
+ {
+ "x": 193.0,
+ "y": 157.0
+ },
+ {
+ "x": 192.0,
+ "y": 157.0
+ },
+ {
+ "x": 192.0,
+ "y": 158.0
+ },
+ {
+ "x": 184.0,
+ "y": 166.0
+ },
+ {
+ "x": 183.0,
+ "y": 167.0
+ },
+ {
+ "x": 182.0,
+ "y": 167.0
+ },
+ {
+ "x": 180.0,
+ "y": 169.0
+ }
+ ],
+ [
+ {
+ "x": 182.0,
+ "y": 152.0
+ },
+ {
+ "x": 182.0,
+ "y": 153.0
+ },
+ {
+ "x": 186.0,
+ "y": 153.0
+ },
+ {
+ "x": 187.0,
+ "y": 153.0
+ },
+ {
+ "x": 187.0,
+ "y": 152.0
+ },
+ {
+ "x": 188.0,
+ "y": 151.0
+ },
+ {
+ "x": 190.0,
+ "y": 151.0
+ },
+ {
+ "x": 191.0,
+ "y": 150.0
+ },
+ {
+ "x": 197.0,
+ "y": 150.0
+ },
+ {
+ "x": 198.0,
+ "y": 150.0
+ },
+ {
+ "x": 200.0,
+ "y": 148.0
+ },
+ {
+ "x": 201.0,
+ "y": 147.0
+ },
+ {
+ "x": 201.0,
+ "y": 138.0
+ },
+ {
+ "x": 201.0,
+ "y": 137.0
+ },
+ {
+ "x": 200.0,
+ "y": 136.0
+ },
+ {
+ "x": 199.0,
+ "y": 136.0
+ },
+ {
+ "x": 198.0,
+ "y": 136.0
+ },
+ {
+ "x": 198.0,
+ "y": 137.0
+ },
+ {
+ "x": 197.0,
+ "y": 138.0
+ },
+ {
+ "x": 196.0,
+ "y": 138.0
+ },
+ {
+ "x": 195.0,
+ "y": 139.0
+ },
+ {
+ "x": 194.0,
+ "y": 139.0
+ },
+ {
+ "x": 193.0,
+ "y": 140.0
+ },
+ {
+ "x": 192.0,
+ "y": 140.0
+ },
+ {
+ "x": 190.0,
+ "y": 142.0
+ },
+ {
+ "x": 189.0,
+ "y": 143.0
+ },
+ {
+ "x": 189.0,
+ "y": 144.0
+ },
+ {
+ "x": 188.0,
+ "y": 145.0
+ },
+ {
+ "x": 187.0,
+ "y": 145.0
+ },
+ {
+ "x": 186.0,
+ "y": 146.0
+ },
+ {
+ "x": 185.0,
+ "y": 146.0
+ },
+ {
+ "x": 184.0,
+ "y": 147.0
+ },
+ {
+ "x": 184.0,
+ "y": 148.0
+ },
+ {
+ "x": 184.0,
+ "y": 149.0
+ },
+ {
+ "x": 183.0,
+ "y": 150.0
+ },
+ {
+ "x": 183.0,
+ "y": 151.0
+ },
+ {
+ "x": 182.0,
+ "y": 152.0
+ }
+ ]
+ ]
+ }
+ },
+ "5": {
+ "bounding_box": {
+ "h": 34.0,
+ "w": 34.0,
+ "x": 177.0,
+ "y": 139.0
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 177.0,
+ "y": 154.0
+ },
+ {
+ "x": 177.0,
+ "y": 161.0
+ },
+ {
+ "x": 177.0,
+ "y": 162.0
+ },
+ {
+ "x": 178.0,
+ "y": 163.0
+ },
+ {
+ "x": 178.0,
+ "y": 164.0
+ },
+ {
+ "x": 179.0,
+ "y": 165.0
+ },
+ {
+ "x": 179.0,
+ "y": 168.0
+ },
+ {
+ "x": 179.0,
+ "y": 169.0
+ },
+ {
+ "x": 180.0,
+ "y": 170.0
+ },
+ {
+ "x": 180.0,
+ "y": 171.0
+ },
+ {
+ "x": 181.0,
+ "y": 172.0
+ },
+ {
+ "x": 181.0,
+ "y": 173.0
+ },
+ {
+ "x": 182.0,
+ "y": 173.0
+ },
+ {
+ "x": 183.0,
+ "y": 173.0
+ },
+ {
+ "x": 186.0,
+ "y": 170.0
+ },
+ {
+ "x": 187.0,
+ "y": 170.0
+ },
+ {
+ "x": 191.0,
+ "y": 166.0
+ },
+ {
+ "x": 192.0,
+ "y": 165.0
+ },
+ {
+ "x": 193.0,
+ "y": 165.0
+ },
+ {
+ "x": 194.0,
+ "y": 164.0
+ },
+ {
+ "x": 197.0,
+ "y": 164.0
+ },
+ {
+ "x": 198.0,
+ "y": 164.0
+ },
+ {
+ "x": 198.0,
+ "y": 163.0
+ },
+ {
+ "x": 199.0,
+ "y": 162.0
+ },
+ {
+ "x": 201.0,
+ "y": 162.0
+ },
+ {
+ "x": 202.0,
+ "y": 162.0
+ },
+ {
+ "x": 203.0,
+ "y": 163.0
+ },
+ {
+ "x": 203.0,
+ "y": 164.0
+ },
+ {
+ "x": 206.0,
+ "y": 164.0
+ },
+ {
+ "x": 207.0,
+ "y": 164.0
+ },
+ {
+ "x": 208.0,
+ "y": 163.0
+ },
+ {
+ "x": 209.0,
+ "y": 163.0
+ },
+ {
+ "x": 210.0,
+ "y": 162.0
+ },
+ {
+ "x": 210.0,
+ "y": 160.0
+ },
+ {
+ "x": 211.0,
+ "y": 159.0
+ },
+ {
+ "x": 211.0,
+ "y": 156.0
+ },
+ {
+ "x": 211.0,
+ "y": 155.0
+ },
+ {
+ "x": 210.0,
+ "y": 154.0
+ },
+ {
+ "x": 210.0,
+ "y": 153.0
+ },
+ {
+ "x": 209.0,
+ "y": 152.0
+ },
+ {
+ "x": 209.0,
+ "y": 151.0
+ },
+ {
+ "x": 204.0,
+ "y": 146.0
+ },
+ {
+ "x": 204.0,
+ "y": 145.0
+ },
+ {
+ "x": 201.0,
+ "y": 142.0
+ },
+ {
+ "x": 200.0,
+ "y": 141.0
+ },
+ {
+ "x": 199.0,
+ "y": 141.0
+ },
+ {
+ "x": 198.0,
+ "y": 140.0
+ },
+ {
+ "x": 198.0,
+ "y": 139.0
+ },
+ {
+ "x": 192.0,
+ "y": 139.0
+ },
+ {
+ "x": 191.0,
+ "y": 139.0
+ },
+ {
+ "x": 190.0,
+ "y": 140.0
+ },
+ {
+ "x": 189.0,
+ "y": 140.0
+ },
+ {
+ "x": 188.0,
+ "y": 140.0
+ },
+ {
+ "x": 187.0,
+ "y": 141.0
+ },
+ {
+ "x": 186.0,
+ "y": 141.0
+ },
+ {
+ "x": 182.0,
+ "y": 145.0
+ },
+ {
+ "x": 181.0,
+ "y": 146.0
+ },
+ {
+ "x": 181.0,
+ "y": 147.0
+ },
+ {
+ "x": 180.0,
+ "y": 148.0
+ },
+ {
+ "x": 180.0,
+ "y": 149.0
+ },
+ {
+ "x": 179.0,
+ "y": 150.0
+ },
+ {
+ "x": 179.0,
+ "y": 151.0
+ },
+ {
+ "x": 178.0,
+ "y": 152.0
+ },
+ {
+ "x": 178.0,
+ "y": 153.0
+ },
+ {
+ "x": 177.0,
+ "y": 154.0
+ }
+ ]
+ ]
+ }
+ },
+ "6": {
+ "bounding_box": {
+ "h": 57.0,
+ "w": 42.0,
+ "x": 170.0,
+ "y": 119.0
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 170.0,
+ "y": 131.0
+ },
+ {
+ "x": 170.0,
+ "y": 136.0
+ },
+ {
+ "x": 170.0,
+ "y": 137.0
+ },
+ {
+ "x": 171.0,
+ "y": 138.0
+ },
+ {
+ "x": 171.0,
+ "y": 141.0
+ },
+ {
+ "x": 171.0,
+ "y": 142.0
+ },
+ {
+ "x": 172.0,
+ "y": 143.0
+ },
+ {
+ "x": 172.0,
+ "y": 147.0
+ },
+ {
+ "x": 172.0,
+ "y": 148.0
+ },
+ {
+ "x": 173.0,
+ "y": 149.0
+ },
+ {
+ "x": 173.0,
+ "y": 150.0
+ },
+ {
+ "x": 174.0,
+ "y": 151.0
+ },
+ {
+ "x": 174.0,
+ "y": 152.0
+ },
+ {
+ "x": 175.0,
+ "y": 153.0
+ },
+ {
+ "x": 175.0,
+ "y": 159.0
+ },
+ {
+ "x": 175.0,
+ "y": 160.0
+ },
+ {
+ "x": 176.0,
+ "y": 161.0
+ },
+ {
+ "x": 176.0,
+ "y": 162.0
+ },
+ {
+ "x": 176.0,
+ "y": 163.0
+ },
+ {
+ "x": 177.0,
+ "y": 164.0
+ },
+ {
+ "x": 177.0,
+ "y": 165.0
+ },
+ {
+ "x": 177.0,
+ "y": 166.0
+ },
+ {
+ "x": 178.0,
+ "y": 167.0
+ },
+ {
+ "x": 178.0,
+ "y": 168.0
+ },
+ {
+ "x": 178.0,
+ "y": 169.0
+ },
+ {
+ "x": 179.0,
+ "y": 170.0
+ },
+ {
+ "x": 179.0,
+ "y": 171.0
+ },
+ {
+ "x": 180.0,
+ "y": 172.0
+ },
+ {
+ "x": 180.0,
+ "y": 175.0
+ },
+ {
+ "x": 180.0,
+ "y": 176.0
+ },
+ {
+ "x": 183.0,
+ "y": 176.0
+ },
+ {
+ "x": 184.0,
+ "y": 176.0
+ },
+ {
+ "x": 184.0,
+ "y": 175.0
+ },
+ {
+ "x": 185.0,
+ "y": 174.0
+ },
+ {
+ "x": 185.0,
+ "y": 172.0
+ },
+ {
+ "x": 184.0,
+ "y": 171.0
+ },
+ {
+ "x": 185.0,
+ "y": 170.0
+ },
+ {
+ "x": 185.0,
+ "y": 169.0
+ },
+ {
+ "x": 187.0,
+ "y": 167.0
+ },
+ {
+ "x": 188.0,
+ "y": 166.0
+ },
+ {
+ "x": 197.0,
+ "y": 166.0
+ },
+ {
+ "x": 198.0,
+ "y": 166.0
+ },
+ {
+ "x": 199.0,
+ "y": 167.0
+ },
+ {
+ "x": 199.0,
+ "y": 168.0
+ },
+ {
+ "x": 203.0,
+ "y": 168.0
+ },
+ {
+ "x": 204.0,
+ "y": 168.0
+ },
+ {
+ "x": 204.0,
+ "y": 167.0
+ },
+ {
+ "x": 209.0,
+ "y": 162.0
+ },
+ {
+ "x": 210.0,
+ "y": 161.0
+ },
+ {
+ "x": 210.0,
+ "y": 160.0
+ },
+ {
+ "x": 211.0,
+ "y": 159.0
+ },
+ {
+ "x": 212.0,
+ "y": 158.0
+ },
+ {
+ "x": 212.0,
+ "y": 152.0
+ },
+ {
+ "x": 212.0,
+ "y": 151.0
+ },
+ {
+ "x": 210.0,
+ "y": 149.0
+ },
+ {
+ "x": 210.0,
+ "y": 148.0
+ },
+ {
+ "x": 208.0,
+ "y": 146.0
+ },
+ {
+ "x": 207.0,
+ "y": 145.0
+ },
+ {
+ "x": 206.0,
+ "y": 145.0
+ },
+ {
+ "x": 205.0,
+ "y": 144.0
+ },
+ {
+ "x": 203.0,
+ "y": 144.0
+ },
+ {
+ "x": 202.0,
+ "y": 144.0
+ },
+ {
+ "x": 202.0,
+ "y": 145.0
+ },
+ {
+ "x": 200.0,
+ "y": 147.0
+ },
+ {
+ "x": 199.0,
+ "y": 148.0
+ },
+ {
+ "x": 192.0,
+ "y": 148.0
+ },
+ {
+ "x": 191.0,
+ "y": 148.0
+ },
+ {
+ "x": 190.0,
+ "y": 147.0
+ },
+ {
+ "x": 190.0,
+ "y": 146.0
+ },
+ {
+ "x": 189.0,
+ "y": 146.0
+ },
+ {
+ "x": 188.0,
+ "y": 146.0
+ },
+ {
+ "x": 187.0,
+ "y": 145.0
+ },
+ {
+ "x": 186.0,
+ "y": 145.0
+ },
+ {
+ "x": 185.0,
+ "y": 144.0
+ },
+ {
+ "x": 184.0,
+ "y": 144.0
+ },
+ {
+ "x": 181.0,
+ "y": 141.0
+ },
+ {
+ "x": 180.0,
+ "y": 141.0
+ },
+ {
+ "x": 176.0,
+ "y": 137.0
+ },
+ {
+ "x": 175.0,
+ "y": 136.0
+ },
+ {
+ "x": 174.0,
+ "y": 136.0
+ },
+ {
+ "x": 173.0,
+ "y": 135.0
+ },
+ {
+ "x": 172.0,
+ "y": 135.0
+ },
+ {
+ "x": 171.0,
+ "y": 134.0
+ },
+ {
+ "x": 171.0,
+ "y": 133.0
+ },
+ {
+ "x": 170.0,
+ "y": 132.0
+ },
+ {
+ "x": 170.0,
+ "y": 131.0
+ }
+ ],
+ [
+ {
+ "x": 176.0,
+ "y": 128.0
+ },
+ {
+ "x": 176.0,
+ "y": 129.0
+ },
+ {
+ "x": 181.0,
+ "y": 134.0
+ },
+ {
+ "x": 181.0,
+ "y": 135.0
+ },
+ {
+ "x": 183.0,
+ "y": 135.0
+ },
+ {
+ "x": 184.0,
+ "y": 134.0
+ },
+ {
+ "x": 187.0,
+ "y": 137.0
+ },
+ {
+ "x": 188.0,
+ "y": 138.0
+ },
+ {
+ "x": 189.0,
+ "y": 138.0
+ },
+ {
+ "x": 190.0,
+ "y": 139.0
+ },
+ {
+ "x": 190.0,
+ "y": 140.0
+ },
+ {
+ "x": 197.0,
+ "y": 140.0
+ },
+ {
+ "x": 198.0,
+ "y": 139.0
+ },
+ {
+ "x": 209.0,
+ "y": 139.0
+ },
+ {
+ "x": 210.0,
+ "y": 139.0
+ },
+ {
+ "x": 210.0,
+ "y": 138.0
+ },
+ {
+ "x": 209.0,
+ "y": 137.0
+ },
+ {
+ "x": 209.0,
+ "y": 136.0
+ },
+ {
+ "x": 207.0,
+ "y": 134.0
+ },
+ {
+ "x": 206.0,
+ "y": 133.0
+ },
+ {
+ "x": 205.0,
+ "y": 133.0
+ },
+ {
+ "x": 204.0,
+ "y": 132.0
+ },
+ {
+ "x": 203.0,
+ "y": 132.0
+ },
+ {
+ "x": 202.0,
+ "y": 132.0
+ },
+ {
+ "x": 201.0,
+ "y": 131.0
+ },
+ {
+ "x": 200.0,
+ "y": 131.0
+ },
+ {
+ "x": 197.0,
+ "y": 128.0
+ },
+ {
+ "x": 196.0,
+ "y": 127.0
+ },
+ {
+ "x": 195.0,
+ "y": 127.0
+ },
+ {
+ "x": 194.0,
+ "y": 126.0
+ },
+ {
+ "x": 193.0,
+ "y": 126.0
+ },
+ {
+ "x": 192.0,
+ "y": 125.0
+ },
+ {
+ "x": 191.0,
+ "y": 124.0
+ },
+ {
+ "x": 191.0,
+ "y": 123.0
+ },
+ {
+ "x": 192.0,
+ "y": 122.0
+ },
+ {
+ "x": 193.0,
+ "y": 122.0
+ },
+ {
+ "x": 194.0,
+ "y": 122.0
+ },
+ {
+ "x": 194.0,
+ "y": 121.0
+ },
+ {
+ "x": 195.0,
+ "y": 120.0
+ },
+ {
+ "x": 195.0,
+ "y": 119.0
+ },
+ {
+ "x": 188.0,
+ "y": 119.0
+ },
+ {
+ "x": 187.0,
+ "y": 119.0
+ },
+ {
+ "x": 185.0,
+ "y": 121.0
+ },
+ {
+ "x": 184.0,
+ "y": 122.0
+ },
+ {
+ "x": 183.0,
+ "y": 122.0
+ },
+ {
+ "x": 182.0,
+ "y": 123.0
+ },
+ {
+ "x": 181.0,
+ "y": 123.0
+ },
+ {
+ "x": 178.0,
+ "y": 126.0
+ },
+ {
+ "x": 177.0,
+ "y": 126.0
+ },
+ {
+ "x": 177.0,
+ "y": 127.0
+ },
+ {
+ "x": 176.0,
+ "y": 128.0
+ }
+ ]
+ ]
+ }
+ },
+ "7": {
+ "bounding_box": {
+ "h": 59.0,
+ "w": 40.0,
+ "x": 170.0,
+ "y": 119.0
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 170.0,
+ "y": 129.0
+ },
+ {
+ "x": 170.0,
+ "y": 140.0
+ },
+ {
+ "x": 170.0,
+ "y": 141.0
+ },
+ {
+ "x": 171.0,
+ "y": 142.0
+ },
+ {
+ "x": 171.0,
+ "y": 143.0
+ },
+ {
+ "x": 171.0,
+ "y": 144.0
+ },
+ {
+ "x": 173.0,
+ "y": 146.0
+ },
+ {
+ "x": 174.0,
+ "y": 147.0
+ },
+ {
+ "x": 174.0,
+ "y": 148.0
+ },
+ {
+ "x": 175.0,
+ "y": 149.0
+ },
+ {
+ "x": 175.0,
+ "y": 152.0
+ },
+ {
+ "x": 175.0,
+ "y": 153.0
+ },
+ {
+ "x": 176.0,
+ "y": 154.0
+ },
+ {
+ "x": 176.0,
+ "y": 157.0
+ },
+ {
+ "x": 176.0,
+ "y": 158.0
+ },
+ {
+ "x": 177.0,
+ "y": 159.0
+ },
+ {
+ "x": 177.0,
+ "y": 163.0
+ },
+ {
+ "x": 177.0,
+ "y": 164.0
+ },
+ {
+ "x": 178.0,
+ "y": 165.0
+ },
+ {
+ "x": 178.0,
+ "y": 167.0
+ },
+ {
+ "x": 179.0,
+ "y": 168.0
+ },
+ {
+ "x": 179.0,
+ "y": 171.0
+ },
+ {
+ "x": 179.0,
+ "y": 172.0
+ },
+ {
+ "x": 182.0,
+ "y": 175.0
+ },
+ {
+ "x": 183.0,
+ "y": 176.0
+ },
+ {
+ "x": 184.0,
+ "y": 176.0
+ },
+ {
+ "x": 185.0,
+ "y": 177.0
+ },
+ {
+ "x": 187.0,
+ "y": 177.0
+ },
+ {
+ "x": 188.0,
+ "y": 177.0
+ },
+ {
+ "x": 189.0,
+ "y": 178.0
+ },
+ {
+ "x": 192.0,
+ "y": 178.0
+ },
+ {
+ "x": 193.0,
+ "y": 178.0
+ },
+ {
+ "x": 193.0,
+ "y": 177.0
+ },
+ {
+ "x": 194.0,
+ "y": 176.0
+ },
+ {
+ "x": 195.0,
+ "y": 175.0
+ },
+ {
+ "x": 198.0,
+ "y": 175.0
+ },
+ {
+ "x": 199.0,
+ "y": 175.0
+ },
+ {
+ "x": 200.0,
+ "y": 174.0
+ },
+ {
+ "x": 201.0,
+ "y": 174.0
+ },
+ {
+ "x": 202.0,
+ "y": 174.0
+ },
+ {
+ "x": 206.0,
+ "y": 170.0
+ },
+ {
+ "x": 207.0,
+ "y": 170.0
+ },
+ {
+ "x": 208.0,
+ "y": 169.0
+ },
+ {
+ "x": 208.0,
+ "y": 168.0
+ },
+ {
+ "x": 208.0,
+ "y": 167.0
+ },
+ {
+ "x": 209.0,
+ "y": 166.0
+ },
+ {
+ "x": 209.0,
+ "y": 165.0
+ },
+ {
+ "x": 210.0,
+ "y": 164.0
+ },
+ {
+ "x": 210.0,
+ "y": 163.0
+ },
+ {
+ "x": 209.0,
+ "y": 162.0
+ },
+ {
+ "x": 205.0,
+ "y": 162.0
+ },
+ {
+ "x": 204.0,
+ "y": 162.0
+ },
+ {
+ "x": 202.0,
+ "y": 164.0
+ },
+ {
+ "x": 201.0,
+ "y": 164.0
+ },
+ {
+ "x": 193.0,
+ "y": 172.0
+ },
+ {
+ "x": 192.0,
+ "y": 173.0
+ },
+ {
+ "x": 191.0,
+ "y": 173.0
+ },
+ {
+ "x": 190.0,
+ "y": 173.0
+ },
+ {
+ "x": 189.0,
+ "y": 172.0
+ },
+ {
+ "x": 189.0,
+ "y": 171.0
+ },
+ {
+ "x": 188.0,
+ "y": 170.0
+ },
+ {
+ "x": 189.0,
+ "y": 169.0
+ },
+ {
+ "x": 189.0,
+ "y": 167.0
+ },
+ {
+ "x": 189.0,
+ "y": 166.0
+ },
+ {
+ "x": 190.0,
+ "y": 165.0
+ },
+ {
+ "x": 191.0,
+ "y": 164.0
+ },
+ {
+ "x": 191.0,
+ "y": 163.0
+ },
+ {
+ "x": 191.0,
+ "y": 162.0
+ },
+ {
+ "x": 192.0,
+ "y": 161.0
+ },
+ {
+ "x": 193.0,
+ "y": 160.0
+ },
+ {
+ "x": 194.0,
+ "y": 160.0
+ },
+ {
+ "x": 195.0,
+ "y": 159.0
+ },
+ {
+ "x": 198.0,
+ "y": 159.0
+ },
+ {
+ "x": 199.0,
+ "y": 159.0
+ },
+ {
+ "x": 200.0,
+ "y": 158.0
+ },
+ {
+ "x": 201.0,
+ "y": 157.0
+ },
+ {
+ "x": 202.0,
+ "y": 157.0
+ },
+ {
+ "x": 203.0,
+ "y": 156.0
+ },
+ {
+ "x": 204.0,
+ "y": 156.0
+ },
+ {
+ "x": 205.0,
+ "y": 155.0
+ },
+ {
+ "x": 206.0,
+ "y": 155.0
+ },
+ {
+ "x": 207.0,
+ "y": 155.0
+ },
+ {
+ "x": 208.0,
+ "y": 154.0
+ },
+ {
+ "x": 208.0,
+ "y": 153.0
+ },
+ {
+ "x": 209.0,
+ "y": 152.0
+ },
+ {
+ "x": 209.0,
+ "y": 151.0
+ },
+ {
+ "x": 208.0,
+ "y": 150.0
+ },
+ {
+ "x": 208.0,
+ "y": 149.0
+ },
+ {
+ "x": 208.0,
+ "y": 148.0
+ },
+ {
+ "x": 207.0,
+ "y": 147.0
+ },
+ {
+ "x": 206.0,
+ "y": 146.0
+ },
+ {
+ "x": 195.0,
+ "y": 146.0
+ },
+ {
+ "x": 194.0,
+ "y": 146.0
+ },
+ {
+ "x": 193.0,
+ "y": 145.0
+ },
+ {
+ "x": 192.0,
+ "y": 144.0
+ },
+ {
+ "x": 196.0,
+ "y": 140.0
+ },
+ {
+ "x": 197.0,
+ "y": 139.0
+ },
+ {
+ "x": 199.0,
+ "y": 139.0
+ },
+ {
+ "x": 200.0,
+ "y": 139.0
+ },
+ {
+ "x": 201.0,
+ "y": 140.0
+ },
+ {
+ "x": 201.0,
+ "y": 141.0
+ },
+ {
+ "x": 203.0,
+ "y": 141.0
+ },
+ {
+ "x": 204.0,
+ "y": 141.0
+ },
+ {
+ "x": 204.0,
+ "y": 140.0
+ },
+ {
+ "x": 205.0,
+ "y": 139.0
+ },
+ {
+ "x": 206.0,
+ "y": 139.0
+ },
+ {
+ "x": 206.0,
+ "y": 135.0
+ },
+ {
+ "x": 206.0,
+ "y": 134.0
+ },
+ {
+ "x": 205.0,
+ "y": 133.0
+ },
+ {
+ "x": 205.0,
+ "y": 132.0
+ },
+ {
+ "x": 204.0,
+ "y": 132.0
+ },
+ {
+ "x": 203.0,
+ "y": 131.0
+ },
+ {
+ "x": 202.0,
+ "y": 131.0
+ },
+ {
+ "x": 201.0,
+ "y": 130.0
+ },
+ {
+ "x": 200.0,
+ "y": 130.0
+ },
+ {
+ "x": 199.0,
+ "y": 129.0
+ },
+ {
+ "x": 189.0,
+ "y": 129.0
+ },
+ {
+ "x": 188.0,
+ "y": 129.0
+ },
+ {
+ "x": 187.0,
+ "y": 128.0
+ },
+ {
+ "x": 187.0,
+ "y": 127.0
+ },
+ {
+ "x": 187.0,
+ "y": 126.0
+ },
+ {
+ "x": 188.0,
+ "y": 125.0
+ },
+ {
+ "x": 189.0,
+ "y": 125.0
+ },
+ {
+ "x": 190.0,
+ "y": 124.0
+ },
+ {
+ "x": 191.0,
+ "y": 123.0
+ },
+ {
+ "x": 191.0,
+ "y": 122.0
+ },
+ {
+ "x": 191.0,
+ "y": 121.0
+ },
+ {
+ "x": 192.0,
+ "y": 120.0
+ },
+ {
+ "x": 193.0,
+ "y": 120.0
+ },
+ {
+ "x": 192.0,
+ "y": 119.0
+ },
+ {
+ "x": 188.0,
+ "y": 119.0
+ },
+ {
+ "x": 187.0,
+ "y": 119.0
+ },
+ {
+ "x": 187.0,
+ "y": 120.0
+ },
+ {
+ "x": 186.0,
+ "y": 121.0
+ },
+ {
+ "x": 185.0,
+ "y": 121.0
+ },
+ {
+ "x": 184.0,
+ "y": 122.0
+ },
+ {
+ "x": 183.0,
+ "y": 122.0
+ },
+ {
+ "x": 182.0,
+ "y": 123.0
+ },
+ {
+ "x": 181.0,
+ "y": 123.0
+ },
+ {
+ "x": 180.0,
+ "y": 124.0
+ },
+ {
+ "x": 179.0,
+ "y": 124.0
+ },
+ {
+ "x": 178.0,
+ "y": 124.0
+ },
+ {
+ "x": 177.0,
+ "y": 125.0
+ },
+ {
+ "x": 176.0,
+ "y": 125.0
+ },
+ {
+ "x": 175.0,
+ "y": 126.0
+ },
+ {
+ "x": 174.0,
+ "y": 126.0
+ },
+ {
+ "x": 173.0,
+ "y": 127.0
+ },
+ {
+ "x": 172.0,
+ "y": 127.0
+ },
+ {
+ "x": 170.0,
+ "y": 129.0
+ }
+ ]
+ ]
+ }
+ },
+ "8": {
+ "bounding_box": {
+ "h": 58.0,
+ "w": 42.0,
+ "x": 171.0,
+ "y": 120.0
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 171.0,
+ "y": 128.0
+ },
+ {
+ "x": 171.0,
+ "y": 135.0
+ },
+ {
+ "x": 171.0,
+ "y": 136.0
+ },
+ {
+ "x": 172.0,
+ "y": 137.0
+ },
+ {
+ "x": 172.0,
+ "y": 143.0
+ },
+ {
+ "x": 172.0,
+ "y": 144.0
+ },
+ {
+ "x": 173.0,
+ "y": 145.0
+ },
+ {
+ "x": 173.0,
+ "y": 146.0
+ },
+ {
+ "x": 173.0,
+ "y": 147.0
+ },
+ {
+ "x": 174.0,
+ "y": 148.0
+ },
+ {
+ "x": 174.0,
+ "y": 149.0
+ },
+ {
+ "x": 175.0,
+ "y": 150.0
+ },
+ {
+ "x": 175.0,
+ "y": 151.0
+ },
+ {
+ "x": 176.0,
+ "y": 152.0
+ },
+ {
+ "x": 176.0,
+ "y": 157.0
+ },
+ {
+ "x": 176.0,
+ "y": 158.0
+ },
+ {
+ "x": 177.0,
+ "y": 159.0
+ },
+ {
+ "x": 177.0,
+ "y": 162.0
+ },
+ {
+ "x": 177.0,
+ "y": 163.0
+ },
+ {
+ "x": 178.0,
+ "y": 164.0
+ },
+ {
+ "x": 178.0,
+ "y": 165.0
+ },
+ {
+ "x": 181.0,
+ "y": 168.0
+ },
+ {
+ "x": 182.0,
+ "y": 169.0
+ },
+ {
+ "x": 182.0,
+ "y": 170.0
+ },
+ {
+ "x": 183.0,
+ "y": 171.0
+ },
+ {
+ "x": 183.0,
+ "y": 173.0
+ },
+ {
+ "x": 183.0,
+ "y": 174.0
+ },
+ {
+ "x": 186.0,
+ "y": 177.0
+ },
+ {
+ "x": 187.0,
+ "y": 178.0
+ },
+ {
+ "x": 193.0,
+ "y": 178.0
+ },
+ {
+ "x": 194.0,
+ "y": 178.0
+ },
+ {
+ "x": 194.0,
+ "y": 177.0
+ },
+ {
+ "x": 195.0,
+ "y": 176.0
+ },
+ {
+ "x": 196.0,
+ "y": 176.0
+ },
+ {
+ "x": 197.0,
+ "y": 176.0
+ },
+ {
+ "x": 198.0,
+ "y": 175.0
+ },
+ {
+ "x": 199.0,
+ "y": 175.0
+ },
+ {
+ "x": 200.0,
+ "y": 174.0
+ },
+ {
+ "x": 200.0,
+ "y": 173.0
+ },
+ {
+ "x": 201.0,
+ "y": 172.0
+ },
+ {
+ "x": 201.0,
+ "y": 171.0
+ },
+ {
+ "x": 202.0,
+ "y": 170.0
+ },
+ {
+ "x": 203.0,
+ "y": 170.0
+ },
+ {
+ "x": 204.0,
+ "y": 169.0
+ },
+ {
+ "x": 205.0,
+ "y": 169.0
+ },
+ {
+ "x": 206.0,
+ "y": 169.0
+ },
+ {
+ "x": 207.0,
+ "y": 168.0
+ },
+ {
+ "x": 208.0,
+ "y": 167.0
+ },
+ {
+ "x": 208.0,
+ "y": 166.0
+ },
+ {
+ "x": 209.0,
+ "y": 165.0
+ },
+ {
+ "x": 209.0,
+ "y": 164.0
+ },
+ {
+ "x": 211.0,
+ "y": 162.0
+ },
+ {
+ "x": 212.0,
+ "y": 162.0
+ },
+ {
+ "x": 211.0,
+ "y": 161.0
+ },
+ {
+ "x": 206.0,
+ "y": 161.0
+ },
+ {
+ "x": 205.0,
+ "y": 161.0
+ },
+ {
+ "x": 205.0,
+ "y": 162.0
+ },
+ {
+ "x": 203.0,
+ "y": 164.0
+ },
+ {
+ "x": 202.0,
+ "y": 165.0
+ },
+ {
+ "x": 201.0,
+ "y": 165.0
+ },
+ {
+ "x": 200.0,
+ "y": 166.0
+ },
+ {
+ "x": 199.0,
+ "y": 166.0
+ },
+ {
+ "x": 198.0,
+ "y": 166.0
+ },
+ {
+ "x": 197.0,
+ "y": 165.0
+ },
+ {
+ "x": 197.0,
+ "y": 164.0
+ },
+ {
+ "x": 196.0,
+ "y": 164.0
+ },
+ {
+ "x": 194.0,
+ "y": 162.0
+ },
+ {
+ "x": 193.0,
+ "y": 161.0
+ },
+ {
+ "x": 193.0,
+ "y": 160.0
+ },
+ {
+ "x": 193.0,
+ "y": 159.0
+ },
+ {
+ "x": 195.0,
+ "y": 157.0
+ },
+ {
+ "x": 196.0,
+ "y": 156.0
+ },
+ {
+ "x": 200.0,
+ "y": 156.0
+ },
+ {
+ "x": 201.0,
+ "y": 155.0
+ },
+ {
+ "x": 208.0,
+ "y": 155.0
+ },
+ {
+ "x": 209.0,
+ "y": 154.0
+ },
+ {
+ "x": 209.0,
+ "y": 153.0
+ },
+ {
+ "x": 209.0,
+ "y": 152.0
+ },
+ {
+ "x": 208.0,
+ "y": 151.0
+ },
+ {
+ "x": 208.0,
+ "y": 150.0
+ },
+ {
+ "x": 209.0,
+ "y": 149.0
+ },
+ {
+ "x": 209.0,
+ "y": 148.0
+ },
+ {
+ "x": 209.0,
+ "y": 147.0
+ },
+ {
+ "x": 210.0,
+ "y": 146.0
+ },
+ {
+ "x": 210.0,
+ "y": 145.0
+ },
+ {
+ "x": 211.0,
+ "y": 144.0
+ },
+ {
+ "x": 211.0,
+ "y": 143.0
+ },
+ {
+ "x": 212.0,
+ "y": 142.0
+ },
+ {
+ "x": 213.0,
+ "y": 141.0
+ },
+ {
+ "x": 213.0,
+ "y": 132.0
+ },
+ {
+ "x": 213.0,
+ "y": 131.0
+ },
+ {
+ "x": 212.0,
+ "y": 130.0
+ },
+ {
+ "x": 212.0,
+ "y": 128.0
+ },
+ {
+ "x": 212.0,
+ "y": 127.0
+ },
+ {
+ "x": 209.0,
+ "y": 124.0
+ },
+ {
+ "x": 209.0,
+ "y": 123.0
+ },
+ {
+ "x": 202.0,
+ "y": 123.0
+ },
+ {
+ "x": 201.0,
+ "y": 123.0
+ },
+ {
+ "x": 201.0,
+ "y": 124.0
+ },
+ {
+ "x": 200.0,
+ "y": 125.0
+ },
+ {
+ "x": 199.0,
+ "y": 125.0
+ },
+ {
+ "x": 199.0,
+ "y": 127.0
+ },
+ {
+ "x": 199.0,
+ "y": 128.0
+ },
+ {
+ "x": 198.0,
+ "y": 129.0
+ },
+ {
+ "x": 197.0,
+ "y": 130.0
+ },
+ {
+ "x": 197.0,
+ "y": 131.0
+ },
+ {
+ "x": 196.0,
+ "y": 132.0
+ },
+ {
+ "x": 195.0,
+ "y": 133.0
+ },
+ {
+ "x": 190.0,
+ "y": 133.0
+ },
+ {
+ "x": 189.0,
+ "y": 133.0
+ },
+ {
+ "x": 188.0,
+ "y": 132.0
+ },
+ {
+ "x": 188.0,
+ "y": 131.0
+ },
+ {
+ "x": 188.0,
+ "y": 130.0
+ },
+ {
+ "x": 187.0,
+ "y": 129.0
+ },
+ {
+ "x": 187.0,
+ "y": 128.0
+ },
+ {
+ "x": 188.0,
+ "y": 127.0
+ },
+ {
+ "x": 188.0,
+ "y": 126.0
+ },
+ {
+ "x": 188.0,
+ "y": 125.0
+ },
+ {
+ "x": 189.0,
+ "y": 124.0
+ },
+ {
+ "x": 190.0,
+ "y": 123.0
+ },
+ {
+ "x": 190.0,
+ "y": 122.0
+ },
+ {
+ "x": 190.0,
+ "y": 121.0
+ },
+ {
+ "x": 189.0,
+ "y": 120.0
+ },
+ {
+ "x": 179.0,
+ "y": 120.0
+ },
+ {
+ "x": 178.0,
+ "y": 120.0
+ },
+ {
+ "x": 177.0,
+ "y": 121.0
+ },
+ {
+ "x": 176.0,
+ "y": 122.0
+ },
+ {
+ "x": 174.0,
+ "y": 122.0
+ },
+ {
+ "x": 173.0,
+ "y": 123.0
+ },
+ {
+ "x": 173.0,
+ "y": 124.0
+ },
+ {
+ "x": 172.0,
+ "y": 125.0
+ },
+ {
+ "x": 172.0,
+ "y": 126.0
+ },
+ {
+ "x": 172.0,
+ "y": 127.0
+ },
+ {
+ "x": 171.0,
+ "y": 128.0
+ }
+ ]
+ ]
+ }
+ },
+ "9": {
+ "bounding_box": {
+ "h": 62.0,
+ "w": 43.0,
+ "x": 171.0,
+ "y": 117.0
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 171.0,
+ "y": 128.0
+ },
+ {
+ "x": 171.0,
+ "y": 143.0
+ },
+ {
+ "x": 171.0,
+ "y": 144.0
+ },
+ {
+ "x": 172.0,
+ "y": 145.0
+ },
+ {
+ "x": 172.0,
+ "y": 148.0
+ },
+ {
+ "x": 172.0,
+ "y": 149.0
+ },
+ {
+ "x": 173.0,
+ "y": 150.0
+ },
+ {
+ "x": 173.0,
+ "y": 154.0
+ },
+ {
+ "x": 174.0,
+ "y": 155.0
+ },
+ {
+ "x": 173.0,
+ "y": 156.0
+ },
+ {
+ "x": 173.0,
+ "y": 158.0
+ },
+ {
+ "x": 173.0,
+ "y": 159.0
+ },
+ {
+ "x": 178.0,
+ "y": 164.0
+ },
+ {
+ "x": 179.0,
+ "y": 165.0
+ },
+ {
+ "x": 179.0,
+ "y": 166.0
+ },
+ {
+ "x": 179.0,
+ "y": 167.0
+ },
+ {
+ "x": 180.0,
+ "y": 168.0
+ },
+ {
+ "x": 180.0,
+ "y": 169.0
+ },
+ {
+ "x": 181.0,
+ "y": 170.0
+ },
+ {
+ "x": 181.0,
+ "y": 171.0
+ },
+ {
+ "x": 181.0,
+ "y": 172.0
+ },
+ {
+ "x": 182.0,
+ "y": 173.0
+ },
+ {
+ "x": 182.0,
+ "y": 174.0
+ },
+ {
+ "x": 183.0,
+ "y": 175.0
+ },
+ {
+ "x": 184.0,
+ "y": 175.0
+ },
+ {
+ "x": 185.0,
+ "y": 176.0
+ },
+ {
+ "x": 186.0,
+ "y": 177.0
+ },
+ {
+ "x": 187.0,
+ "y": 177.0
+ },
+ {
+ "x": 188.0,
+ "y": 178.0
+ },
+ {
+ "x": 189.0,
+ "y": 179.0
+ },
+ {
+ "x": 201.0,
+ "y": 179.0
+ },
+ {
+ "x": 202.0,
+ "y": 179.0
+ },
+ {
+ "x": 203.0,
+ "y": 178.0
+ },
+ {
+ "x": 204.0,
+ "y": 177.0
+ },
+ {
+ "x": 205.0,
+ "y": 177.0
+ },
+ {
+ "x": 206.0,
+ "y": 176.0
+ },
+ {
+ "x": 207.0,
+ "y": 176.0
+ },
+ {
+ "x": 208.0,
+ "y": 176.0
+ },
+ {
+ "x": 209.0,
+ "y": 175.0
+ },
+ {
+ "x": 209.0,
+ "y": 174.0
+ },
+ {
+ "x": 210.0,
+ "y": 173.0
+ },
+ {
+ "x": 211.0,
+ "y": 172.0
+ },
+ {
+ "x": 212.0,
+ "y": 172.0
+ },
+ {
+ "x": 213.0,
+ "y": 172.0
+ },
+ {
+ "x": 213.0,
+ "y": 170.0
+ },
+ {
+ "x": 214.0,
+ "y": 169.0
+ },
+ {
+ "x": 214.0,
+ "y": 163.0
+ },
+ {
+ "x": 214.0,
+ "y": 162.0
+ },
+ {
+ "x": 213.0,
+ "y": 161.0
+ },
+ {
+ "x": 213.0,
+ "y": 157.0
+ },
+ {
+ "x": 212.0,
+ "y": 156.0
+ },
+ {
+ "x": 211.0,
+ "y": 156.0
+ },
+ {
+ "x": 210.0,
+ "y": 156.0
+ },
+ {
+ "x": 207.0,
+ "y": 159.0
+ },
+ {
+ "x": 206.0,
+ "y": 160.0
+ },
+ {
+ "x": 205.0,
+ "y": 160.0
+ },
+ {
+ "x": 204.0,
+ "y": 161.0
+ },
+ {
+ "x": 201.0,
+ "y": 161.0
+ },
+ {
+ "x": 200.0,
+ "y": 161.0
+ },
+ {
+ "x": 199.0,
+ "y": 160.0
+ },
+ {
+ "x": 199.0,
+ "y": 159.0
+ },
+ {
+ "x": 198.0,
+ "y": 159.0
+ },
+ {
+ "x": 197.0,
+ "y": 158.0
+ },
+ {
+ "x": 197.0,
+ "y": 157.0
+ },
+ {
+ "x": 196.0,
+ "y": 156.0
+ },
+ {
+ "x": 197.0,
+ "y": 155.0
+ },
+ {
+ "x": 197.0,
+ "y": 152.0
+ },
+ {
+ "x": 197.0,
+ "y": 151.0
+ },
+ {
+ "x": 198.0,
+ "y": 150.0
+ },
+ {
+ "x": 199.0,
+ "y": 149.0
+ },
+ {
+ "x": 200.0,
+ "y": 150.0
+ },
+ {
+ "x": 203.0,
+ "y": 150.0
+ },
+ {
+ "x": 204.0,
+ "y": 150.0
+ },
+ {
+ "x": 204.0,
+ "y": 149.0
+ },
+ {
+ "x": 205.0,
+ "y": 148.0
+ },
+ {
+ "x": 206.0,
+ "y": 148.0
+ },
+ {
+ "x": 207.0,
+ "y": 148.0
+ },
+ {
+ "x": 208.0,
+ "y": 147.0
+ },
+ {
+ "x": 209.0,
+ "y": 147.0
+ },
+ {
+ "x": 210.0,
+ "y": 147.0
+ },
+ {
+ "x": 213.0,
+ "y": 144.0
+ },
+ {
+ "x": 214.0,
+ "y": 143.0
+ },
+ {
+ "x": 214.0,
+ "y": 142.0
+ },
+ {
+ "x": 214.0,
+ "y": 141.0
+ },
+ {
+ "x": 213.0,
+ "y": 140.0
+ },
+ {
+ "x": 212.0,
+ "y": 140.0
+ },
+ {
+ "x": 211.0,
+ "y": 141.0
+ },
+ {
+ "x": 210.0,
+ "y": 142.0
+ },
+ {
+ "x": 209.0,
+ "y": 142.0
+ },
+ {
+ "x": 207.0,
+ "y": 144.0
+ },
+ {
+ "x": 206.0,
+ "y": 145.0
+ },
+ {
+ "x": 205.0,
+ "y": 145.0
+ },
+ {
+ "x": 204.0,
+ "y": 144.0
+ },
+ {
+ "x": 204.0,
+ "y": 143.0
+ },
+ {
+ "x": 204.0,
+ "y": 142.0
+ },
+ {
+ "x": 205.0,
+ "y": 141.0
+ },
+ {
+ "x": 206.0,
+ "y": 140.0
+ },
+ {
+ "x": 206.0,
+ "y": 139.0
+ },
+ {
+ "x": 207.0,
+ "y": 138.0
+ },
+ {
+ "x": 207.0,
+ "y": 136.0
+ },
+ {
+ "x": 208.0,
+ "y": 135.0
+ },
+ {
+ "x": 208.0,
+ "y": 134.0
+ },
+ {
+ "x": 206.0,
+ "y": 132.0
+ },
+ {
+ "x": 206.0,
+ "y": 131.0
+ },
+ {
+ "x": 207.0,
+ "y": 130.0
+ },
+ {
+ "x": 208.0,
+ "y": 130.0
+ },
+ {
+ "x": 209.0,
+ "y": 130.0
+ },
+ {
+ "x": 210.0,
+ "y": 129.0
+ },
+ {
+ "x": 211.0,
+ "y": 129.0
+ },
+ {
+ "x": 212.0,
+ "y": 128.0
+ },
+ {
+ "x": 213.0,
+ "y": 128.0
+ },
+ {
+ "x": 213.0,
+ "y": 125.0
+ },
+ {
+ "x": 213.0,
+ "y": 124.0
+ },
+ {
+ "x": 211.0,
+ "y": 124.0
+ },
+ {
+ "x": 210.0,
+ "y": 123.0
+ },
+ {
+ "x": 207.0,
+ "y": 123.0
+ },
+ {
+ "x": 206.0,
+ "y": 123.0
+ },
+ {
+ "x": 206.0,
+ "y": 124.0
+ },
+ {
+ "x": 205.0,
+ "y": 125.0
+ },
+ {
+ "x": 204.0,
+ "y": 126.0
+ },
+ {
+ "x": 204.0,
+ "y": 127.0
+ },
+ {
+ "x": 203.0,
+ "y": 128.0
+ },
+ {
+ "x": 203.0,
+ "y": 129.0
+ },
+ {
+ "x": 202.0,
+ "y": 130.0
+ },
+ {
+ "x": 202.0,
+ "y": 131.0
+ },
+ {
+ "x": 201.0,
+ "y": 132.0
+ },
+ {
+ "x": 200.0,
+ "y": 133.0
+ },
+ {
+ "x": 198.0,
+ "y": 133.0
+ },
+ {
+ "x": 197.0,
+ "y": 133.0
+ },
+ {
+ "x": 196.0,
+ "y": 134.0
+ },
+ {
+ "x": 195.0,
+ "y": 134.0
+ },
+ {
+ "x": 194.0,
+ "y": 135.0
+ },
+ {
+ "x": 193.0,
+ "y": 134.0
+ },
+ {
+ "x": 193.0,
+ "y": 133.0
+ },
+ {
+ "x": 191.0,
+ "y": 133.0
+ },
+ {
+ "x": 190.0,
+ "y": 133.0
+ },
+ {
+ "x": 189.0,
+ "y": 132.0
+ },
+ {
+ "x": 188.0,
+ "y": 131.0
+ },
+ {
+ "x": 188.0,
+ "y": 130.0
+ },
+ {
+ "x": 188.0,
+ "y": 129.0
+ },
+ {
+ "x": 189.0,
+ "y": 128.0
+ },
+ {
+ "x": 189.0,
+ "y": 127.0
+ },
+ {
+ "x": 192.0,
+ "y": 124.0
+ },
+ {
+ "x": 193.0,
+ "y": 123.0
+ },
+ {
+ "x": 193.0,
+ "y": 120.0
+ },
+ {
+ "x": 193.0,
+ "y": 119.0
+ },
+ {
+ "x": 192.0,
+ "y": 118.0
+ },
+ {
+ "x": 191.0,
+ "y": 117.0
+ },
+ {
+ "x": 183.0,
+ "y": 117.0
+ },
+ {
+ "x": 182.0,
+ "y": 117.0
+ },
+ {
+ "x": 182.0,
+ "y": 118.0
+ },
+ {
+ "x": 181.0,
+ "y": 119.0
+ },
+ {
+ "x": 180.0,
+ "y": 119.0
+ },
+ {
+ "x": 179.0,
+ "y": 119.0
+ },
+ {
+ "x": 176.0,
+ "y": 122.0
+ },
+ {
+ "x": 175.0,
+ "y": 122.0
+ },
+ {
+ "x": 173.0,
+ "y": 124.0
+ },
+ {
+ "x": 172.0,
+ "y": 125.0
+ },
+ {
+ "x": 172.0,
+ "y": 126.0
+ },
+ {
+ "x": 172.0,
+ "y": 127.0
+ },
+ {
+ "x": 171.0,
+ "y": 128.0
+ }
+ ]
+ ]
+ }
+ },
+ "10": {
+ "bounding_box": {
+ "h": 60.0,
+ "w": 51.0,
+ "x": 168.0,
+ "y": 115.0
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 168.0,
+ "y": 146.0
+ },
+ {
+ "x": 168.0,
+ "y": 148.0
+ },
+ {
+ "x": 169.0,
+ "y": 149.0
+ },
+ {
+ "x": 169.0,
+ "y": 152.0
+ },
+ {
+ "x": 169.0,
+ "y": 153.0
+ },
+ {
+ "x": 170.0,
+ "y": 154.0
+ },
+ {
+ "x": 170.0,
+ "y": 156.0
+ },
+ {
+ "x": 170.0,
+ "y": 157.0
+ },
+ {
+ "x": 171.0,
+ "y": 158.0
+ },
+ {
+ "x": 171.0,
+ "y": 159.0
+ },
+ {
+ "x": 171.0,
+ "y": 160.0
+ },
+ {
+ "x": 172.0,
+ "y": 161.0
+ },
+ {
+ "x": 172.0,
+ "y": 162.0
+ },
+ {
+ "x": 174.0,
+ "y": 164.0
+ },
+ {
+ "x": 175.0,
+ "y": 165.0
+ },
+ {
+ "x": 175.0,
+ "y": 166.0
+ },
+ {
+ "x": 176.0,
+ "y": 167.0
+ },
+ {
+ "x": 176.0,
+ "y": 168.0
+ },
+ {
+ "x": 177.0,
+ "y": 169.0
+ },
+ {
+ "x": 178.0,
+ "y": 169.0
+ },
+ {
+ "x": 179.0,
+ "y": 169.0
+ },
+ {
+ "x": 179.0,
+ "y": 168.0
+ },
+ {
+ "x": 181.0,
+ "y": 166.0
+ },
+ {
+ "x": 182.0,
+ "y": 165.0
+ },
+ {
+ "x": 183.0,
+ "y": 165.0
+ },
+ {
+ "x": 184.0,
+ "y": 164.0
+ },
+ {
+ "x": 184.0,
+ "y": 163.0
+ },
+ {
+ "x": 184.0,
+ "y": 162.0
+ },
+ {
+ "x": 185.0,
+ "y": 161.0
+ },
+ {
+ "x": 186.0,
+ "y": 160.0
+ },
+ {
+ "x": 185.0,
+ "y": 159.0
+ },
+ {
+ "x": 184.0,
+ "y": 158.0
+ },
+ {
+ "x": 183.0,
+ "y": 158.0
+ },
+ {
+ "x": 182.0,
+ "y": 157.0
+ },
+ {
+ "x": 181.0,
+ "y": 156.0
+ },
+ {
+ "x": 181.0,
+ "y": 155.0
+ },
+ {
+ "x": 179.0,
+ "y": 153.0
+ },
+ {
+ "x": 178.0,
+ "y": 152.0
+ },
+ {
+ "x": 178.0,
+ "y": 151.0
+ },
+ {
+ "x": 178.0,
+ "y": 150.0
+ },
+ {
+ "x": 177.0,
+ "y": 149.0
+ },
+ {
+ "x": 177.0,
+ "y": 148.0
+ },
+ {
+ "x": 178.0,
+ "y": 147.0
+ },
+ {
+ "x": 179.0,
+ "y": 146.0
+ },
+ {
+ "x": 180.0,
+ "y": 147.0
+ },
+ {
+ "x": 181.0,
+ "y": 148.0
+ },
+ {
+ "x": 181.0,
+ "y": 149.0
+ },
+ {
+ "x": 182.0,
+ "y": 150.0
+ },
+ {
+ "x": 182.0,
+ "y": 151.0
+ },
+ {
+ "x": 188.0,
+ "y": 157.0
+ },
+ {
+ "x": 189.0,
+ "y": 158.0
+ },
+ {
+ "x": 189.0,
+ "y": 159.0
+ },
+ {
+ "x": 190.0,
+ "y": 160.0
+ },
+ {
+ "x": 190.0,
+ "y": 161.0
+ },
+ {
+ "x": 189.0,
+ "y": 162.0
+ },
+ {
+ "x": 189.0,
+ "y": 163.0
+ },
+ {
+ "x": 188.0,
+ "y": 164.0
+ },
+ {
+ "x": 188.0,
+ "y": 166.0
+ },
+ {
+ "x": 188.0,
+ "y": 167.0
+ },
+ {
+ "x": 189.0,
+ "y": 168.0
+ },
+ {
+ "x": 189.0,
+ "y": 170.0
+ },
+ {
+ "x": 189.0,
+ "y": 171.0
+ },
+ {
+ "x": 186.0,
+ "y": 174.0
+ },
+ {
+ "x": 185.0,
+ "y": 175.0
+ },
+ {
+ "x": 186.0,
+ "y": 175.0
+ },
+ {
+ "x": 186.0,
+ "y": 174.0
+ },
+ {
+ "x": 187.0,
+ "y": 173.0
+ },
+ {
+ "x": 188.0,
+ "y": 174.0
+ },
+ {
+ "x": 188.0,
+ "y": 175.0
+ },
+ {
+ "x": 190.0,
+ "y": 175.0
+ },
+ {
+ "x": 191.0,
+ "y": 175.0
+ },
+ {
+ "x": 192.0,
+ "y": 174.0
+ },
+ {
+ "x": 193.0,
+ "y": 173.0
+ },
+ {
+ "x": 203.0,
+ "y": 173.0
+ },
+ {
+ "x": 204.0,
+ "y": 173.0
+ },
+ {
+ "x": 205.0,
+ "y": 172.0
+ },
+ {
+ "x": 207.0,
+ "y": 172.0
+ },
+ {
+ "x": 208.0,
+ "y": 172.0
+ },
+ {
+ "x": 209.0,
+ "y": 171.0
+ },
+ {
+ "x": 210.0,
+ "y": 171.0
+ },
+ {
+ "x": 211.0,
+ "y": 171.0
+ },
+ {
+ "x": 212.0,
+ "y": 170.0
+ },
+ {
+ "x": 213.0,
+ "y": 170.0
+ },
+ {
+ "x": 215.0,
+ "y": 168.0
+ },
+ {
+ "x": 216.0,
+ "y": 167.0
+ },
+ {
+ "x": 216.0,
+ "y": 166.0
+ },
+ {
+ "x": 216.0,
+ "y": 165.0
+ },
+ {
+ "x": 217.0,
+ "y": 164.0
+ },
+ {
+ "x": 218.0,
+ "y": 163.0
+ },
+ {
+ "x": 218.0,
+ "y": 159.0
+ },
+ {
+ "x": 218.0,
+ "y": 158.0
+ },
+ {
+ "x": 219.0,
+ "y": 157.0
+ },
+ {
+ "x": 219.0,
+ "y": 156.0
+ },
+ {
+ "x": 209.0,
+ "y": 156.0
+ },
+ {
+ "x": 208.0,
+ "y": 156.0
+ },
+ {
+ "x": 207.0,
+ "y": 155.0
+ },
+ {
+ "x": 206.0,
+ "y": 155.0
+ },
+ {
+ "x": 203.0,
+ "y": 152.0
+ },
+ {
+ "x": 202.0,
+ "y": 151.0
+ },
+ {
+ "x": 202.0,
+ "y": 150.0
+ },
+ {
+ "x": 202.0,
+ "y": 149.0
+ },
+ {
+ "x": 203.0,
+ "y": 148.0
+ },
+ {
+ "x": 203.0,
+ "y": 147.0
+ },
+ {
+ "x": 204.0,
+ "y": 146.0
+ },
+ {
+ "x": 204.0,
+ "y": 145.0
+ },
+ {
+ "x": 206.0,
+ "y": 143.0
+ },
+ {
+ "x": 207.0,
+ "y": 142.0
+ },
+ {
+ "x": 208.0,
+ "y": 142.0
+ },
+ {
+ "x": 211.0,
+ "y": 139.0
+ },
+ {
+ "x": 212.0,
+ "y": 138.0
+ },
+ {
+ "x": 212.0,
+ "y": 135.0
+ },
+ {
+ "x": 213.0,
+ "y": 134.0
+ },
+ {
+ "x": 212.0,
+ "y": 133.0
+ },
+ {
+ "x": 212.0,
+ "y": 132.0
+ },
+ {
+ "x": 212.0,
+ "y": 131.0
+ },
+ {
+ "x": 211.0,
+ "y": 130.0
+ },
+ {
+ "x": 211.0,
+ "y": 129.0
+ },
+ {
+ "x": 210.0,
+ "y": 128.0
+ },
+ {
+ "x": 210.0,
+ "y": 127.0
+ },
+ {
+ "x": 208.0,
+ "y": 125.0
+ },
+ {
+ "x": 207.0,
+ "y": 124.0
+ },
+ {
+ "x": 206.0,
+ "y": 124.0
+ },
+ {
+ "x": 205.0,
+ "y": 124.0
+ },
+ {
+ "x": 205.0,
+ "y": 125.0
+ },
+ {
+ "x": 204.0,
+ "y": 126.0
+ },
+ {
+ "x": 203.0,
+ "y": 126.0
+ },
+ {
+ "x": 202.0,
+ "y": 127.0
+ },
+ {
+ "x": 201.0,
+ "y": 128.0
+ },
+ {
+ "x": 201.0,
+ "y": 129.0
+ },
+ {
+ "x": 200.0,
+ "y": 130.0
+ },
+ {
+ "x": 199.0,
+ "y": 131.0
+ },
+ {
+ "x": 197.0,
+ "y": 131.0
+ },
+ {
+ "x": 196.0,
+ "y": 131.0
+ },
+ {
+ "x": 195.0,
+ "y": 130.0
+ },
+ {
+ "x": 195.0,
+ "y": 129.0
+ },
+ {
+ "x": 196.0,
+ "y": 128.0
+ },
+ {
+ "x": 197.0,
+ "y": 127.0
+ },
+ {
+ "x": 197.0,
+ "y": 126.0
+ },
+ {
+ "x": 198.0,
+ "y": 125.0
+ },
+ {
+ "x": 198.0,
+ "y": 124.0
+ },
+ {
+ "x": 198.0,
+ "y": 123.0
+ },
+ {
+ "x": 197.0,
+ "y": 123.0
+ },
+ {
+ "x": 196.0,
+ "y": 123.0
+ },
+ {
+ "x": 196.0,
+ "y": 124.0
+ },
+ {
+ "x": 196.0,
+ "y": 125.0
+ },
+ {
+ "x": 195.0,
+ "y": 126.0
+ },
+ {
+ "x": 194.0,
+ "y": 126.0
+ },
+ {
+ "x": 193.0,
+ "y": 127.0
+ },
+ {
+ "x": 192.0,
+ "y": 128.0
+ },
+ {
+ "x": 191.0,
+ "y": 128.0
+ },
+ {
+ "x": 190.0,
+ "y": 127.0
+ },
+ {
+ "x": 190.0,
+ "y": 124.0
+ },
+ {
+ "x": 190.0,
+ "y": 123.0
+ },
+ {
+ "x": 191.0,
+ "y": 122.0
+ },
+ {
+ "x": 192.0,
+ "y": 122.0
+ },
+ {
+ "x": 192.0,
+ "y": 121.0
+ },
+ {
+ "x": 193.0,
+ "y": 120.0
+ },
+ {
+ "x": 194.0,
+ "y": 119.0
+ },
+ {
+ "x": 195.0,
+ "y": 119.0
+ },
+ {
+ "x": 196.0,
+ "y": 118.0
+ },
+ {
+ "x": 197.0,
+ "y": 118.0
+ },
+ {
+ "x": 196.0,
+ "y": 117.0
+ },
+ {
+ "x": 195.0,
+ "y": 116.0
+ },
+ {
+ "x": 193.0,
+ "y": 116.0
+ },
+ {
+ "x": 192.0,
+ "y": 115.0
+ },
+ {
+ "x": 190.0,
+ "y": 117.0
+ },
+ {
+ "x": 189.0,
+ "y": 117.0
+ },
+ {
+ "x": 188.0,
+ "y": 118.0
+ },
+ {
+ "x": 188.0,
+ "y": 119.0
+ },
+ {
+ "x": 184.0,
+ "y": 123.0
+ },
+ {
+ "x": 183.0,
+ "y": 123.0
+ },
+ {
+ "x": 183.0,
+ "y": 125.0
+ },
+ {
+ "x": 182.0,
+ "y": 126.0
+ },
+ {
+ "x": 180.0,
+ "y": 126.0
+ },
+ {
+ "x": 179.0,
+ "y": 127.0
+ },
+ {
+ "x": 179.0,
+ "y": 129.0
+ },
+ {
+ "x": 179.0,
+ "y": 130.0
+ },
+ {
+ "x": 180.0,
+ "y": 131.0
+ },
+ {
+ "x": 181.0,
+ "y": 132.0
+ },
+ {
+ "x": 181.0,
+ "y": 133.0
+ },
+ {
+ "x": 182.0,
+ "y": 134.0
+ },
+ {
+ "x": 182.0,
+ "y": 137.0
+ },
+ {
+ "x": 182.0,
+ "y": 138.0
+ },
+ {
+ "x": 183.0,
+ "y": 139.0
+ },
+ {
+ "x": 184.0,
+ "y": 139.0
+ },
+ {
+ "x": 187.0,
+ "y": 142.0
+ },
+ {
+ "x": 187.0,
+ "y": 143.0
+ },
+ {
+ "x": 185.0,
+ "y": 145.0
+ },
+ {
+ "x": 184.0,
+ "y": 145.0
+ },
+ {
+ "x": 183.0,
+ "y": 144.0
+ },
+ {
+ "x": 183.0,
+ "y": 143.0
+ },
+ {
+ "x": 182.0,
+ "y": 143.0
+ },
+ {
+ "x": 180.0,
+ "y": 141.0
+ },
+ {
+ "x": 179.0,
+ "y": 140.0
+ },
+ {
+ "x": 179.0,
+ "y": 139.0
+ },
+ {
+ "x": 178.0,
+ "y": 138.0
+ },
+ {
+ "x": 178.0,
+ "y": 136.0
+ },
+ {
+ "x": 178.0,
+ "y": 135.0
+ },
+ {
+ "x": 177.0,
+ "y": 134.0
+ },
+ {
+ "x": 177.0,
+ "y": 133.0
+ },
+ {
+ "x": 177.0,
+ "y": 132.0
+ },
+ {
+ "x": 176.0,
+ "y": 131.0
+ },
+ {
+ "x": 176.0,
+ "y": 130.0
+ },
+ {
+ "x": 174.0,
+ "y": 128.0
+ },
+ {
+ "x": 173.0,
+ "y": 127.0
+ },
+ {
+ "x": 173.0,
+ "y": 126.0
+ },
+ {
+ "x": 172.0,
+ "y": 126.0
+ },
+ {
+ "x": 172.0,
+ "y": 128.0
+ },
+ {
+ "x": 172.0,
+ "y": 129.0
+ },
+ {
+ "x": 171.0,
+ "y": 130.0
+ },
+ {
+ "x": 171.0,
+ "y": 131.0
+ },
+ {
+ "x": 170.0,
+ "y": 132.0
+ },
+ {
+ "x": 170.0,
+ "y": 135.0
+ },
+ {
+ "x": 169.0,
+ "y": 136.0
+ },
+ {
+ "x": 169.0,
+ "y": 144.0
+ },
+ {
+ "x": 169.0,
+ "y": 145.0
+ },
+ {
+ "x": 168.0,
+ "y": 146.0
+ }
+ ]
+ ]
+ }
+ }
+ },
+ "hidden_areas": [],
+ "id": "75ff071c-3b82-4f5e-8be8-6741d3ee30e8",
+ "name": "Reference_sBAT",
+ "properties": [],
+ "ranges": [
+ [
+ 4,
+ 11
+ ]
+ ],
+ "slot_names": [
+ "0"
+ ]
+ }
+ ],
+ "properties": []
+}
\ No newline at end of file
diff --git a/tests/darwin/data/nifti/nifti.json b/tests/darwin/data/nifti/nifti.json
new file mode 100644
index 000000000..becf8807e
--- /dev/null
+++ b/tests/darwin/data/nifti/nifti.json
@@ -0,0 +1,12 @@
+{
+ "data": [
+ {
+ "image": "BRAINIX_NIFTI_ROI.nii.gz",
+ "label": "/Users/john/Documents/code/development/darwin-py/tests/darwin/data/nifti/BRAINIX_NIFTI_ROI.nii.gz",
+ "class_map": {
+ "1": "Reference_sBAT"
+ },
+ "mode": "video"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/darwin/data/nifti/no-legacy/.v7/metadata.json b/tests/darwin/data/nifti/no-legacy/.v7/metadata.json
new file mode 100644
index 000000000..3430da736
--- /dev/null
+++ b/tests/darwin/data/nifti/no-legacy/.v7/metadata.json
@@ -0,0 +1,44 @@
+{
+ "version": "1.0",
+ "schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/metadata/1.0/schema.json",
+ "classes": [
+ {
+ "name": "Reference_sBAT",
+ "type": "polygon",
+ "description": null,
+ "color": "rgba(0,255,170,1.0)",
+ "sub_types": [
+ "text",
+ "inference"
+ ],
+ "properties": [],
+ "sub_types_settings": {
+ "inference": {},
+ "text": {}
+ }
+ }
+ ],
+ "properties": [
+ {
+ "name": "item-level-ss",
+ "type": "single_select",
+ "description": "What is this?",
+ "required": false,
+ "property_values": [
+ {
+ "value": "1",
+ "color": "rgba(238,240,241,1.0)"
+ },
+ {
+ "value": "2",
+ "color": "rgba(255,0,214,1.0)"
+ },
+ {
+ "value": "3",
+ "color": "rgba(173,255,0,1.0)"
+ }
+ ],
+ "granularity": "item"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/darwin/data/nifti/no-legacy/BRAINIX_NIFTI_ROI.nii.json b/tests/darwin/data/nifti/no-legacy/BRAINIX_NIFTI_ROI.nii.json
new file mode 100644
index 000000000..363aadffb
--- /dev/null
+++ b/tests/darwin/data/nifti/no-legacy/BRAINIX_NIFTI_ROI.nii.json
@@ -0,0 +1,3949 @@
+{
+ "version": "2.0",
+ "schema_ref": "https://darwin-public.s3.eu-west-1.amazonaws.com/darwin_json/2.0/schema.json",
+ "item": {
+ "name": "BRAINIX_NIFTI_ROI.nii.gz",
+ "path": "/",
+ "source_info": {
+ "item_id": "019302b1-623a-e54c-4e2a-9403c2581954",
+ "dataset": {
+ "name": "MED_2D_VIEWER_ON",
+ "slug": "med_2d_viewer_on",
+ "dataset_management_url": "https://darwin.v7labs.com/datasets/1354683/dataset-management"
+ },
+ "team": {
+ "name": "V7 John",
+ "slug": "v7-john"
+ },
+ "workview_url": "https://darwin.v7labs.com/workview?dataset=1354683&item=019302b1-623a-e54c-4e2a-9403c2581954"
+ },
+ "slots": [
+ {
+ "type": "dicom",
+ "slot_name": "0",
+ "width": 288,
+ "height": 288,
+ "fps": null,
+ "thumbnail_url": "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/thumbnail",
+ "source_files": [
+ {
+ "file_name": "BRAINIX_NIFTI_ROI.nii.gz",
+ "url": "https://darwin.v7labs.com/api/v2/teams/v7-john/uploads/3bef131b-6772-44db-af38-901920c73f44"
+ }
+ ],
+ "frame_count": 22,
+ "frame_urls": [
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/0",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/1",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/2",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/3",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/4",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/5",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/6",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/7",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/8",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/9",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/10",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/11",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/12",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/13",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/14",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/15",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/16",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/17",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/18",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/19",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/20",
+ "https://darwin.v7labs.com/api/v2/teams/v7-john/files/5b5f868c-7fb6-4226-856a-0b0a742c51e6/sections/21"
+ ],
+ "metadata": {
+ "shape": [
+ 1,
+ 288,
+ 288,
+ 22
+ ],
+ "SeriesInstanceUID": "1.2.826.0.1.3680043.8.498.74346079490785680794508143611517792056",
+ "affine": "[[-0.7983811497688293, 0.0013799992157146335, -0.14355425536632538, 118.49510546668898], [0.0, -0.7965366840362549, -0.43216636776924133, 118.87191358208656], [0.019157083705067635, 0.05750555917620659, -5.982696056365967, 83.71717173978686], [0.0, 0.0, 0.0, 1.0]]",
+ "colorspace": "RG16",
+ "original_affine": [
+ [
+ "-0.7983811497688293",
+ "-0.0013799992157146335",
+ "0.14355425536632538",
+ "115.87652587890625"
+ ],
+ [
+ "0.0",
+ "0.7965366840362549",
+ "0.43216636776924133",
+ "-118.80960845947266"
+ ],
+ [
+ "0.019157083705067635",
+ "-0.05750555917620659",
+ "5.982696056365967",
+ "-25.41534996032715"
+ ],
+ [
+ "0.0",
+ "0.0",
+ "0.0",
+ "1.0"
+ ]
+ ],
+ "pixdim": "(0.7986109, 0.798611, 6.0000024)"
+ }
+ }
+ ]
+ },
+ "annotations": [
+ {
+ "frames": {
+ "4": {
+ "bounding_box": {
+ "h": 28.75,
+ "w": 16.77080000000001,
+ "x": 143.75,
+ "y": 108.6111
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 143.75,
+ "y": 134.9652
+ },
+ {
+ "x": 143.75,
+ "y": 135.7639
+ },
+ {
+ "x": 143.75,
+ "y": 136.5625
+ },
+ {
+ "x": 144.5486,
+ "y": 136.5625
+ },
+ {
+ "x": 145.3472,
+ "y": 137.3611
+ },
+ {
+ "x": 150.1389,
+ "y": 137.3611
+ },
+ {
+ "x": 150.9375,
+ "y": 137.3611
+ },
+ {
+ "x": 150.9375,
+ "y": 136.5625
+ },
+ {
+ "x": 151.7361,
+ "y": 135.7639
+ },
+ {
+ "x": 152.5347,
+ "y": 135.7639
+ },
+ {
+ "x": 153.3333,
+ "y": 135.7639
+ },
+ {
+ "x": 154.9305,
+ "y": 134.1666
+ },
+ {
+ "x": 155.7291,
+ "y": 133.368
+ },
+ {
+ "x": 155.7291,
+ "y": 132.5694
+ },
+ {
+ "x": 156.5278,
+ "y": 131.7708
+ },
+ {
+ "x": 157.3264,
+ "y": 130.9722
+ },
+ {
+ "x": 157.3264,
+ "y": 130.1736
+ },
+ {
+ "x": 158.125,
+ "y": 129.375
+ },
+ {
+ "x": 158.9236,
+ "y": 128.5764
+ },
+ {
+ "x": 158.9236,
+ "y": 127.7777
+ },
+ {
+ "x": 158.125,
+ "y": 126.9791
+ },
+ {
+ "x": 158.125,
+ "y": 126.1805
+ },
+ {
+ "x": 157.3264,
+ "y": 125.3819
+ },
+ {
+ "x": 154.1319,
+ "y": 125.3819
+ },
+ {
+ "x": 153.3333,
+ "y": 125.3819
+ },
+ {
+ "x": 153.3333,
+ "y": 126.1805
+ },
+ {
+ "x": 146.9444,
+ "y": 132.5694
+ },
+ {
+ "x": 146.1458,
+ "y": 133.368
+ },
+ {
+ "x": 145.3472,
+ "y": 133.368
+ },
+ {
+ "x": 143.75,
+ "y": 134.9652
+ }
+ ],
+ [
+ {
+ "x": 145.3472,
+ "y": 121.3889
+ },
+ {
+ "x": 145.3472,
+ "y": 122.1875
+ },
+ {
+ "x": 148.5416,
+ "y": 122.1875
+ },
+ {
+ "x": 149.3403,
+ "y": 122.1875
+ },
+ {
+ "x": 149.3403,
+ "y": 121.3889
+ },
+ {
+ "x": 150.1389,
+ "y": 120.5902
+ },
+ {
+ "x": 151.7361,
+ "y": 120.5902
+ },
+ {
+ "x": 152.5347,
+ "y": 119.7916
+ },
+ {
+ "x": 157.3264,
+ "y": 119.7916
+ },
+ {
+ "x": 158.125,
+ "y": 119.7916
+ },
+ {
+ "x": 159.7222,
+ "y": 118.1944
+ },
+ {
+ "x": 160.5208,
+ "y": 117.3958
+ },
+ {
+ "x": 160.5208,
+ "y": 110.2083
+ },
+ {
+ "x": 160.5208,
+ "y": 109.4097
+ },
+ {
+ "x": 159.7222,
+ "y": 108.6111
+ },
+ {
+ "x": 158.9236,
+ "y": 108.6111
+ },
+ {
+ "x": 158.125,
+ "y": 108.6111
+ },
+ {
+ "x": 158.125,
+ "y": 109.4097
+ },
+ {
+ "x": 157.3264,
+ "y": 110.2083
+ },
+ {
+ "x": 156.5278,
+ "y": 110.2083
+ },
+ {
+ "x": 155.7291,
+ "y": 111.0069
+ },
+ {
+ "x": 154.9305,
+ "y": 111.0069
+ },
+ {
+ "x": 154.1319,
+ "y": 111.8055
+ },
+ {
+ "x": 153.3333,
+ "y": 111.8055
+ },
+ {
+ "x": 151.7361,
+ "y": 113.4028
+ },
+ {
+ "x": 150.9375,
+ "y": 114.2014
+ },
+ {
+ "x": 150.9375,
+ "y": 115.0
+ },
+ {
+ "x": 150.1389,
+ "y": 115.7986
+ },
+ {
+ "x": 149.3403,
+ "y": 115.7986
+ },
+ {
+ "x": 148.5416,
+ "y": 116.5972
+ },
+ {
+ "x": 147.743,
+ "y": 116.5972
+ },
+ {
+ "x": 146.9444,
+ "y": 117.3958
+ },
+ {
+ "x": 146.9444,
+ "y": 118.1944
+ },
+ {
+ "x": 146.9444,
+ "y": 118.993
+ },
+ {
+ "x": 146.1458,
+ "y": 119.7916
+ },
+ {
+ "x": 146.1458,
+ "y": 120.5902
+ },
+ {
+ "x": 145.3472,
+ "y": 121.3889
+ }
+ ]
+ ]
+ }
+ },
+ "5": {
+ "bounding_box": {
+ "h": 27.152799999999985,
+ "w": 27.152800000000013,
+ "x": 141.3541,
+ "y": 111.0069
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 141.3541,
+ "y": 122.9861
+ },
+ {
+ "x": 141.3541,
+ "y": 128.5764
+ },
+ {
+ "x": 141.3541,
+ "y": 129.375
+ },
+ {
+ "x": 142.1528,
+ "y": 130.1736
+ },
+ {
+ "x": 142.1528,
+ "y": 130.9722
+ },
+ {
+ "x": 142.9514,
+ "y": 131.7708
+ },
+ {
+ "x": 142.9514,
+ "y": 134.1666
+ },
+ {
+ "x": 142.9514,
+ "y": 134.9652
+ },
+ {
+ "x": 143.75,
+ "y": 135.7639
+ },
+ {
+ "x": 143.75,
+ "y": 136.5625
+ },
+ {
+ "x": 144.5486,
+ "y": 137.3611
+ },
+ {
+ "x": 144.5486,
+ "y": 138.1597
+ },
+ {
+ "x": 145.3472,
+ "y": 138.1597
+ },
+ {
+ "x": 146.1458,
+ "y": 138.1597
+ },
+ {
+ "x": 148.5416,
+ "y": 135.7639
+ },
+ {
+ "x": 149.3403,
+ "y": 135.7639
+ },
+ {
+ "x": 152.5347,
+ "y": 132.5694
+ },
+ {
+ "x": 153.3333,
+ "y": 131.7708
+ },
+ {
+ "x": 154.1319,
+ "y": 131.7708
+ },
+ {
+ "x": 154.9305,
+ "y": 130.9722
+ },
+ {
+ "x": 157.3264,
+ "y": 130.9722
+ },
+ {
+ "x": 158.125,
+ "y": 130.9722
+ },
+ {
+ "x": 158.125,
+ "y": 130.1736
+ },
+ {
+ "x": 158.9236,
+ "y": 129.375
+ },
+ {
+ "x": 160.5208,
+ "y": 129.375
+ },
+ {
+ "x": 161.3194,
+ "y": 129.375
+ },
+ {
+ "x": 162.118,
+ "y": 130.1736
+ },
+ {
+ "x": 162.118,
+ "y": 130.9722
+ },
+ {
+ "x": 164.5139,
+ "y": 130.9722
+ },
+ {
+ "x": 165.3125,
+ "y": 130.9722
+ },
+ {
+ "x": 166.1111,
+ "y": 130.1736
+ },
+ {
+ "x": 166.9097,
+ "y": 130.1736
+ },
+ {
+ "x": 167.7083,
+ "y": 129.375
+ },
+ {
+ "x": 167.7083,
+ "y": 127.7777
+ },
+ {
+ "x": 168.5069,
+ "y": 126.9791
+ },
+ {
+ "x": 168.5069,
+ "y": 124.5833
+ },
+ {
+ "x": 168.5069,
+ "y": 123.7847
+ },
+ {
+ "x": 167.7083,
+ "y": 122.9861
+ },
+ {
+ "x": 167.7083,
+ "y": 122.1875
+ },
+ {
+ "x": 166.9097,
+ "y": 121.3889
+ },
+ {
+ "x": 166.9097,
+ "y": 120.5902
+ },
+ {
+ "x": 162.9166,
+ "y": 116.5972
+ },
+ {
+ "x": 162.9166,
+ "y": 115.7986
+ },
+ {
+ "x": 160.5208,
+ "y": 113.4028
+ },
+ {
+ "x": 159.7222,
+ "y": 112.6041
+ },
+ {
+ "x": 158.9236,
+ "y": 112.6041
+ },
+ {
+ "x": 158.125,
+ "y": 111.8055
+ },
+ {
+ "x": 158.125,
+ "y": 111.0069
+ },
+ {
+ "x": 153.3333,
+ "y": 111.0069
+ },
+ {
+ "x": 152.5347,
+ "y": 111.0069
+ },
+ {
+ "x": 151.7361,
+ "y": 111.8055
+ },
+ {
+ "x": 150.9375,
+ "y": 111.8055
+ },
+ {
+ "x": 150.1389,
+ "y": 111.8055
+ },
+ {
+ "x": 149.3403,
+ "y": 112.6041
+ },
+ {
+ "x": 148.5416,
+ "y": 112.6041
+ },
+ {
+ "x": 145.3472,
+ "y": 115.7986
+ },
+ {
+ "x": 144.5486,
+ "y": 116.5972
+ },
+ {
+ "x": 144.5486,
+ "y": 117.3958
+ },
+ {
+ "x": 143.75,
+ "y": 118.1944
+ },
+ {
+ "x": 143.75,
+ "y": 118.993
+ },
+ {
+ "x": 142.9514,
+ "y": 119.7916
+ },
+ {
+ "x": 142.9514,
+ "y": 120.5902
+ },
+ {
+ "x": 142.1528,
+ "y": 121.3889
+ },
+ {
+ "x": 142.1528,
+ "y": 122.1875
+ },
+ {
+ "x": 141.3541,
+ "y": 122.9861
+ }
+ ]
+ ]
+ }
+ },
+ "6": {
+ "bounding_box": {
+ "h": 45.520799999999994,
+ "w": 33.54159999999999,
+ "x": 135.7639,
+ "y": 95.0347
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 135.7639,
+ "y": 104.618
+ },
+ {
+ "x": 135.7639,
+ "y": 108.6111
+ },
+ {
+ "x": 135.7639,
+ "y": 109.4097
+ },
+ {
+ "x": 136.5625,
+ "y": 110.2083
+ },
+ {
+ "x": 136.5625,
+ "y": 112.6041
+ },
+ {
+ "x": 136.5625,
+ "y": 113.4028
+ },
+ {
+ "x": 137.3611,
+ "y": 114.2014
+ },
+ {
+ "x": 137.3611,
+ "y": 117.3958
+ },
+ {
+ "x": 137.3611,
+ "y": 118.1944
+ },
+ {
+ "x": 138.1597,
+ "y": 118.993
+ },
+ {
+ "x": 138.1597,
+ "y": 119.7916
+ },
+ {
+ "x": 138.9583,
+ "y": 120.5902
+ },
+ {
+ "x": 138.9583,
+ "y": 121.3889
+ },
+ {
+ "x": 139.7569,
+ "y": 122.1875
+ },
+ {
+ "x": 139.7569,
+ "y": 126.9791
+ },
+ {
+ "x": 139.7569,
+ "y": 127.7777
+ },
+ {
+ "x": 140.5555,
+ "y": 128.5764
+ },
+ {
+ "x": 140.5555,
+ "y": 129.375
+ },
+ {
+ "x": 140.5555,
+ "y": 130.1736
+ },
+ {
+ "x": 141.3541,
+ "y": 130.9722
+ },
+ {
+ "x": 141.3541,
+ "y": 131.7708
+ },
+ {
+ "x": 141.3541,
+ "y": 132.5694
+ },
+ {
+ "x": 142.1528,
+ "y": 133.368
+ },
+ {
+ "x": 142.1528,
+ "y": 134.1666
+ },
+ {
+ "x": 142.1528,
+ "y": 134.9652
+ },
+ {
+ "x": 142.9514,
+ "y": 135.7639
+ },
+ {
+ "x": 142.9514,
+ "y": 136.5625
+ },
+ {
+ "x": 143.75,
+ "y": 137.3611
+ },
+ {
+ "x": 143.75,
+ "y": 139.7569
+ },
+ {
+ "x": 143.75,
+ "y": 140.5555
+ },
+ {
+ "x": 146.1458,
+ "y": 140.5555
+ },
+ {
+ "x": 146.9444,
+ "y": 140.5555
+ },
+ {
+ "x": 146.9444,
+ "y": 139.7569
+ },
+ {
+ "x": 147.743,
+ "y": 138.9583
+ },
+ {
+ "x": 147.743,
+ "y": 137.3611
+ },
+ {
+ "x": 146.9444,
+ "y": 136.5625
+ },
+ {
+ "x": 147.743,
+ "y": 135.7639
+ },
+ {
+ "x": 147.743,
+ "y": 134.9652
+ },
+ {
+ "x": 149.3403,
+ "y": 133.368
+ },
+ {
+ "x": 150.1389,
+ "y": 132.5694
+ },
+ {
+ "x": 157.3264,
+ "y": 132.5694
+ },
+ {
+ "x": 158.125,
+ "y": 132.5694
+ },
+ {
+ "x": 158.9236,
+ "y": 133.368
+ },
+ {
+ "x": 158.9236,
+ "y": 134.1666
+ },
+ {
+ "x": 162.118,
+ "y": 134.1666
+ },
+ {
+ "x": 162.9166,
+ "y": 134.1666
+ },
+ {
+ "x": 162.9166,
+ "y": 133.368
+ },
+ {
+ "x": 166.9097,
+ "y": 129.375
+ },
+ {
+ "x": 167.7083,
+ "y": 128.5764
+ },
+ {
+ "x": 167.7083,
+ "y": 127.7777
+ },
+ {
+ "x": 168.5069,
+ "y": 126.9791
+ },
+ {
+ "x": 169.3055,
+ "y": 126.1805
+ },
+ {
+ "x": 169.3055,
+ "y": 121.3889
+ },
+ {
+ "x": 169.3055,
+ "y": 120.5902
+ },
+ {
+ "x": 167.7083,
+ "y": 118.993
+ },
+ {
+ "x": 167.7083,
+ "y": 118.1944
+ },
+ {
+ "x": 166.1111,
+ "y": 116.5972
+ },
+ {
+ "x": 165.3125,
+ "y": 115.7986
+ },
+ {
+ "x": 164.5139,
+ "y": 115.7986
+ },
+ {
+ "x": 163.7153,
+ "y": 115.0
+ },
+ {
+ "x": 162.118,
+ "y": 115.0
+ },
+ {
+ "x": 161.3194,
+ "y": 115.0
+ },
+ {
+ "x": 161.3194,
+ "y": 115.7986
+ },
+ {
+ "x": 159.7222,
+ "y": 117.3958
+ },
+ {
+ "x": 158.9236,
+ "y": 118.1944
+ },
+ {
+ "x": 153.3333,
+ "y": 118.1944
+ },
+ {
+ "x": 152.5347,
+ "y": 118.1944
+ },
+ {
+ "x": 151.7361,
+ "y": 117.3958
+ },
+ {
+ "x": 151.7361,
+ "y": 116.5972
+ },
+ {
+ "x": 150.9375,
+ "y": 116.5972
+ },
+ {
+ "x": 150.1389,
+ "y": 116.5972
+ },
+ {
+ "x": 149.3403,
+ "y": 115.7986
+ },
+ {
+ "x": 148.5416,
+ "y": 115.7986
+ },
+ {
+ "x": 147.743,
+ "y": 115.0
+ },
+ {
+ "x": 146.9444,
+ "y": 115.0
+ },
+ {
+ "x": 144.5486,
+ "y": 112.6041
+ },
+ {
+ "x": 143.75,
+ "y": 112.6041
+ },
+ {
+ "x": 140.5555,
+ "y": 109.4097
+ },
+ {
+ "x": 139.7569,
+ "y": 108.6111
+ },
+ {
+ "x": 138.9583,
+ "y": 108.6111
+ },
+ {
+ "x": 138.1597,
+ "y": 107.8125
+ },
+ {
+ "x": 137.3611,
+ "y": 107.8125
+ },
+ {
+ "x": 136.5625,
+ "y": 107.0139
+ },
+ {
+ "x": 136.5625,
+ "y": 106.2153
+ },
+ {
+ "x": 135.7639,
+ "y": 105.4166
+ },
+ {
+ "x": 135.7639,
+ "y": 104.618
+ }
+ ],
+ [
+ {
+ "x": 140.5555,
+ "y": 102.2222
+ },
+ {
+ "x": 140.5555,
+ "y": 103.0208
+ },
+ {
+ "x": 144.5486,
+ "y": 107.0139
+ },
+ {
+ "x": 144.5486,
+ "y": 107.8125
+ },
+ {
+ "x": 146.1458,
+ "y": 107.8125
+ },
+ {
+ "x": 146.9444,
+ "y": 107.0139
+ },
+ {
+ "x": 149.3403,
+ "y": 109.4097
+ },
+ {
+ "x": 150.1389,
+ "y": 110.2083
+ },
+ {
+ "x": 150.9375,
+ "y": 110.2083
+ },
+ {
+ "x": 151.7361,
+ "y": 111.0069
+ },
+ {
+ "x": 151.7361,
+ "y": 111.8055
+ },
+ {
+ "x": 157.3264,
+ "y": 111.8055
+ },
+ {
+ "x": 158.125,
+ "y": 111.0069
+ },
+ {
+ "x": 166.9097,
+ "y": 111.0069
+ },
+ {
+ "x": 167.7083,
+ "y": 111.0069
+ },
+ {
+ "x": 167.7083,
+ "y": 110.2083
+ },
+ {
+ "x": 166.9097,
+ "y": 109.4097
+ },
+ {
+ "x": 166.9097,
+ "y": 108.6111
+ },
+ {
+ "x": 165.3125,
+ "y": 107.0139
+ },
+ {
+ "x": 164.5139,
+ "y": 106.2153
+ },
+ {
+ "x": 163.7153,
+ "y": 106.2153
+ },
+ {
+ "x": 162.9166,
+ "y": 105.4166
+ },
+ {
+ "x": 162.118,
+ "y": 105.4166
+ },
+ {
+ "x": 161.3194,
+ "y": 105.4166
+ },
+ {
+ "x": 160.5208,
+ "y": 104.618
+ },
+ {
+ "x": 159.7222,
+ "y": 104.618
+ },
+ {
+ "x": 157.3264,
+ "y": 102.2222
+ },
+ {
+ "x": 156.5278,
+ "y": 101.4236
+ },
+ {
+ "x": 155.7291,
+ "y": 101.4236
+ },
+ {
+ "x": 154.9305,
+ "y": 100.625
+ },
+ {
+ "x": 154.1319,
+ "y": 100.625
+ },
+ {
+ "x": 153.3333,
+ "y": 99.8264
+ },
+ {
+ "x": 152.5347,
+ "y": 99.0278
+ },
+ {
+ "x": 152.5347,
+ "y": 98.2291
+ },
+ {
+ "x": 153.3333,
+ "y": 97.4305
+ },
+ {
+ "x": 154.1319,
+ "y": 97.4305
+ },
+ {
+ "x": 154.9305,
+ "y": 97.4305
+ },
+ {
+ "x": 154.9305,
+ "y": 96.6319
+ },
+ {
+ "x": 155.7291,
+ "y": 95.8333
+ },
+ {
+ "x": 155.7291,
+ "y": 95.0347
+ },
+ {
+ "x": 150.1389,
+ "y": 95.0347
+ },
+ {
+ "x": 149.3403,
+ "y": 95.0347
+ },
+ {
+ "x": 147.743,
+ "y": 96.6319
+ },
+ {
+ "x": 146.9444,
+ "y": 97.4305
+ },
+ {
+ "x": 146.1458,
+ "y": 97.4305
+ },
+ {
+ "x": 145.3472,
+ "y": 98.2291
+ },
+ {
+ "x": 144.5486,
+ "y": 98.2291
+ },
+ {
+ "x": 142.1528,
+ "y": 100.625
+ },
+ {
+ "x": 141.3541,
+ "y": 100.625
+ },
+ {
+ "x": 141.3541,
+ "y": 101.4236
+ },
+ {
+ "x": 140.5555,
+ "y": 102.2222
+ }
+ ]
+ ]
+ }
+ },
+ "7": {
+ "bounding_box": {
+ "h": 47.11800000000001,
+ "w": 31.9444,
+ "x": 135.7639,
+ "y": 95.0347
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 135.7639,
+ "y": 103.0208
+ },
+ {
+ "x": 135.7639,
+ "y": 111.8055
+ },
+ {
+ "x": 135.7639,
+ "y": 112.6041
+ },
+ {
+ "x": 136.5625,
+ "y": 113.4028
+ },
+ {
+ "x": 136.5625,
+ "y": 114.2014
+ },
+ {
+ "x": 136.5625,
+ "y": 115.0
+ },
+ {
+ "x": 138.1597,
+ "y": 116.5972
+ },
+ {
+ "x": 138.9583,
+ "y": 117.3958
+ },
+ {
+ "x": 138.9583,
+ "y": 118.1944
+ },
+ {
+ "x": 139.7569,
+ "y": 118.993
+ },
+ {
+ "x": 139.7569,
+ "y": 121.3889
+ },
+ {
+ "x": 139.7569,
+ "y": 122.1875
+ },
+ {
+ "x": 140.5555,
+ "y": 122.9861
+ },
+ {
+ "x": 140.5555,
+ "y": 125.3819
+ },
+ {
+ "x": 140.5555,
+ "y": 126.1805
+ },
+ {
+ "x": 141.3541,
+ "y": 126.9791
+ },
+ {
+ "x": 141.3541,
+ "y": 130.1736
+ },
+ {
+ "x": 141.3541,
+ "y": 130.9722
+ },
+ {
+ "x": 142.1528,
+ "y": 131.7708
+ },
+ {
+ "x": 142.1528,
+ "y": 133.368
+ },
+ {
+ "x": 142.9514,
+ "y": 134.1666
+ },
+ {
+ "x": 142.9514,
+ "y": 136.5625
+ },
+ {
+ "x": 142.9514,
+ "y": 137.3611
+ },
+ {
+ "x": 145.3472,
+ "y": 139.7569
+ },
+ {
+ "x": 146.1458,
+ "y": 140.5555
+ },
+ {
+ "x": 146.9444,
+ "y": 140.5555
+ },
+ {
+ "x": 147.743,
+ "y": 141.3541
+ },
+ {
+ "x": 149.3403,
+ "y": 141.3541
+ },
+ {
+ "x": 150.1389,
+ "y": 141.3541
+ },
+ {
+ "x": 150.9375,
+ "y": 142.1527
+ },
+ {
+ "x": 153.3333,
+ "y": 142.1527
+ },
+ {
+ "x": 154.1319,
+ "y": 142.1527
+ },
+ {
+ "x": 154.1319,
+ "y": 141.3541
+ },
+ {
+ "x": 154.9305,
+ "y": 140.5555
+ },
+ {
+ "x": 155.7291,
+ "y": 139.7569
+ },
+ {
+ "x": 158.125,
+ "y": 139.7569
+ },
+ {
+ "x": 158.9236,
+ "y": 139.7569
+ },
+ {
+ "x": 159.7222,
+ "y": 138.9583
+ },
+ {
+ "x": 160.5208,
+ "y": 138.9583
+ },
+ {
+ "x": 161.3194,
+ "y": 138.9583
+ },
+ {
+ "x": 164.5139,
+ "y": 135.7639
+ },
+ {
+ "x": 165.3125,
+ "y": 135.7639
+ },
+ {
+ "x": 166.1111,
+ "y": 134.9652
+ },
+ {
+ "x": 166.1111,
+ "y": 134.1666
+ },
+ {
+ "x": 166.1111,
+ "y": 133.368
+ },
+ {
+ "x": 166.9097,
+ "y": 132.5694
+ },
+ {
+ "x": 166.9097,
+ "y": 131.7708
+ },
+ {
+ "x": 167.7083,
+ "y": 130.9722
+ },
+ {
+ "x": 167.7083,
+ "y": 130.1736
+ },
+ {
+ "x": 166.9097,
+ "y": 129.375
+ },
+ {
+ "x": 163.7153,
+ "y": 129.375
+ },
+ {
+ "x": 162.9166,
+ "y": 129.375
+ },
+ {
+ "x": 161.3194,
+ "y": 130.9722
+ },
+ {
+ "x": 160.5208,
+ "y": 130.9722
+ },
+ {
+ "x": 154.1319,
+ "y": 137.3611
+ },
+ {
+ "x": 153.3333,
+ "y": 138.1597
+ },
+ {
+ "x": 152.5347,
+ "y": 138.1597
+ },
+ {
+ "x": 151.7361,
+ "y": 138.1597
+ },
+ {
+ "x": 150.9375,
+ "y": 137.3611
+ },
+ {
+ "x": 150.9375,
+ "y": 136.5625
+ },
+ {
+ "x": 150.1389,
+ "y": 135.7639
+ },
+ {
+ "x": 150.9375,
+ "y": 134.9652
+ },
+ {
+ "x": 150.9375,
+ "y": 133.368
+ },
+ {
+ "x": 150.9375,
+ "y": 132.5694
+ },
+ {
+ "x": 151.7361,
+ "y": 131.7708
+ },
+ {
+ "x": 152.5347,
+ "y": 130.9722
+ },
+ {
+ "x": 152.5347,
+ "y": 130.1736
+ },
+ {
+ "x": 152.5347,
+ "y": 129.375
+ },
+ {
+ "x": 153.3333,
+ "y": 128.5764
+ },
+ {
+ "x": 154.1319,
+ "y": 127.7777
+ },
+ {
+ "x": 154.9305,
+ "y": 127.7777
+ },
+ {
+ "x": 155.7291,
+ "y": 126.9791
+ },
+ {
+ "x": 158.125,
+ "y": 126.9791
+ },
+ {
+ "x": 158.9236,
+ "y": 126.9791
+ },
+ {
+ "x": 159.7222,
+ "y": 126.1805
+ },
+ {
+ "x": 160.5208,
+ "y": 125.3819
+ },
+ {
+ "x": 161.3194,
+ "y": 125.3819
+ },
+ {
+ "x": 162.118,
+ "y": 124.5833
+ },
+ {
+ "x": 162.9166,
+ "y": 124.5833
+ },
+ {
+ "x": 163.7153,
+ "y": 123.7847
+ },
+ {
+ "x": 164.5139,
+ "y": 123.7847
+ },
+ {
+ "x": 165.3125,
+ "y": 123.7847
+ },
+ {
+ "x": 166.1111,
+ "y": 122.9861
+ },
+ {
+ "x": 166.1111,
+ "y": 122.1875
+ },
+ {
+ "x": 166.9097,
+ "y": 121.3889
+ },
+ {
+ "x": 166.9097,
+ "y": 120.5902
+ },
+ {
+ "x": 166.1111,
+ "y": 119.7916
+ },
+ {
+ "x": 166.1111,
+ "y": 118.993
+ },
+ {
+ "x": 166.1111,
+ "y": 118.1944
+ },
+ {
+ "x": 165.3125,
+ "y": 117.3958
+ },
+ {
+ "x": 164.5139,
+ "y": 116.5972
+ },
+ {
+ "x": 155.7291,
+ "y": 116.5972
+ },
+ {
+ "x": 154.9305,
+ "y": 116.5972
+ },
+ {
+ "x": 154.1319,
+ "y": 115.7986
+ },
+ {
+ "x": 153.3333,
+ "y": 115.0
+ },
+ {
+ "x": 156.5278,
+ "y": 111.8055
+ },
+ {
+ "x": 157.3264,
+ "y": 111.0069
+ },
+ {
+ "x": 158.9236,
+ "y": 111.0069
+ },
+ {
+ "x": 159.7222,
+ "y": 111.0069
+ },
+ {
+ "x": 160.5208,
+ "y": 111.8055
+ },
+ {
+ "x": 160.5208,
+ "y": 112.6041
+ },
+ {
+ "x": 162.118,
+ "y": 112.6041
+ },
+ {
+ "x": 162.9166,
+ "y": 112.6041
+ },
+ {
+ "x": 162.9166,
+ "y": 111.8055
+ },
+ {
+ "x": 163.7153,
+ "y": 111.0069
+ },
+ {
+ "x": 164.5139,
+ "y": 111.0069
+ },
+ {
+ "x": 164.5139,
+ "y": 107.8125
+ },
+ {
+ "x": 164.5139,
+ "y": 107.0139
+ },
+ {
+ "x": 163.7153,
+ "y": 106.2153
+ },
+ {
+ "x": 163.7153,
+ "y": 105.4166
+ },
+ {
+ "x": 162.9166,
+ "y": 105.4166
+ },
+ {
+ "x": 162.118,
+ "y": 104.618
+ },
+ {
+ "x": 161.3194,
+ "y": 104.618
+ },
+ {
+ "x": 160.5208,
+ "y": 103.8194
+ },
+ {
+ "x": 159.7222,
+ "y": 103.8194
+ },
+ {
+ "x": 158.9236,
+ "y": 103.0208
+ },
+ {
+ "x": 150.9375,
+ "y": 103.0208
+ },
+ {
+ "x": 150.1389,
+ "y": 103.0208
+ },
+ {
+ "x": 149.3403,
+ "y": 102.2222
+ },
+ {
+ "x": 149.3403,
+ "y": 101.4236
+ },
+ {
+ "x": 149.3403,
+ "y": 100.625
+ },
+ {
+ "x": 150.1389,
+ "y": 99.8264
+ },
+ {
+ "x": 150.9375,
+ "y": 99.8264
+ },
+ {
+ "x": 151.7361,
+ "y": 99.0278
+ },
+ {
+ "x": 152.5347,
+ "y": 98.2291
+ },
+ {
+ "x": 152.5347,
+ "y": 97.4305
+ },
+ {
+ "x": 152.5347,
+ "y": 96.6319
+ },
+ {
+ "x": 153.3333,
+ "y": 95.8333
+ },
+ {
+ "x": 154.1319,
+ "y": 95.8333
+ },
+ {
+ "x": 153.3333,
+ "y": 95.0347
+ },
+ {
+ "x": 150.1389,
+ "y": 95.0347
+ },
+ {
+ "x": 149.3403,
+ "y": 95.0347
+ },
+ {
+ "x": 149.3403,
+ "y": 95.8333
+ },
+ {
+ "x": 148.5416,
+ "y": 96.6319
+ },
+ {
+ "x": 147.743,
+ "y": 96.6319
+ },
+ {
+ "x": 146.9444,
+ "y": 97.4305
+ },
+ {
+ "x": 146.1458,
+ "y": 97.4305
+ },
+ {
+ "x": 145.3472,
+ "y": 98.2291
+ },
+ {
+ "x": 144.5486,
+ "y": 98.2291
+ },
+ {
+ "x": 143.75,
+ "y": 99.0278
+ },
+ {
+ "x": 142.9514,
+ "y": 99.0278
+ },
+ {
+ "x": 142.1528,
+ "y": 99.0278
+ },
+ {
+ "x": 141.3541,
+ "y": 99.8264
+ },
+ {
+ "x": 140.5555,
+ "y": 99.8264
+ },
+ {
+ "x": 139.7569,
+ "y": 100.625
+ },
+ {
+ "x": 138.9583,
+ "y": 100.625
+ },
+ {
+ "x": 138.1597,
+ "y": 101.4236
+ },
+ {
+ "x": 137.3611,
+ "y": 101.4236
+ },
+ {
+ "x": 135.7639,
+ "y": 103.0208
+ }
+ ]
+ ]
+ }
+ },
+ "8": {
+ "bounding_box": {
+ "h": 46.319400000000016,
+ "w": 33.54159999999999,
+ "x": 136.5625,
+ "y": 95.8333
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 136.5625,
+ "y": 102.2222
+ },
+ {
+ "x": 136.5625,
+ "y": 107.8125
+ },
+ {
+ "x": 136.5625,
+ "y": 108.6111
+ },
+ {
+ "x": 137.3611,
+ "y": 109.4097
+ },
+ {
+ "x": 137.3611,
+ "y": 114.2014
+ },
+ {
+ "x": 137.3611,
+ "y": 115.0
+ },
+ {
+ "x": 138.1597,
+ "y": 115.7986
+ },
+ {
+ "x": 138.1597,
+ "y": 116.5972
+ },
+ {
+ "x": 138.1597,
+ "y": 117.3958
+ },
+ {
+ "x": 138.9583,
+ "y": 118.1944
+ },
+ {
+ "x": 138.9583,
+ "y": 118.993
+ },
+ {
+ "x": 139.7569,
+ "y": 119.7916
+ },
+ {
+ "x": 139.7569,
+ "y": 120.5902
+ },
+ {
+ "x": 140.5555,
+ "y": 121.3889
+ },
+ {
+ "x": 140.5555,
+ "y": 125.3819
+ },
+ {
+ "x": 140.5555,
+ "y": 126.1805
+ },
+ {
+ "x": 141.3541,
+ "y": 126.9791
+ },
+ {
+ "x": 141.3541,
+ "y": 129.375
+ },
+ {
+ "x": 141.3541,
+ "y": 130.1736
+ },
+ {
+ "x": 142.1528,
+ "y": 130.9722
+ },
+ {
+ "x": 142.1528,
+ "y": 131.7708
+ },
+ {
+ "x": 144.5486,
+ "y": 134.1666
+ },
+ {
+ "x": 145.3472,
+ "y": 134.9652
+ },
+ {
+ "x": 145.3472,
+ "y": 135.7639
+ },
+ {
+ "x": 146.1458,
+ "y": 136.5625
+ },
+ {
+ "x": 146.1458,
+ "y": 138.1597
+ },
+ {
+ "x": 146.1458,
+ "y": 138.9583
+ },
+ {
+ "x": 148.5416,
+ "y": 141.3541
+ },
+ {
+ "x": 149.3403,
+ "y": 142.1527
+ },
+ {
+ "x": 154.1319,
+ "y": 142.1527
+ },
+ {
+ "x": 154.9305,
+ "y": 142.1527
+ },
+ {
+ "x": 154.9305,
+ "y": 141.3541
+ },
+ {
+ "x": 155.7291,
+ "y": 140.5555
+ },
+ {
+ "x": 156.5278,
+ "y": 140.5555
+ },
+ {
+ "x": 157.3264,
+ "y": 140.5555
+ },
+ {
+ "x": 158.125,
+ "y": 139.7569
+ },
+ {
+ "x": 158.9236,
+ "y": 139.7569
+ },
+ {
+ "x": 159.7222,
+ "y": 138.9583
+ },
+ {
+ "x": 159.7222,
+ "y": 138.1597
+ },
+ {
+ "x": 160.5208,
+ "y": 137.3611
+ },
+ {
+ "x": 160.5208,
+ "y": 136.5625
+ },
+ {
+ "x": 161.3194,
+ "y": 135.7639
+ },
+ {
+ "x": 162.118,
+ "y": 135.7639
+ },
+ {
+ "x": 162.9166,
+ "y": 134.9652
+ },
+ {
+ "x": 163.7153,
+ "y": 134.9652
+ },
+ {
+ "x": 164.5139,
+ "y": 134.9652
+ },
+ {
+ "x": 165.3125,
+ "y": 134.1666
+ },
+ {
+ "x": 166.1111,
+ "y": 133.368
+ },
+ {
+ "x": 166.1111,
+ "y": 132.5694
+ },
+ {
+ "x": 166.9097,
+ "y": 131.7708
+ },
+ {
+ "x": 166.9097,
+ "y": 130.9722
+ },
+ {
+ "x": 168.5069,
+ "y": 129.375
+ },
+ {
+ "x": 169.3055,
+ "y": 129.375
+ },
+ {
+ "x": 168.5069,
+ "y": 128.5764
+ },
+ {
+ "x": 164.5139,
+ "y": 128.5764
+ },
+ {
+ "x": 163.7153,
+ "y": 128.5764
+ },
+ {
+ "x": 163.7153,
+ "y": 129.375
+ },
+ {
+ "x": 162.118,
+ "y": 130.9722
+ },
+ {
+ "x": 161.3194,
+ "y": 131.7708
+ },
+ {
+ "x": 160.5208,
+ "y": 131.7708
+ },
+ {
+ "x": 159.7222,
+ "y": 132.5694
+ },
+ {
+ "x": 158.9236,
+ "y": 132.5694
+ },
+ {
+ "x": 158.125,
+ "y": 132.5694
+ },
+ {
+ "x": 157.3264,
+ "y": 131.7708
+ },
+ {
+ "x": 157.3264,
+ "y": 130.9722
+ },
+ {
+ "x": 156.5278,
+ "y": 130.9722
+ },
+ {
+ "x": 154.9305,
+ "y": 129.375
+ },
+ {
+ "x": 154.1319,
+ "y": 128.5764
+ },
+ {
+ "x": 154.1319,
+ "y": 127.7777
+ },
+ {
+ "x": 154.1319,
+ "y": 126.9791
+ },
+ {
+ "x": 155.7291,
+ "y": 125.3819
+ },
+ {
+ "x": 156.5278,
+ "y": 124.5833
+ },
+ {
+ "x": 159.7222,
+ "y": 124.5833
+ },
+ {
+ "x": 160.5208,
+ "y": 123.7847
+ },
+ {
+ "x": 166.1111,
+ "y": 123.7847
+ },
+ {
+ "x": 166.9097,
+ "y": 122.9861
+ },
+ {
+ "x": 166.9097,
+ "y": 122.1875
+ },
+ {
+ "x": 166.9097,
+ "y": 121.3889
+ },
+ {
+ "x": 166.1111,
+ "y": 120.5902
+ },
+ {
+ "x": 166.1111,
+ "y": 119.7916
+ },
+ {
+ "x": 166.9097,
+ "y": 118.993
+ },
+ {
+ "x": 166.9097,
+ "y": 118.1944
+ },
+ {
+ "x": 166.9097,
+ "y": 117.3958
+ },
+ {
+ "x": 167.7083,
+ "y": 116.5972
+ },
+ {
+ "x": 167.7083,
+ "y": 115.7986
+ },
+ {
+ "x": 168.5069,
+ "y": 115.0
+ },
+ {
+ "x": 168.5069,
+ "y": 114.2014
+ },
+ {
+ "x": 169.3055,
+ "y": 113.4028
+ },
+ {
+ "x": 170.1041,
+ "y": 112.6041
+ },
+ {
+ "x": 170.1041,
+ "y": 105.4166
+ },
+ {
+ "x": 170.1041,
+ "y": 104.618
+ },
+ {
+ "x": 169.3055,
+ "y": 103.8194
+ },
+ {
+ "x": 169.3055,
+ "y": 102.2222
+ },
+ {
+ "x": 169.3055,
+ "y": 101.4236
+ },
+ {
+ "x": 166.9097,
+ "y": 99.0278
+ },
+ {
+ "x": 166.9097,
+ "y": 98.2291
+ },
+ {
+ "x": 161.3194,
+ "y": 98.2291
+ },
+ {
+ "x": 160.5208,
+ "y": 98.2291
+ },
+ {
+ "x": 160.5208,
+ "y": 99.0278
+ },
+ {
+ "x": 159.7222,
+ "y": 99.8264
+ },
+ {
+ "x": 158.9236,
+ "y": 99.8264
+ },
+ {
+ "x": 158.9236,
+ "y": 101.4236
+ },
+ {
+ "x": 158.9236,
+ "y": 102.2222
+ },
+ {
+ "x": 158.125,
+ "y": 103.0208
+ },
+ {
+ "x": 157.3264,
+ "y": 103.8194
+ },
+ {
+ "x": 157.3264,
+ "y": 104.618
+ },
+ {
+ "x": 156.5278,
+ "y": 105.4166
+ },
+ {
+ "x": 155.7291,
+ "y": 106.2153
+ },
+ {
+ "x": 151.7361,
+ "y": 106.2153
+ },
+ {
+ "x": 150.9375,
+ "y": 106.2153
+ },
+ {
+ "x": 150.1389,
+ "y": 105.4166
+ },
+ {
+ "x": 150.1389,
+ "y": 104.618
+ },
+ {
+ "x": 150.1389,
+ "y": 103.8194
+ },
+ {
+ "x": 149.3403,
+ "y": 103.0208
+ },
+ {
+ "x": 149.3403,
+ "y": 102.2222
+ },
+ {
+ "x": 150.1389,
+ "y": 101.4236
+ },
+ {
+ "x": 150.1389,
+ "y": 100.625
+ },
+ {
+ "x": 150.1389,
+ "y": 99.8264
+ },
+ {
+ "x": 150.9375,
+ "y": 99.0278
+ },
+ {
+ "x": 151.7361,
+ "y": 98.2291
+ },
+ {
+ "x": 151.7361,
+ "y": 97.4305
+ },
+ {
+ "x": 151.7361,
+ "y": 96.6319
+ },
+ {
+ "x": 150.9375,
+ "y": 95.8333
+ },
+ {
+ "x": 142.9514,
+ "y": 95.8333
+ },
+ {
+ "x": 142.1528,
+ "y": 95.8333
+ },
+ {
+ "x": 141.3541,
+ "y": 96.6319
+ },
+ {
+ "x": 140.5555,
+ "y": 97.4305
+ },
+ {
+ "x": 138.9583,
+ "y": 97.4305
+ },
+ {
+ "x": 138.1597,
+ "y": 98.2291
+ },
+ {
+ "x": 138.1597,
+ "y": 99.0278
+ },
+ {
+ "x": 137.3611,
+ "y": 99.8264
+ },
+ {
+ "x": 137.3611,
+ "y": 100.625
+ },
+ {
+ "x": 137.3611,
+ "y": 101.4236
+ },
+ {
+ "x": 136.5625,
+ "y": 102.2222
+ }
+ ]
+ ]
+ }
+ },
+ "9": {
+ "bounding_box": {
+ "h": 49.51390000000001,
+ "w": 34.34030000000001,
+ "x": 136.5625,
+ "y": 93.4375
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 136.5625,
+ "y": 102.2222
+ },
+ {
+ "x": 136.5625,
+ "y": 114.2014
+ },
+ {
+ "x": 136.5625,
+ "y": 115.0
+ },
+ {
+ "x": 137.3611,
+ "y": 115.7986
+ },
+ {
+ "x": 137.3611,
+ "y": 118.1944
+ },
+ {
+ "x": 137.3611,
+ "y": 118.993
+ },
+ {
+ "x": 138.1597,
+ "y": 119.7916
+ },
+ {
+ "x": 138.1597,
+ "y": 122.9861
+ },
+ {
+ "x": 138.9583,
+ "y": 123.7847
+ },
+ {
+ "x": 138.1597,
+ "y": 124.5833
+ },
+ {
+ "x": 138.1597,
+ "y": 126.1805
+ },
+ {
+ "x": 138.1597,
+ "y": 126.9791
+ },
+ {
+ "x": 142.1528,
+ "y": 130.9722
+ },
+ {
+ "x": 142.9514,
+ "y": 131.7708
+ },
+ {
+ "x": 142.9514,
+ "y": 132.5694
+ },
+ {
+ "x": 142.9514,
+ "y": 133.368
+ },
+ {
+ "x": 143.75,
+ "y": 134.1666
+ },
+ {
+ "x": 143.75,
+ "y": 134.9652
+ },
+ {
+ "x": 144.5486,
+ "y": 135.7639
+ },
+ {
+ "x": 144.5486,
+ "y": 136.5625
+ },
+ {
+ "x": 144.5486,
+ "y": 137.3611
+ },
+ {
+ "x": 145.3472,
+ "y": 138.1597
+ },
+ {
+ "x": 145.3472,
+ "y": 138.9583
+ },
+ {
+ "x": 146.1458,
+ "y": 139.7569
+ },
+ {
+ "x": 146.9444,
+ "y": 139.7569
+ },
+ {
+ "x": 147.743,
+ "y": 140.5555
+ },
+ {
+ "x": 148.5416,
+ "y": 141.3541
+ },
+ {
+ "x": 149.3403,
+ "y": 141.3541
+ },
+ {
+ "x": 150.1389,
+ "y": 142.1527
+ },
+ {
+ "x": 150.9375,
+ "y": 142.9514
+ },
+ {
+ "x": 160.5208,
+ "y": 142.9514
+ },
+ {
+ "x": 161.3194,
+ "y": 142.9514
+ },
+ {
+ "x": 162.118,
+ "y": 142.1527
+ },
+ {
+ "x": 162.9166,
+ "y": 141.3541
+ },
+ {
+ "x": 163.7153,
+ "y": 141.3541
+ },
+ {
+ "x": 164.5139,
+ "y": 140.5555
+ },
+ {
+ "x": 165.3125,
+ "y": 140.5555
+ },
+ {
+ "x": 166.1111,
+ "y": 140.5555
+ },
+ {
+ "x": 166.9097,
+ "y": 139.7569
+ },
+ {
+ "x": 166.9097,
+ "y": 138.9583
+ },
+ {
+ "x": 167.7083,
+ "y": 138.1597
+ },
+ {
+ "x": 168.5069,
+ "y": 137.3611
+ },
+ {
+ "x": 169.3055,
+ "y": 137.3611
+ },
+ {
+ "x": 170.1041,
+ "y": 137.3611
+ },
+ {
+ "x": 170.1041,
+ "y": 135.7639
+ },
+ {
+ "x": 170.9028,
+ "y": 134.9652
+ },
+ {
+ "x": 170.9028,
+ "y": 130.1736
+ },
+ {
+ "x": 170.9028,
+ "y": 129.375
+ },
+ {
+ "x": 170.1041,
+ "y": 128.5764
+ },
+ {
+ "x": 170.1041,
+ "y": 125.3819
+ },
+ {
+ "x": 169.3055,
+ "y": 124.5833
+ },
+ {
+ "x": 168.5069,
+ "y": 124.5833
+ },
+ {
+ "x": 167.7083,
+ "y": 124.5833
+ },
+ {
+ "x": 165.3125,
+ "y": 126.9791
+ },
+ {
+ "x": 164.5139,
+ "y": 127.7777
+ },
+ {
+ "x": 163.7153,
+ "y": 127.7777
+ },
+ {
+ "x": 162.9166,
+ "y": 128.5764
+ },
+ {
+ "x": 160.5208,
+ "y": 128.5764
+ },
+ {
+ "x": 159.7222,
+ "y": 128.5764
+ },
+ {
+ "x": 158.9236,
+ "y": 127.7777
+ },
+ {
+ "x": 158.9236,
+ "y": 126.9791
+ },
+ {
+ "x": 158.125,
+ "y": 126.9791
+ },
+ {
+ "x": 157.3264,
+ "y": 126.1805
+ },
+ {
+ "x": 157.3264,
+ "y": 125.3819
+ },
+ {
+ "x": 156.5278,
+ "y": 124.5833
+ },
+ {
+ "x": 157.3264,
+ "y": 123.7847
+ },
+ {
+ "x": 157.3264,
+ "y": 121.3889
+ },
+ {
+ "x": 157.3264,
+ "y": 120.5902
+ },
+ {
+ "x": 158.125,
+ "y": 119.7916
+ },
+ {
+ "x": 158.9236,
+ "y": 118.993
+ },
+ {
+ "x": 159.7222,
+ "y": 119.7916
+ },
+ {
+ "x": 162.118,
+ "y": 119.7916
+ },
+ {
+ "x": 162.9166,
+ "y": 119.7916
+ },
+ {
+ "x": 162.9166,
+ "y": 118.993
+ },
+ {
+ "x": 163.7153,
+ "y": 118.1944
+ },
+ {
+ "x": 164.5139,
+ "y": 118.1944
+ },
+ {
+ "x": 165.3125,
+ "y": 118.1944
+ },
+ {
+ "x": 166.1111,
+ "y": 117.3958
+ },
+ {
+ "x": 166.9097,
+ "y": 117.3958
+ },
+ {
+ "x": 167.7083,
+ "y": 117.3958
+ },
+ {
+ "x": 170.1041,
+ "y": 115.0
+ },
+ {
+ "x": 170.9028,
+ "y": 114.2014
+ },
+ {
+ "x": 170.9028,
+ "y": 113.4028
+ },
+ {
+ "x": 170.9028,
+ "y": 112.6041
+ },
+ {
+ "x": 170.1041,
+ "y": 111.8055
+ },
+ {
+ "x": 169.3055,
+ "y": 111.8055
+ },
+ {
+ "x": 168.5069,
+ "y": 112.6041
+ },
+ {
+ "x": 167.7083,
+ "y": 113.4028
+ },
+ {
+ "x": 166.9097,
+ "y": 113.4028
+ },
+ {
+ "x": 165.3125,
+ "y": 115.0
+ },
+ {
+ "x": 164.5139,
+ "y": 115.7986
+ },
+ {
+ "x": 163.7153,
+ "y": 115.7986
+ },
+ {
+ "x": 162.9166,
+ "y": 115.0
+ },
+ {
+ "x": 162.9166,
+ "y": 114.2014
+ },
+ {
+ "x": 162.9166,
+ "y": 113.4028
+ },
+ {
+ "x": 163.7153,
+ "y": 112.6041
+ },
+ {
+ "x": 164.5139,
+ "y": 111.8055
+ },
+ {
+ "x": 164.5139,
+ "y": 111.0069
+ },
+ {
+ "x": 165.3125,
+ "y": 110.2083
+ },
+ {
+ "x": 165.3125,
+ "y": 108.6111
+ },
+ {
+ "x": 166.1111,
+ "y": 107.8125
+ },
+ {
+ "x": 166.1111,
+ "y": 107.0139
+ },
+ {
+ "x": 164.5139,
+ "y": 105.4166
+ },
+ {
+ "x": 164.5139,
+ "y": 104.618
+ },
+ {
+ "x": 165.3125,
+ "y": 103.8194
+ },
+ {
+ "x": 166.1111,
+ "y": 103.8194
+ },
+ {
+ "x": 166.9097,
+ "y": 103.8194
+ },
+ {
+ "x": 167.7083,
+ "y": 103.0208
+ },
+ {
+ "x": 168.5069,
+ "y": 103.0208
+ },
+ {
+ "x": 169.3055,
+ "y": 102.2222
+ },
+ {
+ "x": 170.1041,
+ "y": 102.2222
+ },
+ {
+ "x": 170.1041,
+ "y": 99.8264
+ },
+ {
+ "x": 170.1041,
+ "y": 99.0278
+ },
+ {
+ "x": 168.5069,
+ "y": 99.0278
+ },
+ {
+ "x": 167.7083,
+ "y": 98.2291
+ },
+ {
+ "x": 165.3125,
+ "y": 98.2291
+ },
+ {
+ "x": 164.5139,
+ "y": 98.2291
+ },
+ {
+ "x": 164.5139,
+ "y": 99.0278
+ },
+ {
+ "x": 163.7153,
+ "y": 99.8264
+ },
+ {
+ "x": 162.9166,
+ "y": 100.625
+ },
+ {
+ "x": 162.9166,
+ "y": 101.4236
+ },
+ {
+ "x": 162.118,
+ "y": 102.2222
+ },
+ {
+ "x": 162.118,
+ "y": 103.0208
+ },
+ {
+ "x": 161.3194,
+ "y": 103.8194
+ },
+ {
+ "x": 161.3194,
+ "y": 104.618
+ },
+ {
+ "x": 160.5208,
+ "y": 105.4166
+ },
+ {
+ "x": 159.7222,
+ "y": 106.2153
+ },
+ {
+ "x": 158.125,
+ "y": 106.2153
+ },
+ {
+ "x": 157.3264,
+ "y": 106.2153
+ },
+ {
+ "x": 156.5278,
+ "y": 107.0139
+ },
+ {
+ "x": 155.7291,
+ "y": 107.0139
+ },
+ {
+ "x": 154.9305,
+ "y": 107.8125
+ },
+ {
+ "x": 154.1319,
+ "y": 107.0139
+ },
+ {
+ "x": 154.1319,
+ "y": 106.2153
+ },
+ {
+ "x": 152.5347,
+ "y": 106.2153
+ },
+ {
+ "x": 151.7361,
+ "y": 106.2153
+ },
+ {
+ "x": 150.9375,
+ "y": 105.4166
+ },
+ {
+ "x": 150.1389,
+ "y": 104.618
+ },
+ {
+ "x": 150.1389,
+ "y": 103.8194
+ },
+ {
+ "x": 150.1389,
+ "y": 103.0208
+ },
+ {
+ "x": 150.9375,
+ "y": 102.2222
+ },
+ {
+ "x": 150.9375,
+ "y": 101.4236
+ },
+ {
+ "x": 153.3333,
+ "y": 99.0278
+ },
+ {
+ "x": 154.1319,
+ "y": 98.2291
+ },
+ {
+ "x": 154.1319,
+ "y": 95.8333
+ },
+ {
+ "x": 154.1319,
+ "y": 95.0347
+ },
+ {
+ "x": 153.3333,
+ "y": 94.2361
+ },
+ {
+ "x": 152.5347,
+ "y": 93.4375
+ },
+ {
+ "x": 146.1458,
+ "y": 93.4375
+ },
+ {
+ "x": 145.3472,
+ "y": 93.4375
+ },
+ {
+ "x": 145.3472,
+ "y": 94.2361
+ },
+ {
+ "x": 144.5486,
+ "y": 95.0347
+ },
+ {
+ "x": 143.75,
+ "y": 95.0347
+ },
+ {
+ "x": 142.9514,
+ "y": 95.0347
+ },
+ {
+ "x": 140.5555,
+ "y": 97.4305
+ },
+ {
+ "x": 139.7569,
+ "y": 97.4305
+ },
+ {
+ "x": 138.1597,
+ "y": 99.0278
+ },
+ {
+ "x": 137.3611,
+ "y": 99.8264
+ },
+ {
+ "x": 137.3611,
+ "y": 100.625
+ },
+ {
+ "x": 137.3611,
+ "y": 101.4236
+ },
+ {
+ "x": 136.5625,
+ "y": 102.2222
+ }
+ ]
+ ]
+ }
+ },
+ "10": {
+ "bounding_box": {
+ "h": 47.9166,
+ "w": 40.72920000000002,
+ "x": 134.1666,
+ "y": 91.8403
+ },
+ "keyframe": true,
+ "polygon": {
+ "paths": [
+ [
+ {
+ "x": 134.1666,
+ "y": 116.5972
+ },
+ {
+ "x": 134.1666,
+ "y": 118.1944
+ },
+ {
+ "x": 134.9653,
+ "y": 118.993
+ },
+ {
+ "x": 134.9653,
+ "y": 121.3889
+ },
+ {
+ "x": 134.9653,
+ "y": 122.1875
+ },
+ {
+ "x": 135.7639,
+ "y": 122.9861
+ },
+ {
+ "x": 135.7639,
+ "y": 124.5833
+ },
+ {
+ "x": 135.7639,
+ "y": 125.3819
+ },
+ {
+ "x": 136.5625,
+ "y": 126.1805
+ },
+ {
+ "x": 136.5625,
+ "y": 126.9791
+ },
+ {
+ "x": 136.5625,
+ "y": 127.7777
+ },
+ {
+ "x": 137.3611,
+ "y": 128.5764
+ },
+ {
+ "x": 137.3611,
+ "y": 129.375
+ },
+ {
+ "x": 138.9583,
+ "y": 130.9722
+ },
+ {
+ "x": 139.7569,
+ "y": 131.7708
+ },
+ {
+ "x": 139.7569,
+ "y": 132.5694
+ },
+ {
+ "x": 140.5555,
+ "y": 133.368
+ },
+ {
+ "x": 140.5555,
+ "y": 134.1666
+ },
+ {
+ "x": 141.3541,
+ "y": 134.9652
+ },
+ {
+ "x": 142.1528,
+ "y": 134.9652
+ },
+ {
+ "x": 142.9514,
+ "y": 134.9652
+ },
+ {
+ "x": 142.9514,
+ "y": 134.1666
+ },
+ {
+ "x": 144.5486,
+ "y": 132.5694
+ },
+ {
+ "x": 145.3472,
+ "y": 131.7708
+ },
+ {
+ "x": 146.1458,
+ "y": 131.7708
+ },
+ {
+ "x": 146.9444,
+ "y": 130.9722
+ },
+ {
+ "x": 146.9444,
+ "y": 130.1736
+ },
+ {
+ "x": 146.9444,
+ "y": 129.375
+ },
+ {
+ "x": 147.743,
+ "y": 128.5764
+ },
+ {
+ "x": 148.5416,
+ "y": 127.7777
+ },
+ {
+ "x": 147.743,
+ "y": 126.9791
+ },
+ {
+ "x": 146.9444,
+ "y": 126.1805
+ },
+ {
+ "x": 146.1458,
+ "y": 126.1805
+ },
+ {
+ "x": 145.3472,
+ "y": 125.3819
+ },
+ {
+ "x": 144.5486,
+ "y": 124.5833
+ },
+ {
+ "x": 144.5486,
+ "y": 123.7847
+ },
+ {
+ "x": 142.9514,
+ "y": 122.1875
+ },
+ {
+ "x": 142.1528,
+ "y": 121.3889
+ },
+ {
+ "x": 142.1528,
+ "y": 120.5902
+ },
+ {
+ "x": 142.1528,
+ "y": 119.7916
+ },
+ {
+ "x": 141.3541,
+ "y": 118.993
+ },
+ {
+ "x": 141.3541,
+ "y": 118.1944
+ },
+ {
+ "x": 142.1528,
+ "y": 117.3958
+ },
+ {
+ "x": 142.9514,
+ "y": 116.5972
+ },
+ {
+ "x": 143.75,
+ "y": 117.3958
+ },
+ {
+ "x": 144.5486,
+ "y": 118.1944
+ },
+ {
+ "x": 144.5486,
+ "y": 118.993
+ },
+ {
+ "x": 145.3472,
+ "y": 119.7916
+ },
+ {
+ "x": 145.3472,
+ "y": 120.5902
+ },
+ {
+ "x": 150.1389,
+ "y": 125.3819
+ },
+ {
+ "x": 150.9375,
+ "y": 126.1805
+ },
+ {
+ "x": 150.9375,
+ "y": 126.9791
+ },
+ {
+ "x": 151.7361,
+ "y": 127.7777
+ },
+ {
+ "x": 151.7361,
+ "y": 128.5764
+ },
+ {
+ "x": 150.9375,
+ "y": 129.375
+ },
+ {
+ "x": 150.9375,
+ "y": 130.1736
+ },
+ {
+ "x": 150.1389,
+ "y": 130.9722
+ },
+ {
+ "x": 150.1389,
+ "y": 132.5694
+ },
+ {
+ "x": 150.1389,
+ "y": 133.368
+ },
+ {
+ "x": 150.9375,
+ "y": 134.1666
+ },
+ {
+ "x": 150.9375,
+ "y": 135.7639
+ },
+ {
+ "x": 150.9375,
+ "y": 136.5625
+ },
+ {
+ "x": 148.5416,
+ "y": 138.9583
+ },
+ {
+ "x": 147.743,
+ "y": 139.7569
+ },
+ {
+ "x": 148.5416,
+ "y": 139.7569
+ },
+ {
+ "x": 148.5416,
+ "y": 138.9583
+ },
+ {
+ "x": 149.3403,
+ "y": 138.1597
+ },
+ {
+ "x": 150.1389,
+ "y": 138.9583
+ },
+ {
+ "x": 150.1389,
+ "y": 139.7569
+ },
+ {
+ "x": 151.7361,
+ "y": 139.7569
+ },
+ {
+ "x": 152.5347,
+ "y": 139.7569
+ },
+ {
+ "x": 153.3333,
+ "y": 138.9583
+ },
+ {
+ "x": 154.1319,
+ "y": 138.1597
+ },
+ {
+ "x": 162.118,
+ "y": 138.1597
+ },
+ {
+ "x": 162.9166,
+ "y": 138.1597
+ },
+ {
+ "x": 163.7153,
+ "y": 137.3611
+ },
+ {
+ "x": 165.3125,
+ "y": 137.3611
+ },
+ {
+ "x": 166.1111,
+ "y": 137.3611
+ },
+ {
+ "x": 166.9097,
+ "y": 136.5625
+ },
+ {
+ "x": 167.7083,
+ "y": 136.5625
+ },
+ {
+ "x": 168.5069,
+ "y": 136.5625
+ },
+ {
+ "x": 169.3055,
+ "y": 135.7639
+ },
+ {
+ "x": 170.1041,
+ "y": 135.7639
+ },
+ {
+ "x": 171.7014,
+ "y": 134.1666
+ },
+ {
+ "x": 172.5,
+ "y": 133.368
+ },
+ {
+ "x": 172.5,
+ "y": 132.5694
+ },
+ {
+ "x": 172.5,
+ "y": 131.7708
+ },
+ {
+ "x": 173.2986,
+ "y": 130.9722
+ },
+ {
+ "x": 174.0972,
+ "y": 130.1736
+ },
+ {
+ "x": 174.0972,
+ "y": 126.9791
+ },
+ {
+ "x": 174.0972,
+ "y": 126.1805
+ },
+ {
+ "x": 174.8958,
+ "y": 125.3819
+ },
+ {
+ "x": 174.8958,
+ "y": 124.5833
+ },
+ {
+ "x": 166.9097,
+ "y": 124.5833
+ },
+ {
+ "x": 166.1111,
+ "y": 124.5833
+ },
+ {
+ "x": 165.3125,
+ "y": 123.7847
+ },
+ {
+ "x": 164.5139,
+ "y": 123.7847
+ },
+ {
+ "x": 162.118,
+ "y": 121.3889
+ },
+ {
+ "x": 161.3194,
+ "y": 120.5902
+ },
+ {
+ "x": 161.3194,
+ "y": 119.7916
+ },
+ {
+ "x": 161.3194,
+ "y": 118.993
+ },
+ {
+ "x": 162.118,
+ "y": 118.1944
+ },
+ {
+ "x": 162.118,
+ "y": 117.3958
+ },
+ {
+ "x": 162.9166,
+ "y": 116.5972
+ },
+ {
+ "x": 162.9166,
+ "y": 115.7986
+ },
+ {
+ "x": 164.5139,
+ "y": 114.2014
+ },
+ {
+ "x": 165.3125,
+ "y": 113.4028
+ },
+ {
+ "x": 166.1111,
+ "y": 113.4028
+ },
+ {
+ "x": 168.5069,
+ "y": 111.0069
+ },
+ {
+ "x": 169.3055,
+ "y": 110.2083
+ },
+ {
+ "x": 169.3055,
+ "y": 107.8125
+ },
+ {
+ "x": 170.1041,
+ "y": 107.0139
+ },
+ {
+ "x": 169.3055,
+ "y": 106.2153
+ },
+ {
+ "x": 169.3055,
+ "y": 105.4166
+ },
+ {
+ "x": 169.3055,
+ "y": 104.618
+ },
+ {
+ "x": 168.5069,
+ "y": 103.8194
+ },
+ {
+ "x": 168.5069,
+ "y": 103.0208
+ },
+ {
+ "x": 167.7083,
+ "y": 102.2222
+ },
+ {
+ "x": 167.7083,
+ "y": 101.4236
+ },
+ {
+ "x": 166.1111,
+ "y": 99.8264
+ },
+ {
+ "x": 165.3125,
+ "y": 99.0278
+ },
+ {
+ "x": 164.5139,
+ "y": 99.0278
+ },
+ {
+ "x": 163.7153,
+ "y": 99.0278
+ },
+ {
+ "x": 163.7153,
+ "y": 99.8264
+ },
+ {
+ "x": 162.9166,
+ "y": 100.625
+ },
+ {
+ "x": 162.118,
+ "y": 100.625
+ },
+ {
+ "x": 161.3194,
+ "y": 101.4236
+ },
+ {
+ "x": 160.5208,
+ "y": 102.2222
+ },
+ {
+ "x": 160.5208,
+ "y": 103.0208
+ },
+ {
+ "x": 159.7222,
+ "y": 103.8194
+ },
+ {
+ "x": 158.9236,
+ "y": 104.618
+ },
+ {
+ "x": 157.3264,
+ "y": 104.618
+ },
+ {
+ "x": 156.5278,
+ "y": 104.618
+ },
+ {
+ "x": 155.7291,
+ "y": 103.8194
+ },
+ {
+ "x": 155.7291,
+ "y": 103.0208
+ },
+ {
+ "x": 156.5278,
+ "y": 102.2222
+ },
+ {
+ "x": 157.3264,
+ "y": 101.4236
+ },
+ {
+ "x": 157.3264,
+ "y": 100.625
+ },
+ {
+ "x": 158.125,
+ "y": 99.8264
+ },
+ {
+ "x": 158.125,
+ "y": 99.0278
+ },
+ {
+ "x": 158.125,
+ "y": 98.2291
+ },
+ {
+ "x": 157.3264,
+ "y": 98.2291
+ },
+ {
+ "x": 156.5278,
+ "y": 98.2291
+ },
+ {
+ "x": 156.5278,
+ "y": 99.0278
+ },
+ {
+ "x": 156.5278,
+ "y": 99.8264
+ },
+ {
+ "x": 155.7291,
+ "y": 100.625
+ },
+ {
+ "x": 154.9305,
+ "y": 100.625
+ },
+ {
+ "x": 154.1319,
+ "y": 101.4236
+ },
+ {
+ "x": 153.3333,
+ "y": 102.2222
+ },
+ {
+ "x": 152.5347,
+ "y": 102.2222
+ },
+ {
+ "x": 151.7361,
+ "y": 101.4236
+ },
+ {
+ "x": 151.7361,
+ "y": 99.0278
+ },
+ {
+ "x": 151.7361,
+ "y": 98.2291
+ },
+ {
+ "x": 152.5347,
+ "y": 97.4305
+ },
+ {
+ "x": 153.3333,
+ "y": 97.4305
+ },
+ {
+ "x": 153.3333,
+ "y": 96.6319
+ },
+ {
+ "x": 154.1319,
+ "y": 95.8333
+ },
+ {
+ "x": 154.9305,
+ "y": 95.0347
+ },
+ {
+ "x": 155.7291,
+ "y": 95.0347
+ },
+ {
+ "x": 156.5278,
+ "y": 94.2361
+ },
+ {
+ "x": 157.3264,
+ "y": 94.2361
+ },
+ {
+ "x": 156.5278,
+ "y": 93.4375
+ },
+ {
+ "x": 155.7291,
+ "y": 92.6389
+ },
+ {
+ "x": 154.1319,
+ "y": 92.6389
+ },
+ {
+ "x": 153.3333,
+ "y": 91.8403
+ },
+ {
+ "x": 151.7361,
+ "y": 93.4375
+ },
+ {
+ "x": 150.9375,
+ "y": 93.4375
+ },
+ {
+ "x": 150.1389,
+ "y": 94.2361
+ },
+ {
+ "x": 150.1389,
+ "y": 95.0347
+ },
+ {
+ "x": 146.9444,
+ "y": 98.2291
+ },
+ {
+ "x": 146.1458,
+ "y": 98.2291
+ },
+ {
+ "x": 146.1458,
+ "y": 99.8264
+ },
+ {
+ "x": 145.3472,
+ "y": 100.625
+ },
+ {
+ "x": 143.75,
+ "y": 100.625
+ },
+ {
+ "x": 142.9514,
+ "y": 101.4236
+ },
+ {
+ "x": 142.9514,
+ "y": 103.0208
+ },
+ {
+ "x": 142.9514,
+ "y": 103.8194
+ },
+ {
+ "x": 143.75,
+ "y": 104.618
+ },
+ {
+ "x": 144.5486,
+ "y": 105.4166
+ },
+ {
+ "x": 144.5486,
+ "y": 106.2153
+ },
+ {
+ "x": 145.3472,
+ "y": 107.0139
+ },
+ {
+ "x": 145.3472,
+ "y": 109.4097
+ },
+ {
+ "x": 145.3472,
+ "y": 110.2083
+ },
+ {
+ "x": 146.1458,
+ "y": 111.0069
+ },
+ {
+ "x": 146.9444,
+ "y": 111.0069
+ },
+ {
+ "x": 149.3403,
+ "y": 113.4028
+ },
+ {
+ "x": 149.3403,
+ "y": 114.2014
+ },
+ {
+ "x": 147.743,
+ "y": 115.7986
+ },
+ {
+ "x": 146.9444,
+ "y": 115.7986
+ },
+ {
+ "x": 146.1458,
+ "y": 115.0
+ },
+ {
+ "x": 146.1458,
+ "y": 114.2014
+ },
+ {
+ "x": 145.3472,
+ "y": 114.2014
+ },
+ {
+ "x": 143.75,
+ "y": 112.6041
+ },
+ {
+ "x": 142.9514,
+ "y": 111.8055
+ },
+ {
+ "x": 142.9514,
+ "y": 111.0069
+ },
+ {
+ "x": 142.1528,
+ "y": 110.2083
+ },
+ {
+ "x": 142.1528,
+ "y": 108.6111
+ },
+ {
+ "x": 142.1528,
+ "y": 107.8125
+ },
+ {
+ "x": 141.3541,
+ "y": 107.0139
+ },
+ {
+ "x": 141.3541,
+ "y": 106.2153
+ },
+ {
+ "x": 141.3541,
+ "y": 105.4166
+ },
+ {
+ "x": 140.5555,
+ "y": 104.618
+ },
+ {
+ "x": 140.5555,
+ "y": 103.8194
+ },
+ {
+ "x": 138.9583,
+ "y": 102.2222
+ },
+ {
+ "x": 138.1597,
+ "y": 101.4236
+ },
+ {
+ "x": 138.1597,
+ "y": 100.625
+ },
+ {
+ "x": 137.3611,
+ "y": 100.625
+ },
+ {
+ "x": 137.3611,
+ "y": 102.2222
+ },
+ {
+ "x": 137.3611,
+ "y": 103.0208
+ },
+ {
+ "x": 136.5625,
+ "y": 103.8194
+ },
+ {
+ "x": 136.5625,
+ "y": 104.618
+ },
+ {
+ "x": 135.7639,
+ "y": 105.4166
+ },
+ {
+ "x": 135.7639,
+ "y": 107.8125
+ },
+ {
+ "x": 134.9653,
+ "y": 108.6111
+ },
+ {
+ "x": 134.9653,
+ "y": 115.0
+ },
+ {
+ "x": 134.9653,
+ "y": 115.7986
+ },
+ {
+ "x": 134.1666,
+ "y": 116.5972
+ }
+ ]
+ ]
+ }
+ }
+ },
+ "hidden_areas": [],
+ "id": "6db16d74-1a3e-4e23-a58b-ec3ed9bc88bf",
+ "name": "Reference_sBAT",
+ "properties": [],
+ "ranges": [
+ [
+ 4,
+ 11
+ ]
+ ],
+ "slot_names": [
+ "0"
+ ]
+ }
+ ],
+ "properties": []
+}
\ No newline at end of file
diff --git a/tests/darwin/dataset/remote_dataset_test.py b/tests/darwin/dataset/remote_dataset_test.py
index a69aa65d0..01707996c 100644
--- a/tests/darwin/dataset/remote_dataset_test.py
+++ b/tests/darwin/dataset/remote_dataset_test.py
@@ -22,6 +22,7 @@
from darwin.dataset.release import Release, ReleaseStatus
from darwin.dataset.remote_dataset_v2 import (
RemoteDatasetV2,
+ _find_files_to_upload_as_single_file_items,
_find_files_to_upload_as_multi_file_items,
)
from darwin.dataset.upload_manager import (
@@ -846,6 +847,24 @@ def test_raises_if_incompatible_args_with_item_merge_mode(
**args, # type: ignore
)
+ @pytest.mark.usefixtures("setup_zip")
+ def test_files_in_root_push_directoies_are_given_correct_remote_path(
+ self, setup_zip
+ ):
+ directory = setup_zip / "push_test_dir" / "topdir" / "subdir_1"
+ local_files = _find_files_to_upload_as_single_file_items(
+ [directory],
+ [],
+ [],
+ path="",
+ fps=1,
+ as_frames=False,
+ extract_views=False,
+ preserve_folders=True,
+ )
+ assert local_files[0].data["path"] == "/"
+ assert local_files[1].data["path"] == "/"
+
@pytest.mark.usefixtures("setup_zip")
class TestPushMultiSlotItem:
diff --git a/tests/darwin/importer/formats/import_nifti_test.py b/tests/darwin/importer/formats/import_nifti_test.py
index d2c397e48..f7045d55c 100644
--- a/tests/darwin/importer/formats/import_nifti_test.py
+++ b/tests/darwin/importer/formats/import_nifti_test.py
@@ -9,6 +9,7 @@
import numpy as np
import pytest
from scipy import ndimage
+import nibabel as nib
from darwin.datatypes import (
Annotation,
@@ -17,8 +18,9 @@
SubAnnotation,
VideoAnnotation,
)
-from darwin.importer.formats.nifti import get_new_axial_size, parse_path
+from darwin.importer.formats.nifti import get_new_axial_size, parse_path, process_nifti
from tests.fixtures import *
+from darwin.utils.utils import parse_darwin_json
def test_image_annotation_nifti_import_single_slot(team_slug_darwin_json_v2: str):
@@ -238,6 +240,70 @@ def test_get_new_axial_size_with_isotropic():
assert new_size == (20, 10)
+def test_process_nifti_orientation_ras_to_lpi(team_slug_darwin_json_v2):
+ """
+ Test that an input NifTI annotation file in the RAS orientation is correctly
+ transformed to the LPI orientation.
+
+ Do this by emulating the `process_nifti` function, which:
+ - 1: Transforms the input file into the RAS orientation
+ - 2: Transforms the transformed RAS file into the LPI orientation
+ """
+ with tempfile.TemporaryDirectory() as tmpdir:
+ with ZipFile("tests/data.zip") as zfile:
+ zfile.extractall(tmpdir)
+ filepath = (
+ Path(tmpdir)
+ / team_slug_darwin_json_v2
+ / "nifti"
+ / "releases"
+ / "latest"
+ / "annotations"
+ / "vol0_brain.nii.gz"
+ )
+ lpi_ornt = [[0.0, -1.0], [1.0, -1.0], [2.0, -1.0]]
+ ras_file = nib.load(filepath)
+ ras_transformed_file = nib.funcs.as_closest_canonical(ras_file)
+ lpi_transformed_file = nib.orientations.apply_orientation(
+ ras_transformed_file.get_fdata(), lpi_ornt
+ )
+ processed_file, _ = process_nifti(input_data=ras_file)
+ assert not np.array_equal(processed_file, ras_file._dataobj)
+ assert np.array_equal(processed_file, lpi_transformed_file)
+
+
+def test_process_nifti_orientation_las_to_lpi(team_slug_darwin_json_v2):
+ """
+ Test that an input NifTI annotation file in the LAS orientation is correctly
+ transformed to the LPI orientation.
+
+ Do this by emulating the `process_nifti` function, which:
+ - 1: Transforms the input file into the RAS orientation
+ - 2: Transforms the transformed RAS file into the LPI orientation
+ """
+ with tempfile.TemporaryDirectory() as tmpdir:
+ with ZipFile("tests/data.zip") as zfile:
+ zfile.extractall(tmpdir)
+ filepath = (
+ Path(tmpdir)
+ / team_slug_darwin_json_v2
+ / "nifti"
+ / "releases"
+ / "latest"
+ / "annotations"
+ / "BRAINIX_NIFTI_ROI.nii.gz"
+ )
+ lpi_ornt = [[0.0, -1.0], [1.0, -1.0], [2.0, -1.0]]
+ las_file = nib.load(filepath)
+ ras_transformed_file = nib.funcs.as_closest_canonical(las_file)
+ lpi_transformed_file = nib.orientations.apply_orientation(
+ ras_transformed_file.get_fdata(), lpi_ornt
+ )
+ processed_file, _ = process_nifti(input_data=las_file)
+ assert not np.array_equal(processed_file, las_file._dataobj)
+ assert np.array_equal(processed_file, lpi_transformed_file)
+
+
def serialise_annotation_file(
annotation_file: AnnotationFile, as_dict
) -> Union[str, dict]:
@@ -389,3 +455,108 @@ def serialise_sub_annotation(
"w",
) as f:
f.write(output_json_string)
+
+
+def adjust_nifti_label_filepath(nifti_annotation_filepath: Path, nifti_filepath: Path):
+ """
+ Adjusts a specific NifTI label path to point to a local NifTI file for import testing.
+ This is requied to allow the test to run in multiple environments
+ """
+ with open(nifti_annotation_filepath) as f:
+ input_data = json.load(f)
+
+ # Inject the nifti_filepath into the data.label key
+ input_data["data"][0]["label"] = str(nifti_filepath)
+
+ # Save the modified JSON back to the file
+ with open(nifti_annotation_filepath, "w") as f:
+ json.dump(input_data, f, indent=4)
+
+
+def round_polygon_annotation_coordinates(annotation, decimal_places=2):
+ """
+ Rounds all coordinates in the annotation to a specified number of decimal places.
+
+ Parameters:
+ - annotation: The annotation data (list of lists).
+ - decimal_places: The number of decimal places to round to.
+
+ Returns:
+ - A new annotation structure with rounded coordinates.
+ """
+ return [
+ [
+ {
+ "x": round(point["x"], decimal_places),
+ "y": round(point["y"], decimal_places),
+ }
+ for point in path
+ ]
+ for path in annotation
+ ]
+
+
+def test_parse_path_nifti_with_legacy_scaling():
+ nifti_annotation_filepath = (
+ Path(__file__).parents[2] / "data" / "nifti" / "nifti.json"
+ )
+ nifti_filepath = (
+ Path(__file__).parents[2] / "data" / "nifti" / "BRAINIX_NIFTI_ROI.nii.gz"
+ )
+ expected_annotations_filepath = (
+ Path(__file__).parents[2]
+ / "data"
+ / "nifti"
+ / "legacy"
+ / "BRAINIX_NIFTI_ROI.nii.json"
+ )
+ adjust_nifti_label_filepath(nifti_annotation_filepath, nifti_filepath)
+ expected_annotations = parse_darwin_json(expected_annotations_filepath)
+ parsed_annotations = parse_path(nifti_annotation_filepath, legacy=True)
+ for frame_idx in expected_annotations.annotations[0].frames:
+ expected_annotation = (
+ expected_annotations.annotations[0].frames[frame_idx].data["paths"]
+ )
+ parsed_annotation = (
+ parsed_annotations[0].annotations[0].frames[frame_idx].data["paths"]
+ )
+ expected_annotation_rounded = round_polygon_annotation_coordinates(
+ expected_annotation, decimal_places=4
+ )
+ parsed_annotation_rounded = round_polygon_annotation_coordinates(
+ parsed_annotation, decimal_places=4
+ )
+ assert expected_annotation_rounded == parsed_annotation_rounded
+
+
+def test_parse_path_nifti_without_legacy_scaling():
+ nifti_annotation_filepath = (
+ Path(__file__).parents[2] / "data" / "nifti" / "nifti.json"
+ )
+ nifti_filepath = (
+ Path(__file__).parents[2] / "data" / "nifti" / "BRAINIX_NIFTI_ROI.nii.gz"
+ )
+ expected_annotations_filepath = (
+ Path(__file__).parents[2]
+ / "data"
+ / "nifti"
+ / "no-legacy"
+ / "BRAINIX_NIFTI_ROI.nii.json"
+ )
+ adjust_nifti_label_filepath(nifti_annotation_filepath, nifti_filepath)
+ expected_annotations = parse_darwin_json(expected_annotations_filepath)
+ parsed_annotations = parse_path(nifti_annotation_filepath, legacy=False)
+ for frame_idx in expected_annotations.annotations[0].frames:
+ expected_annotation = (
+ expected_annotations.annotations[0].frames[frame_idx].data["paths"]
+ )
+ parsed_annotation = (
+ parsed_annotations[0].annotations[0].frames[frame_idx].data["paths"]
+ )
+ expected_annotation_rounded = round_polygon_annotation_coordinates(
+ expected_annotation, decimal_places=4
+ )
+ parsed_annotation_rounded = round_polygon_annotation_coordinates(
+ parsed_annotation, decimal_places=4
+ )
+ assert expected_annotation_rounded == parsed_annotation_rounded
diff --git a/tests/darwin/importer/importer_test.py b/tests/darwin/importer/importer_test.py
index c3b2e5030..44603a144 100644
--- a/tests/darwin/importer/importer_test.py
+++ b/tests/darwin/importer/importer_test.py
@@ -1,5 +1,6 @@
import json
import tempfile
+import inspect
from functools import partial
from pathlib import Path
from typing import List, Tuple
@@ -35,6 +36,7 @@
_warn_for_annotations_with_multiple_instance_ids,
_serialize_item_level_properties,
_split_payloads,
+ import_annotations,
)
@@ -3533,3 +3535,9 @@ def test__split_payloads_overwrites_on_first_payload_and_appends_on_the_rest():
assert result[0]["overwrite"]
assert not result[1]["overwrite"]
assert not result[2]["overwrite"]
+
+
+def test_default_legacy_value():
+ signature = inspect.signature(import_annotations)
+ legacy_default_value = signature.parameters["legacy"].default
+ assert legacy_default_value is False
diff --git a/tests/data.zip b/tests/data.zip
index fda8c0e0b..b38cedda1 100644
Binary files a/tests/data.zip and b/tests/data.zip differ