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.jpgdarwin64042730test_bounding_box_basicUnspecified001035619179test_bounding_box_basicUnspecified00401129474205test_bounding_box_basicUnspecified00187263305284 \ 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_1darwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ No newline at end of file +imagesimage_1.jpgimages/image_1.jpgdarwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ 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_2darwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ No newline at end of file +imagesimage_2.jpgimages/image_2.jpgdarwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ 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_3darwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ No newline at end of file +imagesdir1/image_3.jpgimages/image_3.jpgdarwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ 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_4darwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ No newline at end of file +imagesdir1/image_4.jpgimages/image_4.jpgdarwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ 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_5darwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ No newline at end of file +imagesdir2/image_5.jpgimages/image_5.jpgdarwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ 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_6darwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ No newline at end of file +imagesdir2/image_6.jpgimages/image_6.jpgdarwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ 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_7darwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ No newline at end of file +imagesdir1/dir3/image_7.jpgimages/image_7.jpgdarwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ 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_8darwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ No newline at end of file +imagesdir1/dir3/image_8.jpgimages/image_8.jpgdarwin1920108030test_bounding_box_basicUnspecified00681512test_bounding_box_basicUnspecified0016182320 \ 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