From 81dd1e6620c20bebb4e1155d60f56411e11fef5a Mon Sep 17 00:00:00 2001 From: John Wilkie <124276291+JBWilkie@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:09:41 +0000 Subject: [PATCH 1/9] E2E tests for converting annotations (#949) --- .gitignore | 1 - e2e_tests/cli/{convert => }/test_convert.py | 57 +- .../coco/from/base_annotation.json | 0 .../data/{ => convert}/coco/to/output.json | 0 .../data/convert/cvat/from/000000021295.json | 67 ++ e2e_tests/data/convert/cvat/to/output.xml | 1 + .../instance_mask/from/000000021295.json | 155 +++ .../to/masks/000000021295_00000.png | Bin 0 -> 1163 bytes .../to/masks/000000021295_00001.png | Bin 0 -> 940 bytes .../to/masks/000000021295_00002.png | Bin 0 -> 1198 bytes .../hippocampus_001_mpr_1_test_hippo.nii.json | 945 ++++++++++++++++++ ..._mpr_1_test_hippo_test_mask_basic_m.nii.gz | Bin 0 -> 1022 bytes ...mpr_1_test_hippo_test_polygon_basic.nii.gz | Bin 0 -> 974 bytes .../convert/pascalvoc/from/000000021295.json | 81 ++ .../convert/pascalvoc/to/000000021295.xml | 1 + .../semantic_mask/from/221b-2.json | 0 .../semantic_mask/to/class_mapping.csv | 0 .../test_input_with_bboxes_and_polys.json | 0 .../data/{ => convert}/yolo/to/darknet.labels | 0 .../test_input_with_bboxes_and_polys.json | 0 .../{ => convert}/yolov8/to/darknet.labels | 0 .../to/test_input_with_bboxes_and_polys.txt | 5 - .../to/test_input_with_bboxes_and_polys.txt | 5 - 23 files changed, 1300 insertions(+), 18 deletions(-) rename e2e_tests/cli/{convert => }/test_convert.py (65%) rename e2e_tests/data/{ => convert}/coco/from/base_annotation.json (100%) rename e2e_tests/data/{ => convert}/coco/to/output.json (100%) create mode 100644 e2e_tests/data/convert/cvat/from/000000021295.json create mode 100644 e2e_tests/data/convert/cvat/to/output.xml create mode 100644 e2e_tests/data/convert/instance_mask/from/000000021295.json create mode 100644 e2e_tests/data/convert/instance_mask/to/masks/000000021295_00000.png create mode 100644 e2e_tests/data/convert/instance_mask/to/masks/000000021295_00001.png create mode 100644 e2e_tests/data/convert/instance_mask/to/masks/000000021295_00002.png create mode 100644 e2e_tests/data/convert/nifti/from/hippocampus_001_mpr_1_test_hippo.nii.json create mode 100644 e2e_tests/data/convert/nifti/to/hippocampus_001_mpr_1_test_hippo_test_mask_basic_m.nii.gz create mode 100644 e2e_tests/data/convert/nifti/to/hippocampus_001_mpr_1_test_hippo_test_polygon_basic.nii.gz create mode 100644 e2e_tests/data/convert/pascalvoc/from/000000021295.json create mode 100644 e2e_tests/data/convert/pascalvoc/to/000000021295.xml rename e2e_tests/data/{ => convert}/semantic_mask/from/221b-2.json (100%) rename e2e_tests/data/{ => convert}/semantic_mask/to/class_mapping.csv (100%) rename e2e_tests/data/{ => convert}/yolo/from/test_input_with_bboxes_and_polys.json (100%) rename e2e_tests/data/{ => convert}/yolo/to/darknet.labels (100%) rename e2e_tests/data/{ => convert}/yolov8/from/test_input_with_bboxes_and_polys.json (100%) rename e2e_tests/data/{ => convert}/yolov8/to/darknet.labels (100%) delete mode 100644 e2e_tests/data/yolo/to/test_input_with_bboxes_and_polys.txt delete mode 100644 e2e_tests/data/yolov8/to/test_input_with_bboxes_and_polys.txt 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/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/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 0000000000000000000000000000000000000000..32060673fbd4b2f2e2def785bc6cd4b6148be0f6 GIT binary patch literal 1163 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sU|h`s6ksS-t(?xlz!K!?;uumf=k1--lZ3+s zTrVCv`2T-V^@TQvvS!t*kLLyNyw($_{W#BvwfUYINE;Dg!R_O(_z%S0536smwcGZI z@y5TXzl`60ZD3t(sy|`=OH+Qs*pIjW?)uerTw>jKmij;6_(fjwewetvX=zseb@78& z&lyF&UR=BPL)3D~H+t$nCR@iWFG>HiZ_A~|W3Ot~+vn{%H*wjn>zwztowe`S9kQ^pTS~vNA z{7Fu`UwOL@YkD!+%vs;0Xq9)-a%;(%x?<7(f?L~G&G>h3*}Mn-?>-dqT0fZLBgHm< z!2{X8*Xt8*6z*I9k70Rm?3O>zE3+A&^&egSV|vxT{XYVKIQ?4v(^kgZ{P+IE2tAtv z>HHi1U&x*+``~k|=7x~6hC6X34eQsKYHtWGYFKZ&^nlk%Mk9xUhV|=Av^NCiHB?C{ znjJ9zH92SD4Tk#*57@0_%*yPzz;OSK|F%*m=9=kDw^P_wEH+ePzH@PY$!Qg~9okB) zWu80}9GRH!>^!{YfL0~rJ3fy_-%m^_Q+6=?)%p~9iOEJqj`f=d_k_elOg0(ik&ULC zm_*K51TxB9pFb(ug|$L~b(#lPfC)1zYei0d);j@_2M0wW6xAIL_J{~S`1n_Im!nUE zdO$+s6o#WlAs!9Szbt=MBgr@~w2SF+D$9uoLB@I8SFAZu!pXQQWkUU%O9Y)crE{j9H#zlHU~cc4oKK^m2p+_j-!lmm*$^nUVE=$dO*Uut&Cd9dzLcB zU7LR)x!2+#*O{$G4xt;24tW0-u3k~f7&oVd$(Z*ipU0|H#<+bG*BtOz%`}Di_O@QD zgR}g%XdF;A)G)X(i(%;jd$zd=ch#eW9&8d2kw|xKFnX|@m2ur0|KFKzwd{99B%c3b zP(7fp$6rudzq;P8f7#pw*0!Bi4(HD|cQgCE(0^$B;qV^eH3u}Vv%PrvbGkRP&rAKM z#Ra(y_vZee@k91Pe5-;u+l()-Jm;rw%RgQB=@#3yvuB&nwC_+jcjn-8&6@V+S2}b4 z^u7DWbN+he_LJVeRc*&D)P4Dg$cuDWa{Y(2?dOnyxw)@LETK@4-3m?3eHh7{(FA+^qGeQl@|Yhbf@>sLzamL>;E3q zH|lyT6kK2N(Ss*>`-kWc?(dGgX5IJ2ev6L5#JM^T($fl79{B#(oRzyLb@HAi^_B&d z2j4v8s5{`f$L&t{zvXd9mu{ZN`lnBFj^10@`bB}6f@@P5>r>d$xvKZhe;X9x!`-S{ zoqXodq$pMGYt`+UVPV}VtyRA-$Arab?`Zkc$$c^-aQ&AV-&|bHVnb#fex|Lpb?2l- zGL4ph)aYAB=cc{7%FAu{N2H`w2fKOPt}{B_@x8C3W!t|L>4_gcD?PgT*PdBW(Oy$= z_T9g`jgsp6>W?RBv!<+WV3I3f`W)cEXc_sRN$SAjulfq^+3^m{72CeCKFPVuox#9= zeQ$%zx=Kdg2QO!dPq?h95dBqef$)!tz1$~0Mu}fwn76)^(K7xyP&1R2_yi^?pitO_ z9StEDwl}bCXxYcQgav5LHr5iR>ld~)T)D6nDB7`(bxFrER+ENM6J3SSFFFetbrz>H zYA#M?R+x52Je^Q4qlnz4$KkWyP1N# zw*#$B+9f(6No2y>S)vy>V|+I=1^KQAiWXIgPAG~Jy})qo@~Va_msbLzopr0JVul>Hq)$ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..bc1cb483b1e7a50d8d37b8ba8757a5fe6a9d4bbf GIT binary patch literal 1198 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sU|h`s6ksS-t(?xlz*6ez;uumf=k1l#dD`v* zE{?bU|3Clfnbd}b;+nqYsoz}IteDF6!uV$eNDCfNz@2}YJ?7o}m&_FhEB|tCI8(^U zwc$kJS6h~d=UX^fZ#>@eO|HM4;kV4Rg$&s;VfW;jaz1{0cU+L=ga+fZir*j7?HP@{ z8f5R;{arkVK~nVqSAP7zn?4OaLJ7^~-R0+4xHcTH+__i%fZuTw%>y;Zk9-qkoMyGu zi}9GX>ehbF4ObOoxeV?qF06HHcxd1&SPhV{<5@~mvP?Gb;*or zE4ZI)G4&M0*5|5n1KsUY@HA(tFW3x*>wRI@!Pd_y|C$mC5iGpUA9k6As~{>^mz(2* zi)$cvK}4XoHwRGboUIuQ)n%bTmp@pM>K$s_$TTNp@<}Tun-K5YOfpx5PI@ufgnHg( zniD+fL==-vnEQPunahGFvY2ebT^};d37UAkib-bE;{9#MK%O~w!`P2iSOe(8f+OoP zPt6B=Uicet@E@S<4mG0EoF58aZsac5|3z(^(1VwUip3w4J#@`cJMcJ_UH`z{P1QI2 z8fNo;5udvU6ft`jUC(G@$XD1|#h5pB&LJMgdyWO)neJ#>v}iKzX}$A_bw^+xTQSRy z^C|Tk--5#7PFh(@5I7nh=v@{z`TO5q5#*G~KN)B3f1u2CNBQ$tW{wYbO7={Qd4fN` z39?iucg}BQDEFxODZsR6@&SIw25FXk)jW*r#IM9((5wdqP>fzy>7u?$8qNiZsbtv^l2jjQ&I!_?nVs`bv~()S3$2TmJ+q(m zPDo)f%MQOw7yiUwNM(vqdoi_{^TV_vJ3hvBlRh82$Wq~NIKQ1iytDFQ0n?t9Q}|sP zvX|`1w_&^&dO}_4fT~m6_6COV6)*H3dw^0ncS_Fb?MmlFfM!-VMBCAi@?fc}c^U3CC?xgB;{CluehkO_?Ipd_6|xr}~RqY32tE znJ1;*J%1^(?c+Iv51;d1SlRK#x4q||U*0dDdvW>0c-_b2|i{(S!LmsQcVyEpT1 zjy``~Zu;?$A7^Yg6ni|~bGrWieRbOERV*BPtQvnrns58vXQlY-=aLmUw`2UGqvxj< zz1p>{-p}jU&b{^3*Y?law$66)rK%%0ql;hOKmXy&A7Qbjw#urL4bSP8udhyDl45)< zY_odus?NJ_`~y527#NvYI0O_5TomRVUvxIz_356os%KZ9uB`W48Tsv;=gWHW-7$`~ zmv+zEm3DJ~+Nn?PzMe1*-}LofMwI`1uXA2E&%KO4X|eg*n%_I8e4UeX%;f(Gt#5Y& zMIoj-G%z$qbI8$T>|jlLyo_D{+`zw}Re%U9X&eQiGP z|E#SHK6mZvy^sGjQ-$8e{`|J5(4P++S|EQ-7w=HN{ntNURk5l%Om^$iv&*O4+BN;` z%53ldrpu?4JO2J|{BD1UyZ&mS&x`B+m&dAPauV&Y#xR9C@Aa~0=eRm;nR&~|eAQyz z@L$z|(cAxCHQc#Q*>R literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..dcf741bcabe4784b528e5377fc6666999eb22a14 GIT binary patch literal 974 zcmb2|=3oE;mj7>WUCh00AmR|X^d!UGh4X)MSvlD4a!Y@~Bde*rY?F7ul6hGlJsr8f zYj`AIytK7KVac+I@A)sUdt3O+sP^yIzaM_DwtboTt48w2Pb=U0UvM!a`7$BvLa=$?%l9AoY~s}bwzFo+0m=7j>$JO*!z04gfBNO#iMyP$*X#C)mtT6% zTy^QacrGk?%jVS7IS>~rI5aRc*2gMrUzV9(8XLJKd2w}VsZmv$?LM;TeTu*LuU|LnR?5tdTr2ZZNBgH= z^vv%@w|7l?=`z(v-I)0~LYIPpR>8U5U*Bjg*?Vi#tPFSe?_N)DoXL9Xksf)n{MM;G z({Ek_YFU+HHB-`}9m%1Az~Ee)9a?pa)>ga1wT`ESX}epU_S$zj?AhKk+t#I6 j1*%>?dFFs6F!bS$9AymB&}jVc{Xn)Q_R7Svmy8Smwp2Bf literal 0 HcmV?d00001 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/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 From fc9a0f689fca3d13cac4c5e19d6abc4a6676a9a2 Mon Sep 17 00:00:00 2001 From: John Wilkie <124276291+JBWilkie@users.noreply.github.com> Date: Mon, 4 Nov 2024 12:09:15 +0000 Subject: [PATCH 2/9] E2E test for (#956) --- e2e_tests/cli/test_import.py | 6 +++--- e2e_tests/cli/test_pull.py | 36 ++++++++++++++++++++++++++++++++++++ e2e_tests/helpers.py | 8 +++----- 3 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 e2e_tests/cli/test_pull.py diff --git a/e2e_tests/cli/test_import.py b/e2e_tests/cli/test_import.py index 430ab1855..3cbfce3e5 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, ) @@ -336,12 +336,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..93e4f5eaa --- /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", + f"{pull_dir}/image_2", + f"{pull_dir}/dir1/image_3", + f"{pull_dir}/dir1/image_4", + f"{pull_dir}/dir2/image_5", + f"{pull_dir}/dir2/image_6", + f"{pull_dir}/dir1/dir3/image_7", + f"{pull_dir}/dir1/dir3/image_8", + ] + 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/helpers.py b/e2e_tests/helpers.py index b4991d8e8..b4537a476 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,11 @@ 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: """ Creates an export of all items in the given dataset. Waits for the export to finish, then downloads and the annotation files to @@ -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( From ea72b6c52210b3e57eb2785bed9b000581e6908b Mon Sep 17 00:00:00 2001 From: John Wilkie <124276291+JBWilkie@users.noreply.github.com> Date: Thu, 7 Nov 2024 13:17:08 +0000 Subject: [PATCH 3/9] [DAR-4672][External] Replaced `no_legacy` with `legacy` & swapped default scaling behaviour of `NifTI` importer (#958) * Replaced with * Test coverage --- darwin/cli_functions.py | 15 +- darwin/importer/importer.py | 10 +- darwin/options.py | 21 +- .../data/nifti/BRAINIX_NIFTI_ROI.nii.gz | Bin 0 -> 5279 bytes .../data/nifti/legacy/.v7/metadata.json | 44 + .../nifti/legacy/BRAINIX_NIFTI_ROI.nii.json | 3949 +++++++++++++++++ tests/darwin/data/nifti/nifti.json | 12 + .../data/nifti/no-legacy/.v7/metadata.json | 44 + .../no-legacy/BRAINIX_NIFTI_ROI.nii.json | 3913 ++++++++++++++++ .../importer/formats/import_nifti_test.py | 106 + tests/darwin/importer/importer_test.py | 8 + 11 files changed, 8099 insertions(+), 23 deletions(-) create mode 100644 tests/darwin/data/nifti/BRAINIX_NIFTI_ROI.nii.gz create mode 100644 tests/darwin/data/nifti/legacy/.v7/metadata.json create mode 100644 tests/darwin/data/nifti/legacy/BRAINIX_NIFTI_ROI.nii.json create mode 100644 tests/darwin/data/nifti/nifti.json create mode 100644 tests/darwin/data/nifti/no-legacy/.v7/metadata.json create mode 100644 tests/darwin/data/nifti/no-legacy/BRAINIX_NIFTI_ROI.nii.json 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/importer/importer.py b/darwin/importer/importer.py index aad713e0c..ff1a06333 100644 --- a/darwin/importer/importer.py +++ b/darwin/importer/importer.py @@ -1092,7 +1092,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. @@ -1134,9 +1134,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 @@ -1154,7 +1154,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/tests/darwin/data/nifti/BRAINIX_NIFTI_ROI.nii.gz b/tests/darwin/data/nifti/BRAINIX_NIFTI_ROI.nii.gz new file mode 100644 index 0000000000000000000000000000000000000000..0eef75055b936f919c9dd0226c37bb44528d441f GIT binary patch literal 5279 zcmeHJ`!}0;9yW6(r&Fe)=yaLkrR^!EHO{KKY#S*tWLhn8DRs+CN4M0ysBSc`scA)3 z8+L~>N=T?snxa9~WzWV@U5W_OafzyX(y%HK5^wDHHD=HJ2hN`3{o#2(NzV6@=Xt)* z=L_BaRO7ctI*Pkn?Pu_E0x7mV?_^qEzJIFJz0dsy??Cux7T&*VrmlTF{OLP8o%Rmr zGg_FvQ!Y+A{r+zP!ZNa)kFIMhy{|i#pWniGAg|gmT@|tl* z(a$N8*M1@J`s&hyBKRalQow1Jt;$wU&^(Nc&(a_5#|mCbo_IhZ*H;u+#`>BnCddfy z7=K;CSC=NqE$V9CgpiC!Hu8ImsDJ0V&0#w1 zGI_1*1$0B|hTjk};H8=5lyzy6==z7-DeE(e#T40dKRO*^Y&2lWZOZ?Ak&+@`eHgQ$ zx=dF0dbFx&kCTd;uia3u&8kKF$x0~Y_!d7quN?+<7}#N8hk+diwvB;*E{8Yy_bt>y zd-&0<3@*lQMZq$S7GQTHS$$Y!G-XcUcb{@a!g0mTrNP6dC5F0UQx>GFL}B4n=*qs* z13mM!%+$^~8ax9=^~J>CloPh-XfOpIYk*{tu+)bkviRh~CC17qA=4-~s@G8Zv{YWz zkBuKqB!XUkN%IXic{P>3DLO(NqXFN|!c zVSOLo(87`QOC!k~D3|-b70wgZZz#VPAww(%Z2|VMLQY0ns)`0!#Wbl}!tW*6ewbnw zk>sA)6e63}esz!d`vRCaC7&yQvRB~dlxR8llw*wea2xb6aSvc(q+f|iF4qRYvw^o? z{_yGzMc?Q39DuHXk8o139Tgi4nxoxXt&F8%VX2)k%6%7;KN1baQCl&;k^x&3>{MhHP*L5jWy*^-ek19 zD?U`;rNhGYUrG6|*tDN1o#xxBS))z$QU8YX^i==4!TV|cLjm**`-TQ1OdJak7TZ5U zPbG>;dr|)?r-4w`z_IQ)WyNXyAsL~K1PErv0Vv7_U?}giig3Ym@8$hjSrO5_R?4V! z9gC593-Tz@j(UTcN75;-h2(+KE$^yS`P!oD_wqhdyEbH_;?S|$H%;auWnp`afz9XQ_6}d$HO{_&*XI+ldlZOI^0r>MR`-g z$2U>6GvUq(+AYeq9wUwGd5`Ka(jEyPEB#tR+FP9~;p+s}i%B{WG6J&UY(-j?@qLQw=0T*7 zv$*n^SrlTP{9g0zHJw3B|U#U9Wf95C6SLb9xH6T`MOa8Qwp%mijyD+27DZ=F7o z5uEWdZ?sG(kP+TCGp190I?B4>TyYqkt47ett zT=#1m$U*D2@J|03?le!>ytpVEM)vK^=yA7{iZh;(o`Ok92ym3@mIM4-WnLWdOEk z0DRtsgaJp(yK_n{qYoir?4}jU!`PsH)J}im(^JKp)#k;-6TO)H4sx{G1oW~3s!izE zc0jiOkN Date: Fri, 8 Nov 2024 15:32:37 +0000 Subject: [PATCH 4/9] [DAR-4140][External] Fixed NifTI import orientation (#953) * Fixed NifTI import orientation * Simpler implementation * Update tests/darwin/importer/formats/import_nifti_test.py Co-authored-by: dorfmanrobert <108150810+dorfmanrobert@users.noreply.github.com> --------- Co-authored-by: dorfmanrobert <108150810+dorfmanrobert@users.noreply.github.com> --- darwin/importer/formats/nifti.py | 10 ++- .../importer/formats/import_nifti_test.py | 67 +++++++++++++++++- tests/data.zip | Bin 300936 -> 303807 bytes 3 files changed, 70 insertions(+), 7 deletions(-) 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/tests/darwin/importer/formats/import_nifti_test.py b/tests/darwin/importer/formats/import_nifti_test.py index d59b2c9a9..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,7 +18,7 @@ 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 @@ -239,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]: diff --git a/tests/data.zip b/tests/data.zip index fda8c0e0b496591404c7c8bfe3dc0afa266d8ad3..b38cedda19d9c005905bd897c52cb946925191d3 100644 GIT binary patch delta 20621 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

Tp5XX6SIQIe(N;+VSr{ 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 delta 17686 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 Date: Fri, 8 Nov 2024 15:52:21 +0000 Subject: [PATCH 5/9] Updated NifTI test data (#959) --- ..._mpr_1_test_hippo_test_mask_basic_m.nii.gz | Bin 1022 -> 1073 bytes ...mpr_1_test_hippo_test_polygon_basic.nii.gz | Bin 974 -> 1007 bytes 2 files changed, 0 insertions(+), 0 deletions(-) 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 index a4b62b5e249e180b4006a9f511b9dbd6f6b46b89..01fa649bd574e4bdf3259a866e9f047d5ec045b9 100644 GIT binary patch delta 627 zcmV-(0*w9s2eAl$ABzY8000001pn>bL2lDP6b4`iShC;_ELkBAfCO8P&@*s`9*G-p zHR8Iz{G2%Hj2#tPK1b0T&&>Z~f9WEXqW11EG#zh;kHeSa^YHjshTaVy9wzR855xV} z%g$e5xZ~5)(G^aCKyV~n>NiOU4%=zjvowM_O*JqMj*6W$` z)nz(o=lh%lWWms`4jefU6%LRdlr}8+y!#~*u_DU@d9UmRUm&4KDDm3 zkCU#oJ)NC3J&&{6TIXaPwWhPLX6rcXZM7!rxGkMsHCe}5Z>u#~$8G8Cs>wRedRwi@ zI&Mp6S5402thUxUSx2qu?5o*noRz*>`}8I4CP07y0RjXF5Fqf91onUOtsOG%6-e&1 z_VqbU=e(y&GHbQH&ssWvbFE#nf4x3um-Q>i>~mhpaQqK=*B;M%E!VH6^;)iVY40)a zyd=}tWvx?x2MGcM2oNAZfB=D82;>vq_Fn0bx}{UHwf6R@*?D}ME`9$cdw%uPQP0(! zX6N(vE_3F5q|3R8+&wb)#Xy3_ID^d*WT|Ito7B}sV`|a0RsPu Nz#p{T!U%Th0RW0*Qz8HW delta 583 zcmV-N0=WIL2>u6uABzY8000001pn>b-BH{y6b4X}q=590$2?_HKpto#HKc}=loEs2 zTqOA?=-OsCz%c`oW!=xxS%&e>F!1wk=sG?QUxx1wpLdTRZPBOU^JU=ok74-N=b!uO zdRu+Fvk$Xd&(|K8$MNx)w=ovumr0i|zrKDeCwc@3ygGq@_*pl$`;Iyx`uU`&Y};H; zTU(!Ha_YLae@;rqxxIgT*1wvzu04~|dc@gVbLrpD@bvr>7NtESC6h7EEqAYbXQX5^ z)>gA8W2%YW>`zchfB*pk1PBlya6}-U$D++=MdiHBCC#hLd4Eo+S@zCJ>3zkN!qfD2@oJafB*pk1PBlyk^CM*fmR@XORpWxoJB&knc6Zp zs-rDe`g>7ZxBb;Iv#ySQTWIQCsO5MfIYkJ$8pPbX55uYo1H?|`JmVVO?p0@GtN+Fu{*IHK<} z@rTVS8SBdWcss3&Up_B=BX$1t>rd}Kmj3){F1A-=eO-=CjrP-rf8WQ)+ixpQ{`xoU z{JML)zWx2=tT|sUzI5Gpp~dT7ckHe5?b#*%JbC>T{rr31T9uhtI0O_N8Wrss1ZEIPuc+t$X6`_gxD*wSM=hr9GCb_iov>V{?pG$rRsA%b!zbB_l=VhxJ@X ziaownSD)`(yw$qz)r{*wk9KOzHhQ+^+oe~Z_QpJaQnm8x*7?TAEH%?hl$sGqpfS3! zg70Kq{(H;9lHY#6uLa6}-nZ&)XyE;4Z-4H!zHV8a{p`Byr9W@}-F+i_)cWciOcTJV z>4!YaBlBr@@`Y?uZLHKRt{r<7;kMUG>vxS!^6bsi49hmpD!l8fro8K9>Xy7ul0r!7 z@W*YYo68qni}#o8?<=(@PGjS8u@irf$=~(j>@0j{RCT1w+oR|6<(+?iuFUY)2fE-@ z`PO-tj9+~|HP7%{K=|VwvHj`4v(CKy{We4Osaf)S*{i!=q|Gi&S-wHxu@@Jh=t~t1G^gD&nULmi+RTMId(o+!8^WUCh00AmR|X^d!UGh4X)MSvlD4a!Y@~Bde*rY?F7ul6hGlJsr8f zYj`AIytK7KVac+I@A)sUdt3O+sP^yIzaM_DwtboTt48w2Pb=U0UvM!a`7$BvLa=$?%l9AoY~s}bwzFo+0m=7j>$JO*!z04gfBNO#iMyP$*X#C)mtT6% zTy^QacrGk?%jVS7IS>~rI5aRc*2gMrUzV9(8XLJKd2w}VsZmv$?LM;TeTu*LuU|LnR?5tdTr2ZZNBgH= z^vv%@w|7l?=`z(v-I)0~LYIPpR>8U5U*Bjg*?Vi#tPFSe?_N)DoXL9Xksf)n{MM;G z({Ek_YFU+HHB-`}9m%1Az~Ee)9a?pa)>ga1wT`ESX}epU_S$zj?AhKk+t#I6 j1*%>?dFFs6F!bS$9AymB&}jVc{Xn)Q_R7Svmy8Smwp2Bf From 59561dc9f1aae9747512aea30bf6bf3104aa3fef Mon Sep 17 00:00:00 2001 From: John Wilkie <124276291+JBWilkie@users.noreply.github.com> Date: Mon, 11 Nov 2024 13:37:16 +0000 Subject: [PATCH 6/9] Replaced incorrectly scaled annotations with unscaled annotations (#960) --- .../no-legacy/BRAINIX_NIFTI_ROI.nii.json | 3712 +++++++++-------- 1 file changed, 1874 insertions(+), 1838 deletions(-) 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 index b0578897d..363aadffb 100644 --- a/tests/darwin/data/nifti/no-legacy/BRAINIX_NIFTI_ROI.nii.json +++ b/tests/darwin/data/nifti/no-legacy/BRAINIX_NIFTI_ROI.nii.json @@ -103,8 +103,8 @@ "4": { "bounding_box": { "h": 28.75, - "w": 16.77090000000001, - "x": 68.6805, + "w": 16.77080000000001, + "x": 143.75, "y": 108.6111 }, "keyframe": true, @@ -112,270 +112,274 @@ "paths": [ [ { - "x": 68.6805, - "y": 109.4097 + "x": 143.75, + "y": 134.9652 }, { - "x": 68.6805, - "y": 116.5972 + "x": 143.75, + "y": 135.7639 }, { - "x": 68.6805, - "y": 117.3958 + "x": 143.75, + "y": 136.5625 }, { - "x": 70.2778, - "y": 118.993 + "x": 144.5486, + "y": 136.5625 }, { - "x": 71.0764, - "y": 119.7916 + "x": 145.3472, + "y": 137.3611 }, { - "x": 75.868, - "y": 119.7916 + "x": 150.1389, + "y": 137.3611 }, { - "x": 76.6667, - "y": 119.7916 + "x": 150.9375, + "y": 137.3611 }, { - "x": 77.4653, - "y": 120.5903 + "x": 150.9375, + "y": 136.5625 }, { - "x": 78.2639, - "y": 120.5903 + "x": 151.7361, + "y": 135.7639 }, { - "x": 79.0625, - "y": 120.5903 + "x": 152.5347, + "y": 135.7639 }, { - "x": 79.8611, - "y": 121.3889 + "x": 153.3333, + "y": 135.7639 }, { - "x": 79.8611, - "y": 122.1875 + "x": 154.9305, + "y": 134.1666 }, { - "x": 83.0555, - "y": 122.1875 + "x": 155.7291, + "y": 133.368 }, { - "x": 83.8542, - "y": 122.1875 + "x": 155.7291, + "y": 132.5694 }, { - "x": 83.8542, - "y": 121.3889 + "x": 156.5278, + "y": 131.7708 }, { - "x": 83.0555, - "y": 120.5903 + "x": 157.3264, + "y": 130.9722 }, { - "x": 83.0555, - "y": 119.7916 + "x": 157.3264, + "y": 130.1736 }, { - "x": 82.2569, - "y": 118.993 + "x": 158.125, + "y": 129.375 }, { - "x": 82.2569, - "y": 118.1944 + "x": 158.9236, + "y": 128.5764 }, { - "x": 82.2569, - "y": 117.3958 + "x": 158.9236, + "y": 127.7777 }, { - "x": 81.4583, - "y": 116.5972 + "x": 158.125, + "y": 126.9791 }, { - "x": 80.6597, - "y": 116.5972 + "x": 158.125, + "y": 126.1805 }, { - "x": 79.8611, - "y": 115.7986 + "x": 157.3264, + "y": 125.3819 }, { - "x": 79.0625, - "y": 115.7986 + "x": 154.1319, + "y": 125.3819 }, { - "x": 78.2639, - "y": 115.0 + "x": 153.3333, + "y": 125.3819 }, { - "x": 78.2639, - "y": 114.2014 + "x": 153.3333, + "y": 126.1805 }, { - "x": 76.6667, - "y": 112.6041 + "x": 146.9444, + "y": 132.5694 }, { - "x": 75.868, - "y": 111.8055 + "x": 146.1458, + "y": 133.368 }, { - "x": 75.0694, - "y": 111.8055 + "x": 145.3472, + "y": 133.368 }, { - "x": 74.2708, - "y": 111.0069 + "x": 143.75, + "y": 134.9652 + } + ], + [ + { + "x": 145.3472, + "y": 121.3889 }, { - "x": 73.4722, - "y": 111.0069 + "x": 145.3472, + "y": 122.1875 }, { - "x": 72.6736, - "y": 110.2083 + "x": 148.5416, + "y": 122.1875 }, { - "x": 71.875, - "y": 110.2083 + "x": 149.3403, + "y": 122.1875 }, { - "x": 71.0764, - "y": 109.4097 + "x": 149.3403, + "y": 121.3889 }, { - "x": 71.0764, - "y": 108.6111 + "x": 150.1389, + "y": 120.5902 }, { - "x": 70.2778, - "y": 108.6111 + "x": 151.7361, + "y": 120.5902 }, { - "x": 69.4792, - "y": 108.6111 + "x": 152.5347, + "y": 119.7916 }, { - "x": 68.6805, - "y": 109.4097 - } - ], - [ + "x": 157.3264, + "y": 119.7916 + }, { - "x": 70.2778, - "y": 127.7778 + "x": 158.125, + "y": 119.7916 }, { - "x": 70.2778, - "y": 128.5764 + "x": 159.7222, + "y": 118.1944 }, { - "x": 71.0764, - "y": 129.375 + "x": 160.5208, + "y": 117.3958 }, { - "x": 71.875, - "y": 130.1736 + "x": 160.5208, + "y": 110.2083 }, { - "x": 71.875, - "y": 130.9722 + "x": 160.5208, + "y": 109.4097 }, { - "x": 73.4722, - "y": 132.5694 + "x": 159.7222, + "y": 108.6111 }, { - "x": 73.4722, - "y": 133.368 + "x": 158.9236, + "y": 108.6111 }, { - "x": 75.0694, - "y": 134.9653 + "x": 158.125, + "y": 108.6111 }, { - "x": 75.868, - "y": 135.7639 + "x": 158.125, + "y": 109.4097 }, { - "x": 76.6667, - "y": 135.7639 + "x": 157.3264, + "y": 110.2083 }, { - "x": 77.4653, - "y": 135.7639 + "x": 156.5278, + "y": 110.2083 }, { - "x": 78.2639, - "y": 136.5625 + "x": 155.7291, + "y": 111.0069 }, { - "x": 78.2639, - "y": 137.3611 + "x": 154.9305, + "y": 111.0069 }, { - "x": 83.0555, - "y": 137.3611 + "x": 154.1319, + "y": 111.8055 }, { - "x": 83.8542, - "y": 137.3611 + "x": 153.3333, + "y": 111.8055 }, { - "x": 84.6528, - "y": 136.5625 + "x": 151.7361, + "y": 113.4028 }, { - "x": 85.4514, - "y": 136.5625 + "x": 150.9375, + "y": 114.2014 }, { - "x": 85.4514, - "y": 135.7639 + "x": 150.9375, + "y": 115.0 }, { - "x": 85.4514, - "y": 134.9653 + "x": 150.1389, + "y": 115.7986 }, { - "x": 83.8542, - "y": 133.368 + "x": 149.3403, + "y": 115.7986 }, { - "x": 83.0555, - "y": 133.368 + "x": 148.5416, + "y": 116.5972 }, { - "x": 75.868, - "y": 126.1805 + "x": 147.743, + "y": 116.5972 }, { - "x": 75.868, - "y": 125.3819 + "x": 146.9444, + "y": 117.3958 }, { - "x": 72.6736, - "y": 125.3819 + "x": 146.9444, + "y": 118.1944 }, { - "x": 71.875, - "y": 125.3819 + "x": 146.9444, + "y": 118.993 }, { - "x": 71.0764, - "y": 126.1805 + "x": 146.1458, + "y": 119.7916 }, { - "x": 71.0764, - "y": 126.9791 + "x": 146.1458, + "y": 120.5902 }, { - "x": 70.2778, - "y": 127.7778 + "x": 145.3472, + "y": 121.3889 } ] ] @@ -384,8 +388,8 @@ "5": { "bounding_box": { "h": 27.152799999999985, - "w": 27.1528, - "x": 60.6944, + "w": 27.152800000000013, + "x": 141.3541, "y": 111.0069 }, "keyframe": true, @@ -393,268 +397,264 @@ "paths": [ [ { - "x": 60.6944, - "y": 123.7847 - }, - { - "x": 60.6944, - "y": 126.1805 - }, - { - "x": 60.6944, - "y": 126.9791 + "x": 141.3541, + "y": 122.9861 }, { - "x": 61.493, - "y": 127.7778 + "x": 141.3541, + "y": 128.5764 }, { - "x": 61.493, + "x": 141.3541, "y": 129.375 }, { - "x": 62.2917, + "x": 142.1528, "y": 130.1736 }, { - "x": 63.0903, - "y": 130.1736 - }, - { - "x": 63.8889, + "x": 142.1528, "y": 130.9722 }, { - "x": 66.2847, - "y": 130.9722 + "x": 142.9514, + "y": 131.7708 }, { - "x": 67.0833, - "y": 130.9722 + "x": 142.9514, + "y": 134.1666 }, { - "x": 67.0833, - "y": 130.1736 + "x": 142.9514, + "y": 134.9652 }, { - "x": 67.8819, - "y": 129.375 + "x": 143.75, + "y": 135.7639 }, { - "x": 69.4792, - "y": 129.375 + "x": 143.75, + "y": 136.5625 }, { - "x": 70.2778, - "y": 129.375 + "x": 144.5486, + "y": 137.3611 }, { - "x": 71.0764, - "y": 130.1736 + "x": 144.5486, + "y": 138.1597 }, { - "x": 71.0764, - "y": 130.9722 + "x": 145.3472, + "y": 138.1597 }, { - "x": 73.4722, - "y": 130.9722 + "x": 146.1458, + "y": 138.1597 }, { - "x": 74.2708, - "y": 130.9722 + "x": 148.5416, + "y": 135.7639 }, { - "x": 75.0694, - "y": 131.7708 + "x": 149.3403, + "y": 135.7639 }, { - "x": 75.868, - "y": 131.7708 + "x": 152.5347, + "y": 132.5694 }, { - "x": 79.0625, - "y": 134.9653 + "x": 153.3333, + "y": 131.7708 }, { - "x": 79.8611, - "y": 135.7639 + "x": 154.1319, + "y": 131.7708 }, { - "x": 80.6597, - "y": 135.7639 + "x": 154.9305, + "y": 130.9722 }, { - "x": 82.2569, - "y": 137.3611 + "x": 157.3264, + "y": 130.9722 }, { - "x": 83.0555, - "y": 138.1597 + "x": 158.125, + "y": 130.9722 }, { - "x": 83.8542, - "y": 138.1597 + "x": 158.125, + "y": 130.1736 }, { - "x": 84.6528, - "y": 138.1597 + "x": 158.9236, + "y": 129.375 }, { - "x": 84.6528, - "y": 137.3611 + "x": 160.5208, + "y": 129.375 }, { - "x": 85.4514, - "y": 136.5625 + "x": 161.3194, + "y": 129.375 }, { - "x": 85.4514, - "y": 135.7639 + "x": 162.118, + "y": 130.1736 }, { - "x": 86.25, - "y": 134.9653 + "x": 162.118, + "y": 130.9722 }, { - "x": 86.25, - "y": 132.5694 + "x": 164.5139, + "y": 130.9722 }, { - "x": 86.25, - "y": 131.7708 + "x": 165.3125, + "y": 130.9722 }, { - "x": 87.0486, - "y": 130.9722 + "x": 166.1111, + "y": 130.1736 }, { - "x": 87.0486, + "x": 166.9097, "y": 130.1736 }, { - "x": 87.8472, + "x": 167.7083, "y": 129.375 }, { - "x": 87.8472, - "y": 123.7847 + "x": 167.7083, + "y": 127.7777 }, { - "x": 87.8472, - "y": 122.9861 + "x": 168.5069, + "y": 126.9791 }, { - "x": 87.0486, - "y": 122.1875 + "x": 168.5069, + "y": 124.5833 }, { - "x": 87.0486, - "y": 121.3889 + "x": 168.5069, + "y": 123.7847 }, { - "x": 86.25, - "y": 120.5903 + "x": 167.7083, + "y": 122.9861 }, { - "x": 86.25, - "y": 119.7916 + "x": 167.7083, + "y": 122.1875 }, { - "x": 85.4514, - "y": 118.993 + "x": 166.9097, + "y": 121.3889 }, { - "x": 85.4514, - "y": 118.1944 + "x": 166.9097, + "y": 120.5902 }, { - "x": 84.6528, - "y": 117.3958 + "x": 162.9166, + "y": 116.5972 }, { - "x": 84.6528, - "y": 116.5972 + "x": 162.9166, + "y": 115.7986 }, { - "x": 81.4583, + "x": 160.5208, "y": 113.4028 }, { - "x": 80.6597, + "x": 159.7222, "y": 112.6041 }, { - "x": 79.8611, + "x": 158.9236, "y": 112.6041 }, { - "x": 79.0625, + "x": 158.125, "y": 111.8055 }, { - "x": 77.4653, - "y": 111.8055 + "x": 158.125, + "y": 111.0069 }, { - "x": 76.6667, + "x": 153.3333, "y": 111.0069 }, { - "x": 71.875, + "x": 152.5347, "y": 111.0069 }, { - "x": 71.0764, - "y": 111.0069 + "x": 151.7361, + "y": 111.8055 }, { - "x": 71.0764, + "x": 150.9375, "y": 111.8055 }, { - "x": 70.2778, - "y": 112.6041 + "x": 150.1389, + "y": 111.8055 }, { - "x": 69.4792, + "x": 149.3403, "y": 112.6041 }, { - "x": 67.0833, - "y": 115.0 + "x": 148.5416, + "y": 112.6041 }, { - "x": 66.2847, + "x": 145.3472, "y": 115.7986 }, { - "x": 66.2847, + "x": 144.5486, "y": 116.5972 }, { - "x": 63.0903, + "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": 62.2917, - "y": 120.5903 + "x": 142.9514, + "y": 120.5902 }, { - "x": 62.2917, + "x": 142.1528, "y": 121.3889 }, { - "x": 61.493, + "x": 142.1528, "y": 122.1875 }, { - "x": 61.493, + "x": 141.3541, "y": 122.9861 - }, - { - "x": 60.6944, - "y": 123.7847 } ] ] @@ -663,8 +663,8 @@ "6": { "bounding_box": { "h": 45.520799999999994, - "w": 33.5417, - "x": 59.8958, + "w": 33.54159999999999, + "x": 135.7639, "y": 95.0347 }, "keyframe": true, @@ -672,554 +672,554 @@ "paths": [ [ { - "x": 59.8958, - "y": 120.5903 + "x": 135.7639, + "y": 104.618 }, { - "x": 59.8958, - "y": 125.3819 + "x": 135.7639, + "y": 108.6111 }, { - "x": 59.8958, - "y": 126.1805 + "x": 135.7639, + "y": 109.4097 }, { - "x": 61.493, - "y": 127.7778 + "x": 136.5625, + "y": 110.2083 }, { - "x": 61.493, - "y": 128.5764 + "x": 136.5625, + "y": 112.6041 }, { - "x": 66.2847, - "y": 133.368 + "x": 136.5625, + "y": 113.4028 }, { - "x": 66.2847, - "y": 134.1666 + "x": 137.3611, + "y": 114.2014 }, { - "x": 69.4792, - "y": 134.1666 + "x": 137.3611, + "y": 117.3958 }, { - "x": 70.2778, - "y": 134.1666 + "x": 137.3611, + "y": 118.1944 }, { - "x": 70.2778, - "y": 133.368 + "x": 138.1597, + "y": 118.993 }, { - "x": 71.0764, - "y": 132.5694 + "x": 138.1597, + "y": 119.7916 }, { - "x": 78.2639, - "y": 132.5694 + "x": 138.9583, + "y": 120.5902 }, { - "x": 79.0625, - "y": 132.5694 + "x": 138.9583, + "y": 121.3889 }, { - "x": 80.6597, - "y": 134.1666 + "x": 139.7569, + "y": 122.1875 }, { - "x": 81.4583, - "y": 134.9653 + "x": 139.7569, + "y": 126.9791 }, { - "x": 81.4583, - "y": 135.7639 + "x": 139.7569, + "y": 127.7777 }, { - "x": 82.2569, - "y": 136.5625 + "x": 140.5555, + "y": 128.5764 }, { - "x": 81.4583, - "y": 137.3611 + "x": 140.5555, + "y": 129.375 }, { - "x": 81.4583, - "y": 138.1597 - }, - { - "x": 81.4583, - "y": 138.9583 - }, - { - "x": 82.2569, - "y": 139.7569 + "x": 140.5555, + "y": 130.1736 }, { - "x": 82.2569, - "y": 140.5555 + "x": 141.3541, + "y": 130.9722 }, { - "x": 84.6528, - "y": 140.5555 + "x": 141.3541, + "y": 131.7708 }, { - "x": 85.4514, - "y": 140.5555 + "x": 141.3541, + "y": 132.5694 }, { - "x": 85.4514, - "y": 138.1597 + "x": 142.1528, + "y": 133.368 }, { - "x": 85.4514, - "y": 137.3611 + "x": 142.1528, + "y": 134.1666 }, { - "x": 86.25, - "y": 136.5625 + "x": 142.1528, + "y": 134.9652 }, { - "x": 86.25, + "x": 142.9514, "y": 135.7639 }, { - "x": 87.0486, - "y": 134.9653 + "x": 142.9514, + "y": 136.5625 }, { - "x": 87.0486, - "y": 134.1666 + "x": 143.75, + "y": 137.3611 }, { - "x": 87.0486, - "y": 133.368 + "x": 143.75, + "y": 139.7569 }, { - "x": 87.8472, - "y": 132.5694 + "x": 143.75, + "y": 140.5555 }, { - "x": 87.8472, - "y": 131.7708 + "x": 146.1458, + "y": 140.5555 }, { - "x": 87.8472, - "y": 130.9722 + "x": 146.9444, + "y": 140.5555 }, { - "x": 88.6458, - "y": 130.1736 + "x": 146.9444, + "y": 139.7569 }, { - "x": 88.6458, - "y": 128.5764 + "x": 147.743, + "y": 138.9583 }, { - "x": 89.4444, - "y": 127.7778 + "x": 147.743, + "y": 137.3611 }, { - "x": 89.4444, - "y": 122.9861 + "x": 146.9444, + "y": 136.5625 }, { - "x": 89.4444, - "y": 122.1875 + "x": 147.743, + "y": 135.7639 }, { - "x": 90.243, - "y": 121.3889 + "x": 147.743, + "y": 134.9652 }, { - "x": 90.243, - "y": 120.5903 + "x": 149.3403, + "y": 133.368 }, { - "x": 91.0417, - "y": 119.7916 + "x": 150.1389, + "y": 132.5694 }, { - "x": 91.0417, - "y": 118.993 + "x": 157.3264, + "y": 132.5694 }, { - "x": 91.8403, - "y": 118.1944 + "x": 158.125, + "y": 132.5694 }, { - "x": 91.8403, - "y": 115.0 + "x": 158.9236, + "y": 133.368 }, { - "x": 91.8403, - "y": 114.2014 + "x": 158.9236, + "y": 134.1666 }, { - "x": 92.6389, - "y": 113.4028 + "x": 162.118, + "y": 134.1666 }, { - "x": 92.6389, - "y": 110.2083 + "x": 162.9166, + "y": 134.1666 }, { - "x": 93.4375, - "y": 109.4097 + "x": 162.9166, + "y": 133.368 }, { - "x": 93.4375, - "y": 105.4167 + "x": 166.9097, + "y": 129.375 }, { - "x": 93.4375, - "y": 104.618 + "x": 167.7083, + "y": 128.5764 }, { - "x": 93.4375, - "y": 105.4167 + "x": 167.7083, + "y": 127.7777 }, { - "x": 92.6389, - "y": 106.2153 + "x": 168.5069, + "y": 126.9791 }, { - "x": 92.6389, - "y": 107.0139 + "x": 169.3055, + "y": 126.1805 }, { - "x": 91.8403, - "y": 107.8125 + "x": 169.3055, + "y": 121.3889 }, { - "x": 91.0417, - "y": 107.8125 + "x": 169.3055, + "y": 120.5902 }, { - "x": 90.243, - "y": 108.6111 + "x": 167.7083, + "y": 118.993 }, { - "x": 89.4444, - "y": 108.6111 + "x": 167.7083, + "y": 118.1944 }, { - "x": 86.25, - "y": 111.8055 + "x": 166.1111, + "y": 116.5972 }, { - "x": 85.4514, - "y": 112.6041 + "x": 165.3125, + "y": 115.7986 }, { - "x": 84.6528, - "y": 112.6041 + "x": 164.5139, + "y": 115.7986 }, { - "x": 83.0555, - "y": 114.2014 + "x": 163.7153, + "y": 115.0 }, { - "x": 82.2569, + "x": 162.118, "y": 115.0 }, { - "x": 81.4583, + "x": 161.3194, "y": 115.0 }, { - "x": 80.6597, + "x": 161.3194, "y": 115.7986 }, { - "x": 79.8611, - "y": 115.7986 + "x": 159.7222, + "y": 117.3958 }, { - "x": 79.0625, - "y": 116.5972 + "x": 158.9236, + "y": 118.1944 }, { - "x": 78.2639, - "y": 116.5972 + "x": 153.3333, + "y": 118.1944 }, { - "x": 77.4653, - "y": 116.5972 + "x": 152.5347, + "y": 118.1944 }, { - "x": 77.4653, + "x": 151.7361, "y": 117.3958 }, { - "x": 76.6667, - "y": 118.1944 + "x": 151.7361, + "y": 116.5972 }, { - "x": 71.0764, - "y": 118.1944 + "x": 150.9375, + "y": 116.5972 }, { - "x": 70.2778, - "y": 118.1944 + "x": 150.1389, + "y": 116.5972 }, { - "x": 67.8819, + "x": 149.3403, "y": 115.7986 }, { - "x": 67.8819, - "y": 115.0 + "x": 148.5416, + "y": 115.7986 }, { - "x": 66.2847, + "x": 147.743, "y": 115.0 }, { - "x": 65.4861, + "x": 146.9444, "y": 115.0 }, { - "x": 64.6875, - "y": 115.7986 + "x": 144.5486, + "y": 112.6041 }, { - "x": 63.8889, - "y": 115.7986 + "x": 143.75, + "y": 112.6041 }, { - "x": 62.2917, - "y": 117.3958 + "x": 140.5555, + "y": 109.4097 }, { - "x": 61.493, - "y": 118.1944 + "x": 139.7569, + "y": 108.6111 }, { - "x": 61.493, - "y": 118.993 + "x": 138.9583, + "y": 108.6111 }, { - "x": 59.8958, - "y": 120.5903 - } - ], - [ - { - "x": 61.493, - "y": 110.2083 + "x": 138.1597, + "y": 107.8125 }, { - "x": 61.493, - "y": 111.0069 + "x": 137.3611, + "y": 107.8125 }, { - "x": 70.2778, - "y": 111.0069 + "x": 136.5625, + "y": 107.0139 }, { - "x": 71.0764, - "y": 111.0069 + "x": 136.5625, + "y": 106.2153 }, { - "x": 71.875, - "y": 111.8055 + "x": 135.7639, + "y": 105.4166 }, { - "x": 76.6667, - "y": 111.8055 - }, + "x": 135.7639, + "y": 104.618 + } + ], + [ { - "x": 77.4653, - "y": 111.8055 + "x": 140.5555, + "y": 102.2222 }, { - "x": 77.4653, - "y": 111.0069 + "x": 140.5555, + "y": 103.0208 }, { - "x": 78.2639, - "y": 110.2083 + "x": 144.5486, + "y": 107.0139 }, { - "x": 79.0625, - "y": 110.2083 + "x": 144.5486, + "y": 107.8125 }, { - "x": 81.4583, + "x": 146.1458, "y": 107.8125 }, { - "x": 82.2569, + "x": 146.9444, "y": 107.0139 }, { - "x": 83.0555, - "y": 107.8125 + "x": 149.3403, + "y": 109.4097 }, { - "x": 83.8542, - "y": 107.8125 + "x": 150.1389, + "y": 110.2083 }, { - "x": 84.6528, - "y": 107.8125 + "x": 150.9375, + "y": 110.2083 }, { - "x": 84.6528, - "y": 107.0139 + "x": 151.7361, + "y": 111.0069 }, { - "x": 88.6458, - "y": 103.0208 + "x": 151.7361, + "y": 111.8055 }, { - "x": 88.6458, - "y": 102.2222 + "x": 157.3264, + "y": 111.8055 }, { - "x": 87.8472, - "y": 101.4236 + "x": 158.125, + "y": 111.0069 }, { - "x": 87.8472, - "y": 100.625 + "x": 166.9097, + "y": 111.0069 }, { - "x": 87.0486, - "y": 100.625 + "x": 167.7083, + "y": 111.0069 }, { - "x": 85.4514, - "y": 99.0278 + "x": 167.7083, + "y": 110.2083 }, { - "x": 84.6528, - "y": 98.2292 + "x": 166.9097, + "y": 109.4097 }, { - "x": 83.8542, - "y": 98.2292 + "x": 166.9097, + "y": 108.6111 }, { - "x": 83.0555, - "y": 97.4305 + "x": 165.3125, + "y": 107.0139 }, { - "x": 82.2569, - "y": 97.4305 + "x": 164.5139, + "y": 106.2153 }, { - "x": 80.6597, - "y": 95.8333 + "x": 163.7153, + "y": 106.2153 }, { - "x": 79.8611, - "y": 95.0347 + "x": 162.9166, + "y": 105.4166 }, { - "x": 74.2708, - "y": 95.0347 + "x": 162.118, + "y": 105.4166 }, { - "x": 73.4722, - "y": 95.0347 + "x": 161.3194, + "y": 105.4166 }, { - "x": 73.4722, - "y": 95.8333 + "x": 160.5208, + "y": 104.618 }, { - "x": 74.2708, - "y": 96.6319 + "x": 159.7222, + "y": 104.618 }, { - "x": 74.2708, - "y": 97.4305 + "x": 157.3264, + "y": 102.2222 }, { - "x": 75.0694, - "y": 97.4305 + "x": 156.5278, + "y": 101.4236 }, { - "x": 75.868, - "y": 97.4305 + "x": 155.7291, + "y": 101.4236 }, { - "x": 76.6667, - "y": 98.2292 + "x": 154.9305, + "y": 100.625 }, { - "x": 76.6667, - "y": 99.0278 + "x": 154.1319, + "y": 100.625 }, { - "x": 75.868, + "x": 153.3333, "y": 99.8264 }, { - "x": 75.0694, - "y": 100.625 + "x": 152.5347, + "y": 99.0278 }, { - "x": 74.2708, - "y": 100.625 + "x": 152.5347, + "y": 98.2291 }, { - "x": 73.4722, - "y": 101.4236 + "x": 153.3333, + "y": 97.4305 }, { - "x": 72.6736, - "y": 101.4236 + "x": 154.1319, + "y": 97.4305 }, { - "x": 70.2778, - "y": 103.8194 + "x": 154.9305, + "y": 97.4305 }, { - "x": 69.4792, - "y": 104.618 + "x": 154.9305, + "y": 96.6319 }, { - "x": 68.6805, - "y": 104.618 + "x": 155.7291, + "y": 95.8333 + }, + { + "x": 155.7291, + "y": 95.0347 }, { - "x": 67.8819, - "y": 105.4167 + "x": 150.1389, + "y": 95.0347 }, { - "x": 67.0833, - "y": 105.4167 + "x": 149.3403, + "y": 95.0347 }, { - "x": 66.2847, - "y": 105.4167 + "x": 147.743, + "y": 96.6319 }, { - "x": 65.4861, - "y": 106.2153 + "x": 146.9444, + "y": 97.4305 }, { - "x": 64.6875, - "y": 106.2153 + "x": 146.1458, + "y": 97.4305 }, { - "x": 63.0903, - "y": 107.8125 + "x": 145.3472, + "y": 98.2291 }, { - "x": 62.2917, - "y": 108.6111 + "x": 144.5486, + "y": 98.2291 }, { - "x": 62.2917, - "y": 109.4097 + "x": 142.1528, + "y": 100.625 }, { - "x": 61.493, - "y": 110.2083 + "x": 141.3541, + "y": 100.625 + }, + { + "x": 141.3541, + "y": 101.4236 + }, + { + "x": 140.5555, + "y": 102.2222 } ] ] @@ -1227,9 +1227,9 @@ }, "7": { "bounding_box": { - "h": 47.11810000000001, - "w": 31.944499999999998, - "x": 61.493, + "h": 47.11800000000001, + "w": 31.9444, + "x": 135.7639, "y": 95.0347 }, "keyframe": true, @@ -1237,600 +1237,600 @@ "paths": [ [ { - "x": 61.493, - "y": 130.1736 + "x": 135.7639, + "y": 103.0208 }, { - "x": 61.493, - "y": 130.9722 + "x": 135.7639, + "y": 111.8055 }, { - "x": 62.2917, - "y": 131.7708 + "x": 135.7639, + "y": 112.6041 }, { - "x": 62.2917, - "y": 132.5694 + "x": 136.5625, + "y": 113.4028 }, { - "x": 63.0903, - "y": 133.368 + "x": 136.5625, + "y": 114.2014 }, { - "x": 63.0903, - "y": 134.1666 + "x": 136.5625, + "y": 115.0 + }, + { + "x": 138.1597, + "y": 116.5972 }, { - "x": 63.0903, - "y": 134.9653 + "x": 138.9583, + "y": 117.3958 }, { - "x": 63.8889, - "y": 135.7639 + "x": 138.9583, + "y": 118.1944 }, { - "x": 64.6875, - "y": 135.7639 + "x": 139.7569, + "y": 118.993 }, { - "x": 67.0833, - "y": 138.1597 + "x": 139.7569, + "y": 121.3889 }, { - "x": 67.8819, - "y": 138.9583 + "x": 139.7569, + "y": 122.1875 }, { - "x": 69.4792, - "y": 138.9583 + "x": 140.5555, + "y": 122.9861 }, { - "x": 70.2778, - "y": 139.7569 + "x": 140.5555, + "y": 125.3819 }, { - "x": 72.6736, - "y": 139.7569 + "x": 140.5555, + "y": 126.1805 }, { - "x": 73.4722, - "y": 139.7569 + "x": 141.3541, + "y": 126.9791 }, { - "x": 75.0694, - "y": 141.3541 + "x": 141.3541, + "y": 130.1736 }, { - "x": 75.0694, - "y": 142.1528 + "x": 141.3541, + "y": 130.9722 }, { - "x": 77.4653, - "y": 142.1528 + "x": 142.1528, + "y": 131.7708 }, { - "x": 78.2639, - "y": 142.1528 + "x": 142.1528, + "y": 133.368 }, { - "x": 79.0625, - "y": 141.3541 + "x": 142.9514, + "y": 134.1666 }, { - "x": 80.6597, - "y": 141.3541 + "x": 142.9514, + "y": 136.5625 }, { - "x": 81.4583, - "y": 141.3541 + "x": 142.9514, + "y": 137.3611 }, { - "x": 82.2569, - "y": 140.5555 + "x": 145.3472, + "y": 139.7569 }, { - "x": 83.0555, + "x": 146.1458, "y": 140.5555 }, { - "x": 85.4514, - "y": 138.1597 - }, - { - "x": 86.25, - "y": 137.3611 + "x": 146.9444, + "y": 140.5555 }, { - "x": 86.25, - "y": 134.9653 + "x": 147.743, + "y": 141.3541 }, { - "x": 86.25, - "y": 134.1666 + "x": 149.3403, + "y": 141.3541 }, { - "x": 87.0486, - "y": 133.368 + "x": 150.1389, + "y": 141.3541 }, { - "x": 87.0486, - "y": 131.7708 + "x": 150.9375, + "y": 142.1527 }, { - "x": 87.8472, - "y": 130.9722 + "x": 153.3333, + "y": 142.1527 }, { - "x": 87.8472, - "y": 127.7778 + "x": 154.1319, + "y": 142.1527 }, { - "x": 87.8472, - "y": 126.9791 + "x": 154.1319, + "y": 141.3541 }, { - "x": 88.6458, - "y": 126.1805 + "x": 154.9305, + "y": 140.5555 }, { - "x": 88.6458, - "y": 123.7847 + "x": 155.7291, + "y": 139.7569 }, { - "x": 88.6458, - "y": 122.9861 + "x": 158.125, + "y": 139.7569 }, { - "x": 89.4444, - "y": 122.1875 + "x": 158.9236, + "y": 139.7569 }, { - "x": 89.4444, - "y": 119.7916 + "x": 159.7222, + "y": 138.9583 }, { - "x": 89.4444, - "y": 118.993 + "x": 160.5208, + "y": 138.9583 }, { - "x": 90.243, - "y": 118.1944 + "x": 161.3194, + "y": 138.9583 }, { - "x": 90.243, - "y": 117.3958 + "x": 164.5139, + "y": 135.7639 }, { - "x": 91.8403, - "y": 115.7986 + "x": 165.3125, + "y": 135.7639 }, { - "x": 92.6389, - "y": 115.0 + "x": 166.1111, + "y": 134.9652 }, { - "x": 92.6389, - "y": 113.4028 + "x": 166.1111, + "y": 134.1666 }, { - "x": 93.4375, - "y": 112.6041 + "x": 166.1111, + "y": 133.368 }, { - "x": 93.4375, - "y": 103.8194 + "x": 166.9097, + "y": 132.5694 }, { - "x": 93.4375, - "y": 103.0208 + "x": 166.9097, + "y": 131.7708 }, { - "x": 92.6389, - "y": 102.2222 + "x": 167.7083, + "y": 130.9722 }, { - "x": 91.8403, - "y": 101.4236 + "x": 167.7083, + "y": 130.1736 }, { - "x": 91.0417, - "y": 101.4236 + "x": 166.9097, + "y": 129.375 }, { - "x": 90.243, - "y": 100.625 + "x": 163.7153, + "y": 129.375 }, { - "x": 89.4444, - "y": 100.625 + "x": 162.9166, + "y": 129.375 }, { - "x": 88.6458, - "y": 99.8264 + "x": 161.3194, + "y": 130.9722 }, { - "x": 87.8472, - "y": 99.8264 + "x": 160.5208, + "y": 130.9722 }, { - "x": 87.0486, - "y": 99.0278 + "x": 154.1319, + "y": 137.3611 }, { - "x": 86.25, - "y": 99.0278 + "x": 153.3333, + "y": 138.1597 }, { - "x": 85.4514, - "y": 99.0278 + "x": 152.5347, + "y": 138.1597 }, { - "x": 84.6528, - "y": 98.2292 + "x": 151.7361, + "y": 138.1597 }, { - "x": 83.8542, - "y": 98.2292 + "x": 150.9375, + "y": 137.3611 }, { - "x": 83.0555, - "y": 97.4305 + "x": 150.9375, + "y": 136.5625 }, { - "x": 82.2569, - "y": 97.4305 + "x": 150.1389, + "y": 135.7639 }, { - "x": 81.4583, - "y": 96.6319 + "x": 150.9375, + "y": 134.9652 }, { - "x": 80.6597, - "y": 96.6319 + "x": 150.9375, + "y": 133.368 }, { - "x": 79.8611, - "y": 95.8333 + "x": 150.9375, + "y": 132.5694 }, { - "x": 79.8611, - "y": 95.0347 + "x": 151.7361, + "y": 131.7708 }, { - "x": 76.6667, - "y": 95.0347 + "x": 152.5347, + "y": 130.9722 }, { - "x": 75.868, - "y": 95.0347 + "x": 152.5347, + "y": 130.1736 }, { - "x": 75.0694, - "y": 95.8333 + "x": 152.5347, + "y": 129.375 }, { - "x": 74.2708, - "y": 95.8333 + "x": 153.3333, + "y": 128.5764 }, { - "x": 75.0694, - "y": 95.8333 + "x": 154.1319, + "y": 127.7777 }, { - "x": 75.868, - "y": 95.8333 + "x": 154.9305, + "y": 127.7777 }, { - "x": 76.6667, - "y": 96.6319 + "x": 155.7291, + "y": 126.9791 }, { - "x": 76.6667, - "y": 97.4305 + "x": 158.125, + "y": 126.9791 }, { - "x": 76.6667, - "y": 98.2292 + "x": 158.9236, + "y": 126.9791 }, { - "x": 78.2639, - "y": 99.8264 + "x": 159.7222, + "y": 126.1805 }, { - "x": 79.0625, - "y": 99.8264 + "x": 160.5208, + "y": 125.3819 }, { - "x": 79.8611, - "y": 100.625 + "x": 161.3194, + "y": 125.3819 }, { - "x": 79.8611, - "y": 101.4236 + "x": 162.118, + "y": 124.5833 }, { - "x": 79.8611, - "y": 102.2222 + "x": 162.9166, + "y": 124.5833 }, { - "x": 79.0625, - "y": 103.0208 + "x": 163.7153, + "y": 123.7847 }, { - "x": 71.0764, - "y": 103.0208 + "x": 164.5139, + "y": 123.7847 }, { - "x": 70.2778, - "y": 103.0208 + "x": 165.3125, + "y": 123.7847 }, { - "x": 69.4792, - "y": 103.8194 + "x": 166.1111, + "y": 122.9861 }, { - "x": 68.6805, - "y": 103.8194 + "x": 166.1111, + "y": 122.1875 }, { - "x": 67.8819, - "y": 104.618 + "x": 166.9097, + "y": 121.3889 }, { - "x": 67.0833, - "y": 104.618 + "x": 166.9097, + "y": 120.5902 }, { - "x": 66.2847, - "y": 105.4167 + "x": 166.1111, + "y": 119.7916 }, { - "x": 65.4861, - "y": 105.4167 + "x": 166.1111, + "y": 118.993 }, { - "x": 65.4861, - "y": 106.2153 + "x": 166.1111, + "y": 118.1944 }, { - "x": 64.6875, - "y": 107.0139 + "x": 165.3125, + "y": 117.3958 }, { - "x": 64.6875, - "y": 110.2083 + "x": 164.5139, + "y": 116.5972 }, { - "x": 64.6875, - "y": 111.0069 + "x": 155.7291, + "y": 116.5972 }, { - "x": 65.4861, - "y": 111.0069 + "x": 154.9305, + "y": 116.5972 }, { - "x": 66.2847, - "y": 111.8055 + "x": 154.1319, + "y": 115.7986 }, { - "x": 66.2847, - "y": 112.6041 + "x": 153.3333, + "y": 115.0 }, { - "x": 67.8819, - "y": 112.6041 + "x": 156.5278, + "y": 111.8055 }, { - "x": 68.6805, - "y": 112.6041 + "x": 157.3264, + "y": 111.0069 }, { - "x": 68.6805, - "y": 111.8055 + "x": 158.9236, + "y": 111.0069 }, { - "x": 69.4792, + "x": 159.7222, "y": 111.0069 }, { - "x": 71.0764, - "y": 111.0069 + "x": 160.5208, + "y": 111.8055 }, { - "x": 71.875, - "y": 111.0069 + "x": 160.5208, + "y": 112.6041 }, { - "x": 75.0694, - "y": 114.2014 + "x": 162.118, + "y": 112.6041 }, { - "x": 75.868, - "y": 115.0 + "x": 162.9166, + "y": 112.6041 }, { - "x": 75.0694, - "y": 115.7986 + "x": 162.9166, + "y": 111.8055 }, { - "x": 74.2708, - "y": 116.5972 + "x": 163.7153, + "y": 111.0069 }, { - "x": 65.4861, - "y": 116.5972 + "x": 164.5139, + "y": 111.0069 }, { - "x": 64.6875, - "y": 116.5972 + "x": 164.5139, + "y": 107.8125 }, { - "x": 63.8889, - "y": 117.3958 + "x": 164.5139, + "y": 107.0139 }, { - "x": 63.0903, - "y": 118.1944 + "x": 163.7153, + "y": 106.2153 }, { - "x": 63.0903, - "y": 118.993 + "x": 163.7153, + "y": 105.4166 }, { - "x": 63.0903, - "y": 119.7916 + "x": 162.9166, + "y": 105.4166 }, { - "x": 62.2917, - "y": 120.5903 + "x": 162.118, + "y": 104.618 }, { - "x": 62.2917, - "y": 121.3889 + "x": 161.3194, + "y": 104.618 }, { - "x": 63.0903, - "y": 122.1875 + "x": 160.5208, + "y": 103.8194 }, { - "x": 63.0903, - "y": 122.9861 + "x": 159.7222, + "y": 103.8194 }, { - "x": 63.8889, - "y": 123.7847 + "x": 158.9236, + "y": 103.0208 }, { - "x": 64.6875, - "y": 123.7847 + "x": 150.9375, + "y": 103.0208 }, { - "x": 65.4861, - "y": 123.7847 + "x": 150.1389, + "y": 103.0208 }, { - "x": 66.2847, - "y": 124.5833 + "x": 149.3403, + "y": 102.2222 }, { - "x": 67.0833, - "y": 124.5833 + "x": 149.3403, + "y": 101.4236 }, { - "x": 67.8819, - "y": 125.3819 + "x": 149.3403, + "y": 100.625 }, { - "x": 68.6805, - "y": 125.3819 + "x": 150.1389, + "y": 99.8264 }, { - "x": 69.4792, - "y": 126.1805 + "x": 150.9375, + "y": 99.8264 }, { - "x": 70.2778, - "y": 126.9791 + "x": 151.7361, + "y": 99.0278 }, { - "x": 72.6736, - "y": 126.9791 + "x": 152.5347, + "y": 98.2291 }, { - "x": 73.4722, - "y": 126.9791 + "x": 152.5347, + "y": 97.4305 }, { - "x": 74.2708, - "y": 127.7778 + "x": 152.5347, + "y": 96.6319 }, { - "x": 75.0694, - "y": 127.7778 + "x": 153.3333, + "y": 95.8333 }, { - "x": 75.868, - "y": 128.5764 + "x": 154.1319, + "y": 95.8333 }, { - "x": 76.6667, - "y": 129.375 + "x": 153.3333, + "y": 95.0347 }, { - "x": 76.6667, - "y": 130.1736 + "x": 150.1389, + "y": 95.0347 }, { - "x": 76.6667, - "y": 130.9722 + "x": 149.3403, + "y": 95.0347 }, { - "x": 77.4653, - "y": 131.7708 + "x": 149.3403, + "y": 95.8333 }, { - "x": 78.2639, - "y": 132.5694 + "x": 148.5416, + "y": 96.6319 }, { - "x": 78.2639, - "y": 134.9653 + "x": 147.743, + "y": 96.6319 }, { - "x": 79.0625, - "y": 135.7639 + "x": 146.9444, + "y": 97.4305 }, { - "x": 78.2639, - "y": 136.5625 + "x": 146.1458, + "y": 97.4305 }, { - "x": 78.2639, - "y": 137.3611 + "x": 145.3472, + "y": 98.2291 }, { - "x": 77.4653, - "y": 138.1597 + "x": 144.5486, + "y": 98.2291 }, { - "x": 76.6667, - "y": 138.1597 + "x": 143.75, + "y": 99.0278 }, { - "x": 75.868, - "y": 138.1597 + "x": 142.9514, + "y": 99.0278 }, { - "x": 69.4792, - "y": 131.7708 + "x": 142.1528, + "y": 99.0278 }, { - "x": 68.6805, - "y": 130.9722 + "x": 141.3541, + "y": 99.8264 }, { - "x": 67.8819, - "y": 130.9722 + "x": 140.5555, + "y": 99.8264 }, { - "x": 67.0833, - "y": 130.1736 + "x": 139.7569, + "y": 100.625 }, { - "x": 66.2847, - "y": 129.375 + "x": 138.9583, + "y": 100.625 }, { - "x": 63.0903, - "y": 129.375 + "x": 138.1597, + "y": 101.4236 }, { - "x": 62.2917, - "y": 129.375 + "x": 137.3611, + "y": 101.4236 }, { - "x": 61.493, - "y": 130.1736 + "x": 135.7639, + "y": 103.0208 } ] ] @@ -1838,9 +1838,9 @@ }, "8": { "bounding_box": { - "h": 46.31950000000002, - "w": 33.541700000000006, - "x": 59.0972, + "h": 46.319400000000016, + "w": 33.54159999999999, + "x": 136.5625, "y": 95.8333 }, "keyframe": true, @@ -1848,2046 +1848,2082 @@ "paths": [ [ { - "x": 59.0972, - "y": 104.618 + "x": 136.5625, + "y": 102.2222 }, { - "x": 59.0972, - "y": 111.8055 + "x": 136.5625, + "y": 107.8125 }, { - "x": 59.0972, - "y": 112.6041 + "x": 136.5625, + "y": 108.6111 }, { - "x": 59.8958, - "y": 113.4028 + "x": 137.3611, + "y": 109.4097 }, { - "x": 60.6944, + "x": 137.3611, "y": 114.2014 }, { - "x": 60.6944, + "x": 137.3611, "y": 115.0 }, { - "x": 61.493, + "x": 138.1597, "y": 115.7986 }, { - "x": 61.493, + "x": 138.1597, "y": 116.5972 }, { - "x": 62.2917, + "x": 138.1597, "y": 117.3958 }, { - "x": 62.2917, + "x": 138.9583, + "y": 118.1944 + }, + { + "x": 138.9583, "y": 118.993 }, { - "x": 63.0903, + "x": 139.7569, "y": 119.7916 }, { - "x": 63.0903, - "y": 120.5903 + "x": 139.7569, + "y": 120.5902 }, { - "x": 62.2917, + "x": 140.5555, "y": 121.3889 }, { - "x": 62.2917, - "y": 122.1875 + "x": 140.5555, + "y": 125.3819 }, { - "x": 62.2917, - "y": 122.9861 + "x": 140.5555, + "y": 126.1805 }, { - "x": 63.0903, - "y": 123.7847 + "x": 141.3541, + "y": 126.9791 }, { - "x": 67.8819, - "y": 123.7847 + "x": 141.3541, + "y": 129.375 }, { - "x": 68.6805, - "y": 123.7847 + "x": 141.3541, + "y": 130.1736 }, { - "x": 69.4792, - "y": 124.5833 + "x": 142.1528, + "y": 130.9722 }, { - "x": 71.875, - "y": 124.5833 + "x": 142.1528, + "y": 131.7708 }, { - "x": 72.6736, - "y": 124.5833 + "x": 144.5486, + "y": 134.1666 }, { - "x": 74.2708, - "y": 126.1805 + "x": 145.3472, + "y": 134.9652 }, { - "x": 75.0694, - "y": 126.9791 + "x": 145.3472, + "y": 135.7639 }, { - "x": 75.0694, - "y": 127.7778 + "x": 146.1458, + "y": 136.5625 }, { - "x": 75.0694, - "y": 128.5764 + "x": 146.1458, + "y": 138.1597 }, { - "x": 72.6736, - "y": 130.9722 + "x": 146.1458, + "y": 138.9583 }, { - "x": 71.875, - "y": 130.9722 + "x": 148.5416, + "y": 141.3541 }, { - "x": 71.875, - "y": 131.7708 + "x": 149.3403, + "y": 142.1527 }, { - "x": 71.0764, - "y": 132.5694 + "x": 154.1319, + "y": 142.1527 }, { - "x": 70.2778, - "y": 132.5694 + "x": 154.9305, + "y": 142.1527 + }, + { + "x": 154.9305, + "y": 141.3541 + }, + { + "x": 155.7291, + "y": 140.5555 }, { - "x": 69.4792, + "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": 68.6805, + "x": 166.9097, "y": 131.7708 }, { - "x": 67.8819, - "y": 131.7708 + "x": 166.9097, + "y": 130.9722 + }, + { + "x": 168.5069, + "y": 129.375 }, { - "x": 65.4861, + "x": 169.3055, "y": 129.375 }, { - "x": 65.4861, + "x": 168.5069, "y": 128.5764 }, { - "x": 60.6944, + "x": 164.5139, "y": 128.5764 }, { - "x": 59.8958, - "y": 129.375 + "x": 163.7153, + "y": 128.5764 }, { - "x": 60.6944, + "x": 163.7153, "y": 129.375 }, { - "x": 61.493, - "y": 130.1736 + "x": 162.118, + "y": 130.9722 }, { - "x": 62.2917, - "y": 130.9722 + "x": 161.3194, + "y": 131.7708 }, { - "x": 62.2917, + "x": 160.5208, "y": 131.7708 }, { - "x": 63.0903, + "x": 159.7222, "y": 132.5694 }, { - "x": 63.0903, - "y": 133.368 + "x": 158.9236, + "y": 132.5694 }, { - "x": 63.8889, - "y": 134.1666 + "x": 158.125, + "y": 132.5694 }, { - "x": 64.6875, - "y": 134.9653 + "x": 157.3264, + "y": 131.7708 }, { - "x": 65.4861, - "y": 134.9653 + "x": 157.3264, + "y": 130.9722 }, { - "x": 66.2847, - "y": 134.9653 + "x": 156.5278, + "y": 130.9722 }, { - "x": 67.0833, - "y": 135.7639 + "x": 154.9305, + "y": 129.375 }, { - "x": 67.8819, - "y": 135.7639 + "x": 154.1319, + "y": 128.5764 }, { - "x": 68.6805, - "y": 136.5625 + "x": 154.1319, + "y": 127.7777 }, { - "x": 68.6805, - "y": 137.3611 + "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": 69.4792, - "y": 138.1597 + "x": 166.1111, + "y": 120.5902 }, { - "x": 69.4792, - "y": 138.9583 + "x": 166.1111, + "y": 119.7916 }, { - "x": 70.2778, - "y": 139.7569 + "x": 166.9097, + "y": 118.993 }, { - "x": 71.0764, - "y": 139.7569 + "x": 166.9097, + "y": 118.1944 }, { - "x": 71.875, - "y": 140.5555 + "x": 166.9097, + "y": 117.3958 }, { - "x": 72.6736, - "y": 140.5555 + "x": 167.7083, + "y": 116.5972 }, { - "x": 73.4722, - "y": 140.5555 + "x": 167.7083, + "y": 115.7986 }, { - "x": 74.2708, - "y": 141.3541 + "x": 168.5069, + "y": 115.0 }, { - "x": 74.2708, - "y": 142.1528 + "x": 168.5069, + "y": 114.2014 }, { - "x": 79.0625, - "y": 142.1528 + "x": 169.3055, + "y": 113.4028 }, { - "x": 79.8611, - "y": 142.1528 + "x": 170.1041, + "y": 112.6041 }, { - "x": 82.2569, - "y": 139.7569 + "x": 170.1041, + "y": 105.4166 }, { - "x": 83.0555, - "y": 138.9583 + "x": 170.1041, + "y": 104.618 }, { - "x": 83.0555, - "y": 137.3611 + "x": 169.3055, + "y": 103.8194 }, { - "x": 83.0555, - "y": 136.5625 + "x": 169.3055, + "y": 102.2222 }, { - "x": 83.8542, - "y": 135.7639 + "x": 169.3055, + "y": 101.4236 }, { - "x": 83.8542, - "y": 134.9653 + "x": 166.9097, + "y": 99.0278 }, { - "x": 86.25, - "y": 132.5694 + "x": 166.9097, + "y": 98.2291 }, { - "x": 87.0486, - "y": 131.7708 + "x": 161.3194, + "y": 98.2291 }, { - "x": 87.0486, - "y": 130.9722 + "x": 160.5208, + "y": 98.2291 }, { - "x": 87.8472, - "y": 130.1736 + "x": 160.5208, + "y": 99.0278 }, { - "x": 87.8472, - "y": 126.9791 + "x": 159.7222, + "y": 99.8264 }, { - "x": 88.6458, - "y": 126.1805 + "x": 158.9236, + "y": 99.8264 }, { - "x": 88.6458, - "y": 122.1875 + "x": 158.9236, + "y": 101.4236 }, { - "x": 88.6458, - "y": 121.3889 + "x": 158.9236, + "y": 102.2222 }, { - "x": 89.4444, - "y": 120.5903 + "x": 158.125, + "y": 103.0208 }, { - "x": 89.4444, - "y": 119.7916 + "x": 157.3264, + "y": 103.8194 }, { - "x": 90.243, - "y": 118.993 + "x": 157.3264, + "y": 104.618 }, { - "x": 90.243, - "y": 118.1944 + "x": 156.5278, + "y": 105.4166 }, { - "x": 91.0417, - "y": 117.3958 + "x": 155.7291, + "y": 106.2153 }, { - "x": 91.0417, - "y": 115.7986 + "x": 151.7361, + "y": 106.2153 }, { - "x": 91.8403, - "y": 115.0 + "x": 150.9375, + "y": 106.2153 }, { - "x": 91.8403, - "y": 110.2083 + "x": 150.1389, + "y": 105.4166 }, { - "x": 91.8403, - "y": 109.4097 + "x": 150.1389, + "y": 104.618 }, { - "x": 92.6389, - "y": 108.6111 + "x": 150.1389, + "y": 103.8194 }, { - "x": 92.6389, + "x": 149.3403, "y": 103.0208 }, { - "x": 92.6389, + "x": 149.3403, "y": 102.2222 }, { - "x": 91.8403, + "x": 150.1389, "y": 101.4236 }, { - "x": 91.8403, + "x": 150.1389, "y": 100.625 }, { - "x": 91.8403, + "x": 150.1389, "y": 99.8264 }, { - "x": 91.0417, + "x": 150.9375, "y": 99.0278 }, { - "x": 91.0417, - "y": 98.2292 - }, - { - "x": 90.243, - "y": 97.4305 - }, - { - "x": 89.4444, - "y": 97.4305 + "x": 151.7361, + "y": 98.2291 }, { - "x": 88.6458, + "x": 151.7361, "y": 97.4305 }, { - "x": 87.8472, + "x": 151.7361, "y": 96.6319 }, { - "x": 87.0486, + "x": 150.9375, "y": 95.8333 }, { - "x": 79.0625, + "x": 142.9514, "y": 95.8333 }, { - "x": 78.2639, + "x": 142.1528, "y": 95.8333 }, { - "x": 77.4653, + "x": 141.3541, "y": 96.6319 }, { - "x": 77.4653, + "x": 140.5555, + "y": 97.4305 + }, + { + "x": 138.9583, "y": 97.4305 }, { - "x": 77.4653, - "y": 98.2292 + "x": 138.1597, + "y": 98.2291 }, { - "x": 78.2639, + "x": 138.1597, "y": 99.0278 }, { - "x": 79.0625, + "x": 137.3611, "y": 99.8264 }, { - "x": 79.0625, + "x": 137.3611, + "y": 100.625 + }, + { + "x": 137.3611, "y": 101.4236 }, { - "x": 79.8611, + "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": 79.8611, - "y": 103.0208 + "x": 136.5625, + "y": 102.2222 }, { - "x": 79.0625, - "y": 103.8194 + "x": 136.5625, + "y": 114.2014 }, { - "x": 79.0625, - "y": 105.4167 + "x": 136.5625, + "y": 115.0 }, { - "x": 78.2639, - "y": 106.2153 + "x": 137.3611, + "y": 115.7986 }, { - "x": 74.2708, - "y": 106.2153 + "x": 137.3611, + "y": 118.1944 }, { - "x": 73.4722, - "y": 106.2153 + "x": 137.3611, + "y": 118.993 }, { - "x": 72.6736, - "y": 105.4167 + "x": 138.1597, + "y": 119.7916 }, { - "x": 71.875, - "y": 104.618 + "x": 138.1597, + "y": 122.9861 }, { - "x": 71.875, - "y": 103.8194 + "x": 138.9583, + "y": 123.7847 }, { - "x": 71.0764, - "y": 103.0208 + "x": 138.1597, + "y": 124.5833 }, { - "x": 70.2778, - "y": 102.2222 + "x": 138.1597, + "y": 126.1805 }, { - "x": 70.2778, - "y": 100.625 + "x": 138.1597, + "y": 126.9791 }, { - "x": 70.2778, - "y": 99.8264 + "x": 142.1528, + "y": 130.9722 }, { - "x": 69.4792, - "y": 99.8264 + "x": 142.9514, + "y": 131.7708 }, { - "x": 68.6805, - "y": 99.0278 + "x": 142.9514, + "y": 132.5694 }, { - "x": 68.6805, - "y": 98.2292 + "x": 142.9514, + "y": 133.368 }, { - "x": 63.0903, - "y": 98.2292 + "x": 143.75, + "y": 134.1666 }, { - "x": 62.2917, - "y": 98.2292 + "x": 143.75, + "y": 134.9652 }, { - "x": 62.2917, - "y": 99.0278 + "x": 144.5486, + "y": 135.7639 }, { - "x": 60.6944, - "y": 100.625 + "x": 144.5486, + "y": 136.5625 }, { - "x": 59.8958, - "y": 101.4236 + "x": 144.5486, + "y": 137.3611 }, { - "x": 59.8958, - "y": 103.0208 + "x": 145.3472, + "y": 138.1597 }, { - "x": 59.8958, - "y": 103.8194 + "x": 145.3472, + "y": 138.9583 }, { - "x": 59.0972, - "y": 104.618 - } - ] - ] - } - }, - "9": { - "bounding_box": { - "h": 49.51390000000001, - "w": 34.340300000000006, - "x": 58.2986, - "y": 93.4375 - }, - "keyframe": true, - "polygon": { - "paths": [ - [ - { - "x": 58.2986, - "y": 112.6041 + "x": 146.1458, + "y": 139.7569 }, { - "x": 58.2986, - "y": 113.4028 + "x": 146.9444, + "y": 139.7569 }, { - "x": 58.2986, - "y": 114.2014 + "x": 147.743, + "y": 140.5555 }, { - "x": 60.6944, - "y": 116.5972 + "x": 148.5416, + "y": 141.3541 }, { - "x": 61.493, - "y": 117.3958 + "x": 149.3403, + "y": 141.3541 }, { - "x": 62.2917, - "y": 117.3958 + "x": 150.1389, + "y": 142.1527 }, { - "x": 63.0903, - "y": 117.3958 + "x": 150.9375, + "y": 142.9514 }, { - "x": 63.8889, - "y": 118.1944 + "x": 160.5208, + "y": 142.9514 }, { - "x": 64.6875, - "y": 118.1944 + "x": 161.3194, + "y": 142.9514 }, { - "x": 65.4861, - "y": 118.1944 + "x": 162.118, + "y": 142.1527 }, { - "x": 66.2847, - "y": 118.993 + "x": 162.9166, + "y": 141.3541 }, { - "x": 66.2847, - "y": 119.7916 + "x": 163.7153, + "y": 141.3541 }, { - "x": 69.4792, - "y": 119.7916 + "x": 164.5139, + "y": 140.5555 }, { - "x": 70.2778, - "y": 118.993 + "x": 165.3125, + "y": 140.5555 }, { - "x": 71.0764, - "y": 119.7916 + "x": 166.1111, + "y": 140.5555 }, { - "x": 71.875, - "y": 120.5903 + "x": 166.9097, + "y": 139.7569 }, { - "x": 71.875, - "y": 123.7847 + "x": 166.9097, + "y": 138.9583 }, { - "x": 72.6736, - "y": 124.5833 + "x": 167.7083, + "y": 138.1597 }, { - "x": 71.875, - "y": 125.3819 + "x": 168.5069, + "y": 137.3611 }, { - "x": 71.875, - "y": 126.1805 + "x": 169.3055, + "y": 137.3611 }, { - "x": 71.0764, - "y": 126.9791 + "x": 170.1041, + "y": 137.3611 }, { - "x": 70.2778, - "y": 126.9791 + "x": 170.1041, + "y": 135.7639 }, { - "x": 70.2778, - "y": 127.7778 + "x": 170.9028, + "y": 134.9652 }, { - "x": 69.4792, - "y": 128.5764 + "x": 170.9028, + "y": 130.1736 }, { - "x": 67.0833, - "y": 128.5764 + "x": 170.9028, + "y": 129.375 }, { - "x": 66.2847, + "x": 170.1041, "y": 128.5764 }, { - "x": 65.4861, - "y": 127.7778 - }, - { - "x": 64.6875, - "y": 127.7778 - }, - { - "x": 62.2917, + "x": 170.1041, "y": 125.3819 }, { - "x": 61.493, + "x": 169.3055, "y": 124.5833 }, { - "x": 60.6944, + "x": 168.5069, "y": 124.5833 }, { - "x": 59.8958, + "x": 167.7083, "y": 124.5833 }, { - "x": 59.0972, - "y": 125.3819 - }, - { - "x": 59.0972, - "y": 128.5764 + "x": 165.3125, + "y": 126.9791 }, { - "x": 58.2986, - "y": 129.375 + "x": 164.5139, + "y": 127.7777 }, { - "x": 58.2986, - "y": 134.1666 + "x": 163.7153, + "y": 127.7777 }, { - "x": 58.2986, - "y": 134.9653 + "x": 162.9166, + "y": 128.5764 }, { - "x": 59.0972, - "y": 135.7639 + "x": 160.5208, + "y": 128.5764 }, { - "x": 59.0972, - "y": 136.5625 + "x": 159.7222, + "y": 128.5764 }, { - "x": 59.0972, - "y": 137.3611 + "x": 158.9236, + "y": 127.7777 }, { - "x": 59.8958, - "y": 137.3611 + "x": 158.9236, + "y": 126.9791 }, { - "x": 60.6944, - "y": 137.3611 + "x": 158.125, + "y": 126.9791 }, { - "x": 61.493, - "y": 138.1597 + "x": 157.3264, + "y": 126.1805 }, { - "x": 62.2917, - "y": 138.9583 + "x": 157.3264, + "y": 125.3819 }, { - "x": 62.2917, - "y": 139.7569 + "x": 156.5278, + "y": 124.5833 }, { - "x": 63.0903, - "y": 140.5555 + "x": 157.3264, + "y": 123.7847 }, { - "x": 63.8889, - "y": 140.5555 + "x": 157.3264, + "y": 121.3889 }, { - "x": 64.6875, - "y": 140.5555 + "x": 157.3264, + "y": 120.5902 }, { - "x": 65.4861, - "y": 141.3541 + "x": 158.125, + "y": 119.7916 }, { - "x": 66.2847, - "y": 141.3541 + "x": 158.9236, + "y": 118.993 }, { - "x": 67.0833, - "y": 142.1528 + "x": 159.7222, + "y": 119.7916 }, { - "x": 67.8819, - "y": 142.9514 + "x": 162.118, + "y": 119.7916 }, { - "x": 77.4653, - "y": 142.9514 + "x": 162.9166, + "y": 119.7916 }, { - "x": 78.2639, - "y": 142.9514 + "x": 162.9166, + "y": 118.993 }, { - "x": 79.0625, - "y": 142.1528 + "x": 163.7153, + "y": 118.1944 }, { - "x": 79.8611, - "y": 141.3541 + "x": 164.5139, + "y": 118.1944 }, { - "x": 80.6597, - "y": 141.3541 + "x": 165.3125, + "y": 118.1944 }, { - "x": 82.2569, - "y": 139.7569 + "x": 166.1111, + "y": 117.3958 }, { - "x": 83.0555, - "y": 139.7569 + "x": 166.9097, + "y": 117.3958 }, { - "x": 83.8542, - "y": 138.9583 + "x": 167.7083, + "y": 117.3958 }, { - "x": 83.8542, - "y": 138.1597 + "x": 170.1041, + "y": 115.0 }, { - "x": 84.6528, - "y": 137.3611 + "x": 170.9028, + "y": 114.2014 }, { - "x": 84.6528, - "y": 136.5625 + "x": 170.9028, + "y": 113.4028 }, { - "x": 84.6528, - "y": 135.7639 + "x": 170.9028, + "y": 112.6041 }, { - "x": 85.4514, - "y": 134.9653 + "x": 170.1041, + "y": 111.8055 }, { - "x": 85.4514, - "y": 134.1666 + "x": 169.3055, + "y": 111.8055 }, { - "x": 86.25, - "y": 133.368 + "x": 168.5069, + "y": 112.6041 }, { - "x": 86.25, - "y": 132.5694 + "x": 167.7083, + "y": 113.4028 }, { - "x": 86.25, - "y": 131.7708 + "x": 166.9097, + "y": 113.4028 }, { - "x": 90.243, - "y": 127.7778 + "x": 165.3125, + "y": 115.0 }, { - "x": 91.0417, - "y": 126.9791 + "x": 164.5139, + "y": 115.7986 }, { - "x": 91.0417, - "y": 124.5833 + "x": 163.7153, + "y": 115.7986 }, { - "x": 90.243, - "y": 123.7847 + "x": 162.9166, + "y": 115.0 }, { - "x": 91.0417, - "y": 122.9861 + "x": 162.9166, + "y": 114.2014 }, { - "x": 91.0417, - "y": 120.5903 + "x": 162.9166, + "y": 113.4028 }, { - "x": 91.0417, - "y": 119.7916 + "x": 163.7153, + "y": 112.6041 }, { - "x": 91.8403, - "y": 118.993 + "x": 164.5139, + "y": 111.8055 }, { - "x": 91.8403, - "y": 115.7986 + "x": 164.5139, + "y": 111.0069 }, { - "x": 92.6389, - "y": 115.0 + "x": 165.3125, + "y": 110.2083 }, { - "x": 92.6389, - "y": 103.0208 + "x": 165.3125, + "y": 108.6111 }, { - "x": 92.6389, - "y": 102.2222 + "x": 166.1111, + "y": 107.8125 }, { - "x": 91.8403, - "y": 101.4236 + "x": 166.1111, + "y": 107.0139 }, { - "x": 91.8403, - "y": 100.625 + "x": 164.5139, + "y": 105.4166 }, { - "x": 91.8403, - "y": 99.8264 + "x": 164.5139, + "y": 104.618 }, { - "x": 90.243, - "y": 98.2292 + "x": 165.3125, + "y": 103.8194 }, { - "x": 89.4444, - "y": 97.4305 + "x": 166.1111, + "y": 103.8194 }, { - "x": 88.6458, - "y": 97.4305 + "x": 166.9097, + "y": 103.8194 }, { - "x": 87.0486, - "y": 95.8333 + "x": 167.7083, + "y": 103.0208 }, { - "x": 86.25, - "y": 95.0347 + "x": 168.5069, + "y": 103.0208 }, { - "x": 85.4514, - "y": 95.0347 + "x": 169.3055, + "y": 102.2222 }, { - "x": 84.6528, - "y": 95.0347 + "x": 170.1041, + "y": 102.2222 }, { - "x": 83.8542, - "y": 94.2361 + "x": 170.1041, + "y": 99.8264 }, { - "x": 83.8542, - "y": 93.4375 + "x": 170.1041, + "y": 99.0278 }, { - "x": 77.4653, - "y": 93.4375 + "x": 168.5069, + "y": 99.0278 }, { - "x": 76.6667, - "y": 93.4375 + "x": 167.7083, + "y": 98.2291 }, { - "x": 75.868, - "y": 94.2361 + "x": 165.3125, + "y": 98.2291 }, { - "x": 75.0694, - "y": 95.0347 + "x": 164.5139, + "y": 98.2291 }, { - "x": 75.0694, - "y": 97.4305 + "x": 164.5139, + "y": 99.0278 }, { - "x": 75.0694, - "y": 98.2292 + "x": 163.7153, + "y": 99.8264 }, { - "x": 77.4653, + "x": 162.9166, "y": 100.625 }, { - "x": 78.2639, + "x": 162.9166, "y": 101.4236 }, { - "x": 78.2639, + "x": 162.118, "y": 102.2222 }, { - "x": 79.0625, + "x": 162.118, "y": 103.0208 }, { - "x": 79.0625, + "x": 161.3194, "y": 103.8194 }, { - "x": 79.0625, + "x": 161.3194, "y": 104.618 }, { - "x": 78.2639, - "y": 105.4167 + "x": 160.5208, + "y": 105.4166 }, { - "x": 77.4653, + "x": 159.7222, "y": 106.2153 }, { - "x": 75.868, + "x": 158.125, "y": 106.2153 }, { - "x": 75.0694, + "x": 157.3264, "y": 106.2153 }, { - "x": 75.0694, + "x": 156.5278, "y": 107.0139 }, { - "x": 74.2708, - "y": 107.8125 + "x": 155.7291, + "y": 107.0139 }, { - "x": 73.4722, - "y": 107.0139 + "x": 154.9305, + "y": 107.8125 }, { - "x": 72.6736, + "x": 154.1319, "y": 107.0139 }, { - "x": 71.875, + "x": 154.1319, "y": 106.2153 }, { - "x": 70.2778, + "x": 152.5347, "y": 106.2153 }, { - "x": 69.4792, + "x": 151.7361, "y": 106.2153 }, { - "x": 68.6805, - "y": 105.4167 + "x": 150.9375, + "y": 105.4166 }, { - "x": 67.8819, + "x": 150.1389, "y": 104.618 }, { - "x": 67.8819, + "x": 150.1389, "y": 103.8194 }, { - "x": 67.0833, + "x": 150.1389, "y": 103.0208 }, { - "x": 67.0833, + "x": 150.9375, "y": 102.2222 }, { - "x": 66.2847, + "x": 150.9375, "y": 101.4236 }, { - "x": 66.2847, - "y": 100.625 - }, - { - "x": 64.6875, + "x": 153.3333, "y": 99.0278 }, { - "x": 64.6875, - "y": 98.2292 - }, - { - "x": 62.2917, - "y": 98.2292 + "x": 154.1319, + "y": 98.2291 }, { - "x": 61.493, - "y": 98.2292 + "x": 154.1319, + "y": 95.8333 }, { - "x": 60.6944, - "y": 99.0278 + "x": 154.1319, + "y": 95.0347 }, { - "x": 59.8958, - "y": 99.0278 + "x": 153.3333, + "y": 94.2361 }, { - "x": 59.0972, - "y": 99.0278 + "x": 152.5347, + "y": 93.4375 }, { - "x": 59.0972, - "y": 101.4236 + "x": 146.1458, + "y": 93.4375 }, { - "x": 59.0972, - "y": 102.2222 + "x": 145.3472, + "y": 93.4375 }, { - "x": 59.8958, - "y": 102.2222 + "x": 145.3472, + "y": 94.2361 }, { - "x": 60.6944, - "y": 103.0208 + "x": 144.5486, + "y": 95.0347 }, { - "x": 61.493, - "y": 103.0208 + "x": 143.75, + "y": 95.0347 }, { - "x": 62.2917, - "y": 103.8194 + "x": 142.9514, + "y": 95.0347 }, { - "x": 63.8889, - "y": 103.8194 + "x": 140.5555, + "y": 97.4305 }, { - "x": 64.6875, - "y": 104.618 + "x": 139.7569, + "y": 97.4305 }, { - "x": 64.6875, - "y": 105.4167 + "x": 138.1597, + "y": 99.0278 }, { - "x": 63.0903, - "y": 107.0139 + "x": 137.3611, + "y": 99.8264 }, { - "x": 63.0903, - "y": 107.8125 + "x": 137.3611, + "y": 100.625 }, { - "x": 63.8889, - "y": 108.6111 + "x": 137.3611, + "y": 101.4236 }, { - "x": 63.8889, - "y": 109.4097 - }, + "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": 63.8889, - "y": 110.2083 + "x": 134.1666, + "y": 116.5972 }, { - "x": 64.6875, - "y": 111.0069 + "x": 134.1666, + "y": 118.1944 }, { - "x": 64.6875, - "y": 111.8055 + "x": 134.9653, + "y": 118.993 }, { - "x": 65.4861, - "y": 112.6041 + "x": 134.9653, + "y": 121.3889 }, { - "x": 66.2847, - "y": 113.4028 + "x": 134.9653, + "y": 122.1875 }, { - "x": 66.2847, - "y": 114.2014 + "x": 135.7639, + "y": 122.9861 }, { - "x": 66.2847, - "y": 115.0 + "x": 135.7639, + "y": 124.5833 }, { - "x": 65.4861, - "y": 115.7986 + "x": 135.7639, + "y": 125.3819 }, { - "x": 64.6875, - "y": 115.7986 + "x": 136.5625, + "y": 126.1805 }, { - "x": 63.0903, - "y": 114.2014 + "x": 136.5625, + "y": 126.9791 }, { - "x": 62.2917, - "y": 113.4028 + "x": 136.5625, + "y": 127.7777 }, { - "x": 61.493, - "y": 113.4028 + "x": 137.3611, + "y": 128.5764 }, { - "x": 60.6944, - "y": 112.6041 + "x": 137.3611, + "y": 129.375 }, { - "x": 59.8958, - "y": 111.8055 + "x": 138.9583, + "y": 130.9722 }, { - "x": 59.0972, - "y": 111.8055 + "x": 139.7569, + "y": 131.7708 }, { - "x": 58.2986, - "y": 112.6041 - } - ] - ] - } - }, - "10": { - "bounding_box": { - "h": 47.9166, - "w": 40.7292, - "x": 54.3055, - "y": 91.8403 - }, - "keyframe": true, - "polygon": { - "paths": [ - [ - { - "x": 54.3055, - "y": 124.5833 + "x": 139.7569, + "y": 132.5694 }, { - "x": 54.3055, - "y": 125.3819 + "x": 140.5555, + "y": 133.368 }, { - "x": 55.1042, - "y": 126.1805 + "x": 140.5555, + "y": 134.1666 }, { - "x": 55.1042, - "y": 129.375 + "x": 141.3541, + "y": 134.9652 }, { - "x": 55.1042, - "y": 130.1736 + "x": 142.1528, + "y": 134.9652 }, { - "x": 55.9028, - "y": 130.9722 + "x": 142.9514, + "y": 134.9652 }, { - "x": 56.7014, - "y": 131.7708 + "x": 142.9514, + "y": 134.1666 }, { - "x": 56.7014, + "x": 144.5486, "y": 132.5694 }, { - "x": 56.7014, - "y": 133.368 - }, - { - "x": 58.2986, - "y": 134.9653 - }, - { - "x": 59.0972, - "y": 135.7639 + "x": 145.3472, + "y": 131.7708 }, { - "x": 59.8958, - "y": 135.7639 + "x": 146.1458, + "y": 131.7708 }, { - "x": 60.6944, - "y": 136.5625 + "x": 146.9444, + "y": 130.9722 }, { - "x": 62.2917, - "y": 136.5625 + "x": 146.9444, + "y": 130.1736 }, { - "x": 63.0903, - "y": 137.3611 + "x": 146.9444, + "y": 129.375 }, { - "x": 65.4861, - "y": 137.3611 + "x": 147.743, + "y": 128.5764 }, { - "x": 66.2847, - "y": 138.1597 + "x": 148.5416, + "y": 127.7777 }, { - "x": 74.2708, - "y": 138.1597 + "x": 147.743, + "y": 126.9791 }, { - "x": 75.0694, - "y": 138.1597 + "x": 146.9444, + "y": 126.1805 }, { - "x": 75.868, - "y": 138.9583 + "x": 146.1458, + "y": 126.1805 }, { - "x": 76.6667, - "y": 139.7569 + "x": 145.3472, + "y": 125.3819 }, { - "x": 78.2639, - "y": 139.7569 + "x": 144.5486, + "y": 124.5833 }, { - "x": 79.0625, - "y": 139.7569 + "x": 144.5486, + "y": 123.7847 }, { - "x": 79.0625, - "y": 138.9583 + "x": 142.9514, + "y": 122.1875 }, { - "x": 79.8611, - "y": 138.1597 + "x": 142.1528, + "y": 121.3889 }, { - "x": 80.6597, - "y": 138.9583 + "x": 142.1528, + "y": 120.5902 }, { - "x": 80.6597, - "y": 139.7569 + "x": 142.1528, + "y": 119.7916 }, { - "x": 81.4583, - "y": 139.7569 + "x": 141.3541, + "y": 118.993 }, { - "x": 79.0625, - "y": 137.3611 + "x": 141.3541, + "y": 118.1944 }, { - "x": 78.2639, - "y": 136.5625 + "x": 142.1528, + "y": 117.3958 }, { - "x": 78.2639, - "y": 134.9653 + "x": 142.9514, + "y": 116.5972 }, { - "x": 78.2639, - "y": 134.1666 + "x": 143.75, + "y": 117.3958 }, { - "x": 79.0625, - "y": 133.368 + "x": 144.5486, + "y": 118.1944 }, { - "x": 79.0625, - "y": 131.7708 + "x": 144.5486, + "y": 118.993 }, { - "x": 79.0625, - "y": 130.9722 + "x": 145.3472, + "y": 119.7916 }, { - "x": 78.2639, - "y": 130.1736 + "x": 145.3472, + "y": 120.5902 }, { - "x": 78.2639, - "y": 129.375 + "x": 150.1389, + "y": 125.3819 }, { - "x": 77.4653, - "y": 128.5764 + "x": 150.9375, + "y": 126.1805 }, { - "x": 77.4653, - "y": 127.7778 + "x": 150.9375, + "y": 126.9791 }, { - "x": 78.2639, - "y": 126.9791 + "x": 151.7361, + "y": 127.7777 }, { - "x": 78.2639, - "y": 126.1805 + "x": 151.7361, + "y": 128.5764 }, { - "x": 83.0555, - "y": 121.3889 + "x": 150.9375, + "y": 129.375 }, { - "x": 83.8542, - "y": 120.5903 + "x": 150.9375, + "y": 130.1736 }, { - "x": 83.8542, - "y": 119.7916 + "x": 150.1389, + "y": 130.9722 }, { - "x": 84.6528, - "y": 118.993 + "x": 150.1389, + "y": 132.5694 }, { - "x": 84.6528, - "y": 118.1944 + "x": 150.1389, + "y": 133.368 }, { - "x": 85.4514, - "y": 117.3958 + "x": 150.9375, + "y": 134.1666 }, { - "x": 86.25, - "y": 116.5972 + "x": 150.9375, + "y": 135.7639 }, { - "x": 87.8472, - "y": 118.1944 + "x": 150.9375, + "y": 136.5625 }, { - "x": 87.8472, - "y": 118.993 + "x": 148.5416, + "y": 138.9583 }, { - "x": 87.0486, - "y": 119.7916 + "x": 147.743, + "y": 139.7569 }, { - "x": 87.0486, - "y": 120.5903 + "x": 148.5416, + "y": 139.7569 }, { - "x": 87.0486, - "y": 121.3889 + "x": 148.5416, + "y": 138.9583 }, { - "x": 84.6528, - "y": 123.7847 + "x": 149.3403, + "y": 138.1597 }, { - "x": 84.6528, - "y": 124.5833 + "x": 150.1389, + "y": 138.9583 }, { - "x": 83.8542, - "y": 125.3819 + "x": 150.1389, + "y": 139.7569 }, { - "x": 83.0555, - "y": 126.1805 + "x": 151.7361, + "y": 139.7569 }, { - "x": 82.2569, - "y": 126.1805 + "x": 152.5347, + "y": 139.7569 }, { - "x": 81.4583, - "y": 126.9791 + "x": 153.3333, + "y": 138.9583 }, { - "x": 80.6597, - "y": 127.7778 + "x": 154.1319, + "y": 138.1597 }, { - "x": 81.4583, - "y": 128.5764 + "x": 162.118, + "y": 138.1597 }, { - "x": 82.2569, - "y": 129.375 + "x": 162.9166, + "y": 138.1597 }, { - "x": 82.2569, - "y": 130.1736 + "x": 163.7153, + "y": 137.3611 }, { - "x": 82.2569, - "y": 130.9722 + "x": 165.3125, + "y": 137.3611 }, { - "x": 83.0555, - "y": 131.7708 + "x": 166.1111, + "y": 137.3611 }, { - "x": 83.8542, - "y": 131.7708 + "x": 166.9097, + "y": 136.5625 }, { - "x": 86.25, - "y": 134.1666 + "x": 167.7083, + "y": 136.5625 }, { - "x": 86.25, - "y": 134.9653 + "x": 168.5069, + "y": 136.5625 }, { - "x": 87.0486, - "y": 134.9653 + "x": 169.3055, + "y": 135.7639 }, { - "x": 87.8472, - "y": 134.9653 + "x": 170.1041, + "y": 135.7639 }, { - "x": 88.6458, + "x": 171.7014, "y": 134.1666 }, { - "x": 88.6458, + "x": 172.5, "y": 133.368 }, { - "x": 89.4444, + "x": 172.5, "y": 132.5694 }, { - "x": 89.4444, + "x": 172.5, "y": 131.7708 }, { - "x": 91.0417, + "x": 173.2986, + "y": 130.9722 + }, + { + "x": 174.0972, "y": 130.1736 }, { - "x": 91.8403, - "y": 129.375 + "x": 174.0972, + "y": 126.9791 }, { - "x": 91.8403, - "y": 128.5764 + "x": 174.0972, + "y": 126.1805 }, { - "x": 92.6389, - "y": 127.7778 + "x": 174.8958, + "y": 125.3819 }, { - "x": 92.6389, - "y": 126.1805 + "x": 174.8958, + "y": 124.5833 }, { - "x": 93.4375, - "y": 125.3819 + "x": 166.9097, + "y": 124.5833 + }, + { + "x": 166.1111, + "y": 124.5833 }, { - "x": 93.4375, + "x": 165.3125, "y": 123.7847 }, { - "x": 93.4375, - "y": 122.9861 + "x": 164.5139, + "y": 123.7847 }, { - "x": 94.2361, - "y": 122.1875 + "x": 162.118, + "y": 121.3889 + }, + { + "x": 161.3194, + "y": 120.5902 }, { - "x": 94.2361, + "x": 161.3194, "y": 119.7916 }, { - "x": 94.2361, + "x": 161.3194, "y": 118.993 }, { - "x": 95.0347, + "x": 162.118, "y": 118.1944 }, { - "x": 95.0347, + "x": 162.118, "y": 117.3958 }, { - "x": 95.0347, + "x": 162.9166, "y": 116.5972 }, { - "x": 94.2361, + "x": 162.9166, "y": 115.7986 }, { - "x": 94.2361, - "y": 109.4097 + "x": 164.5139, + "y": 114.2014 }, { - "x": 94.2361, - "y": 108.6111 + "x": 165.3125, + "y": 113.4028 }, { - "x": 93.4375, + "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": 93.4375, + "x": 170.1041, + "y": 107.0139 + }, + { + "x": 169.3055, "y": 106.2153 }, { - "x": 93.4375, - "y": 105.4167 + "x": 169.3055, + "y": 105.4166 }, { - "x": 92.6389, + "x": 169.3055, "y": 104.618 }, { - "x": 92.6389, + "x": 168.5069, "y": 103.8194 }, { - "x": 91.8403, + "x": 168.5069, "y": 103.0208 }, { - "x": 91.8403, - "y": 101.4236 + "x": 167.7083, + "y": 102.2222 }, { - "x": 91.8403, - "y": 100.625 + "x": 167.7083, + "y": 101.4236 }, { - "x": 91.0417, - "y": 100.625 + "x": 166.1111, + "y": 99.8264 }, { - "x": 91.0417, - "y": 101.4236 + "x": 165.3125, + "y": 99.0278 }, { - "x": 89.4444, - "y": 103.0208 + "x": 164.5139, + "y": 99.0278 }, { - "x": 88.6458, - "y": 103.8194 + "x": 163.7153, + "y": 99.0278 }, { - "x": 88.6458, - "y": 104.618 + "x": 163.7153, + "y": 99.8264 }, { - "x": 87.8472, - "y": 105.4167 + "x": 162.9166, + "y": 100.625 }, { - "x": 87.8472, - "y": 107.0139 + "x": 162.118, + "y": 100.625 }, { - "x": 87.0486, - "y": 107.8125 + "x": 161.3194, + "y": 101.4236 }, { - "x": 87.0486, - "y": 109.4097 + "x": 160.5208, + "y": 102.2222 }, { - "x": 87.0486, - "y": 110.2083 + "x": 160.5208, + "y": 103.0208 }, { - "x": 86.25, - "y": 111.0069 + "x": 159.7222, + "y": 103.8194 }, { - "x": 86.25, - "y": 111.8055 + "x": 158.9236, + "y": 104.618 }, { - "x": 83.8542, - "y": 114.2014 + "x": 157.3264, + "y": 104.618 }, { - "x": 83.0555, - "y": 114.2014 + "x": 156.5278, + "y": 104.618 }, { - "x": 83.0555, - "y": 115.0 + "x": 155.7291, + "y": 103.8194 }, { - "x": 82.2569, - "y": 115.7986 + "x": 155.7291, + "y": 103.0208 }, { - "x": 81.4583, - "y": 115.7986 + "x": 156.5278, + "y": 102.2222 }, { - "x": 79.8611, - "y": 114.2014 + "x": 157.3264, + "y": 101.4236 }, { - "x": 79.8611, - "y": 113.4028 + "x": 157.3264, + "y": 100.625 }, { - "x": 81.4583, - "y": 111.8055 + "x": 158.125, + "y": 99.8264 }, { - "x": 82.2569, - "y": 111.0069 + "x": 158.125, + "y": 99.0278 }, { - "x": 83.0555, - "y": 111.0069 + "x": 158.125, + "y": 98.2291 }, { - "x": 83.8542, - "y": 110.2083 + "x": 157.3264, + "y": 98.2291 }, { - "x": 83.8542, - "y": 107.8125 + "x": 156.5278, + "y": 98.2291 }, { - "x": 83.8542, - "y": 107.0139 + "x": 156.5278, + "y": 99.0278 }, { - "x": 84.6528, - "y": 106.2153 + "x": 156.5278, + "y": 99.8264 }, { - "x": 84.6528, - "y": 105.4167 + "x": 155.7291, + "y": 100.625 }, { - "x": 85.4514, - "y": 104.618 + "x": 154.9305, + "y": 100.625 }, { - "x": 86.25, - "y": 103.8194 + "x": 154.1319, + "y": 101.4236 }, { - "x": 86.25, + "x": 153.3333, "y": 102.2222 }, { - "x": 86.25, - "y": 101.4236 + "x": 152.5347, + "y": 102.2222 }, { - "x": 85.4514, - "y": 100.625 + "x": 151.7361, + "y": 101.4236 }, { - "x": 84.6528, - "y": 100.625 + "x": 151.7361, + "y": 99.0278 }, { - "x": 83.8542, - "y": 100.625 + "x": 151.7361, + "y": 98.2291 }, { - "x": 83.0555, - "y": 99.8264 + "x": 152.5347, + "y": 97.4305 }, { - "x": 83.0555, - "y": 99.0278 + "x": 153.3333, + "y": 97.4305 }, { - "x": 83.0555, - "y": 98.2292 + "x": 153.3333, + "y": 96.6319 }, { - "x": 82.2569, - "y": 98.2292 + "x": 154.1319, + "y": 95.8333 }, { - "x": 79.8611, - "y": 95.8333 + "x": 154.9305, + "y": 95.0347 }, { - "x": 79.0625, + "x": 155.7291, "y": 95.0347 }, { - "x": 79.0625, + "x": 156.5278, "y": 94.2361 }, { - "x": 78.2639, - "y": 93.4375 + "x": 157.3264, + "y": 94.2361 }, { - "x": 77.4653, + "x": 156.5278, "y": 93.4375 }, { - "x": 76.6667, + "x": 155.7291, "y": 92.6389 }, { - "x": 75.868, - "y": 91.8403 - }, - { - "x": 75.0694, + "x": 154.1319, "y": 92.6389 }, { - "x": 74.2708, - "y": 92.6389 + "x": 153.3333, + "y": 91.8403 }, { - "x": 73.4722, - "y": 92.6389 + "x": 151.7361, + "y": 93.4375 }, { - "x": 72.6736, + "x": 150.9375, "y": 93.4375 }, { - "x": 71.875, + "x": 150.1389, "y": 94.2361 }, { - "x": 72.6736, - "y": 94.2361 + "x": 150.1389, + "y": 95.0347 }, { - "x": 73.4722, - "y": 95.0347 + "x": 146.9444, + "y": 98.2291 }, { - "x": 74.2708, - "y": 95.0347 + "x": 146.1458, + "y": 98.2291 }, { - "x": 75.868, - "y": 96.6319 + "x": 146.1458, + "y": 99.8264 }, { - "x": 75.868, - "y": 97.4305 + "x": 145.3472, + "y": 100.625 }, { - "x": 76.6667, - "y": 97.4305 + "x": 143.75, + "y": 100.625 }, { - "x": 77.4653, - "y": 98.2292 + "x": 142.9514, + "y": 101.4236 }, { - "x": 77.4653, - "y": 100.625 + "x": 142.9514, + "y": 103.0208 }, { - "x": 77.4653, - "y": 101.4236 + "x": 142.9514, + "y": 103.8194 }, { - "x": 76.6667, - "y": 102.2222 + "x": 143.75, + "y": 104.618 }, { - "x": 75.868, - "y": 102.2222 + "x": 144.5486, + "y": 105.4166 }, { - "x": 74.2708, - "y": 100.625 + "x": 144.5486, + "y": 106.2153 }, { - "x": 73.4722, - "y": 100.625 + "x": 145.3472, + "y": 107.0139 }, { - "x": 72.6736, - "y": 99.8264 + "x": 145.3472, + "y": 109.4097 }, { - "x": 72.6736, - "y": 99.0278 + "x": 145.3472, + "y": 110.2083 }, { - "x": 72.6736, - "y": 98.2292 + "x": 146.1458, + "y": 111.0069 }, { - "x": 71.875, - "y": 98.2292 + "x": 146.9444, + "y": 111.0069 }, { - "x": 71.0764, - "y": 98.2292 + "x": 149.3403, + "y": 113.4028 }, { - "x": 71.0764, - "y": 99.0278 + "x": 149.3403, + "y": 114.2014 }, { - "x": 71.0764, - "y": 99.8264 + "x": 147.743, + "y": 115.7986 }, { - "x": 71.875, - "y": 100.625 + "x": 146.9444, + "y": 115.7986 }, { - "x": 71.875, - "y": 101.4236 + "x": 146.1458, + "y": 115.0 }, { - "x": 72.6736, - "y": 102.2222 + "x": 146.1458, + "y": 114.2014 }, { - "x": 73.4722, - "y": 103.0208 + "x": 145.3472, + "y": 114.2014 }, { - "x": 73.4722, - "y": 103.8194 + "x": 143.75, + "y": 112.6041 }, { - "x": 72.6736, - "y": 104.618 + "x": 142.9514, + "y": 111.8055 }, { - "x": 71.0764, - "y": 104.618 + "x": 142.9514, + "y": 111.0069 }, { - "x": 70.2778, - "y": 104.618 + "x": 142.1528, + "y": 110.2083 }, { - "x": 68.6805, - "y": 103.0208 + "x": 142.1528, + "y": 108.6111 }, { - "x": 68.6805, - "y": 102.2222 + "x": 142.1528, + "y": 107.8125 }, { - "x": 67.8819, - "y": 101.4236 + "x": 141.3541, + "y": 107.0139 }, { - "x": 67.0833, - "y": 100.625 + "x": 141.3541, + "y": 106.2153 }, { - "x": 66.2847, - "y": 100.625 + "x": 141.3541, + "y": 105.4166 }, { - "x": 65.4861, - "y": 99.8264 + "x": 140.5555, + "y": 104.618 }, { - "x": 65.4861, - "y": 99.0278 + "x": 140.5555, + "y": 103.8194 }, { - "x": 64.6875, - "y": 99.0278 + "x": 138.9583, + "y": 102.2222 }, { - "x": 63.8889, - "y": 99.0278 + "x": 138.1597, + "y": 101.4236 }, { - "x": 62.2917, + "x": 138.1597, "y": 100.625 }, { - "x": 61.493, - "y": 101.4236 + "x": 137.3611, + "y": 100.625 }, { - "x": 61.493, + "x": 137.3611, "y": 102.2222 }, { - "x": 60.6944, + "x": 137.3611, "y": 103.0208 }, { - "x": 60.6944, + "x": 136.5625, "y": 103.8194 }, { - "x": 59.8958, + "x": 136.5625, "y": 104.618 }, { - "x": 59.8958, - "y": 106.2153 - }, - { - "x": 59.0972, - "y": 107.0139 + "x": 135.7639, + "y": 105.4166 }, { - "x": 59.8958, + "x": 135.7639, "y": 107.8125 }, { - "x": 59.8958, - "y": 109.4097 - }, - { - "x": 59.8958, - "y": 110.2083 - }, - { - "x": 62.2917, - "y": 112.6041 - }, - { - "x": 63.0903, - "y": 113.4028 - }, - { - "x": 63.8889, - "y": 113.4028 + "x": 134.9653, + "y": 108.6111 }, { - "x": 65.4861, + "x": 134.9653, "y": 115.0 }, { - "x": 66.2847, + "x": 134.9653, "y": 115.7986 }, { - "x": 66.2847, + "x": 134.1666, "y": 116.5972 - }, - { - "x": 67.0833, - "y": 117.3958 - }, - { - "x": 67.0833, - "y": 118.1944 - }, - { - "x": 67.8819, - "y": 118.993 - }, - { - "x": 67.8819, - "y": 119.7916 - }, - { - "x": 67.8819, - "y": 120.5903 - }, - { - "x": 65.4861, - "y": 122.9861 - }, - { - "x": 64.6875, - "y": 123.7847 - }, - { - "x": 63.8889, - "y": 123.7847 - }, - { - "x": 63.0903, - "y": 124.5833 - }, - { - "x": 54.3055, - "y": 124.5833 } ] ] @@ -3895,7 +3931,7 @@ } }, "hidden_areas": [], - "id": "0043de7e-772b-4e01-b525-3e5494e51447", + "id": "6db16d74-1a3e-4e23-a58b-ec3ed9bc88bf", "name": "Reference_sBAT", "properties": [], "ranges": [ From b29f9dd22d3f70462ec28c4dd21b6c25b8a603fd Mon Sep 17 00:00:00 2001 From: John Wilkie <124276291+JBWilkie@users.noreply.github.com> Date: Tue, 12 Nov 2024 11:44:48 +0000 Subject: [PATCH 7/9] Full cycle E2E test (#957) --- e2e_tests/cli/test_full_cycle.py | 105 ++++++++++++++++++ e2e_tests/cli/test_import.py | 6 +- e2e_tests/cli/test_pull.py | 16 +-- .../data/import/coco_annotations/output.json | 16 +-- .../import/csv_tag_annotations/csv_tags.csv | 16 +-- .../image_1.json | 4 +- .../image_2.json | 4 +- .../image_3.json | 4 +- .../image_4.json | 4 +- .../image_5.json | 4 +- .../image_6.json | 4 +- .../image_7.json | 4 +- .../image_8.json | 4 +- ...image_1-keypoint_ellipse_polygon_bbox.json | 4 +- ...image_2-keypoint_ellipse_polygon_bbox.json | 4 +- ...image_3-keypoint_ellipse_polygon_bbox.json | 4 +- ...image_4-keypoint_ellipse_polygon_bbox.json | 4 +- ...image_5-keypoint_ellipse_polygon_bbox.json | 4 +- ...image_6-keypoint_ellipse_polygon_bbox.json | 4 +- ...image_7-keypoint_ellipse_polygon_bbox.json | 4 +- ...image_8-keypoint_ellipse_polygon_bbox.json | 4 +- .../image_1-tag_skeleton_mask_line.json | 4 +- .../image_2-tag_skeleton_mask_line.json | 4 +- .../image_3-tag_skeleton_mask_line.json | 4 +- .../image_4-tag_skeleton_mask_line.json | 4 +- .../image_5-tag_skeleton_mask_line.json | 4 +- .../image_6-tag_skeleton_mask_line.json | 4 +- .../image_7-tag_skeleton_mask_line.json | 4 +- .../image_8-tag_skeleton_mask_line.json | 4 +- .../image_1.json | 4 +- .../image_2.json | 4 +- .../image_3.json | 4 +- .../image_4.json | 4 +- .../image_5.json | 4 +- .../image_6.json | 4 +- .../image_7.json | 4 +- .../image_8.json | 4 +- .../image_1.json | 4 +- .../image_2.json | 4 +- .../image_3.json | 4 +- .../image_4.json | 4 +- .../image_5.json | 4 +- .../image_6.json | 4 +- .../image_7.json | 4 +- .../image_8.json | 4 +- .../image_1.json | 4 +- .../image_2.json | 4 +- .../image_3.json | 4 +- .../image_4.json | 4 +- .../image_5.json | 4 +- .../image_6.json | 4 +- .../image_7.json | 4 +- .../image_8.json | 4 +- .../image_1.json | 4 +- .../image_2.json | 4 +- .../image_3.json | 4 +- .../image_4.json | 4 +- .../image_5.json | 4 +- .../image_6.json | 4 +- .../image_7.json | 4 +- .../image_8.json | 4 +- .../image_1.json | 4 +- .../image_2.json | 4 +- .../image_3.json | 4 +- .../image_4.json | 4 +- .../image_5.json | 4 +- .../image_6.json | 4 +- .../image_7.json | 4 +- .../image_8.json | 4 +- .../image_new_basic_annotations/image_1.json | 4 +- .../image_new_basic_annotations/image_2.json | 4 +- .../image_new_basic_annotations/image_3.json | 4 +- .../image_new_basic_annotations/image_4.json | 4 +- .../image_new_basic_annotations/image_5.json | 4 +- .../image_new_basic_annotations/image_6.json | 4 +- .../image_new_basic_annotations/image_7.json | 4 +- .../image_new_basic_annotations/image_8.json | 4 +- .../import/pascal_voc_annotations/image_1.xml | 2 +- .../import/pascal_voc_annotations/image_2.xml | 2 +- .../import/pascal_voc_annotations/image_3.xml | 2 +- .../import/pascal_voc_annotations/image_4.xml | 2 +- .../import/pascal_voc_annotations/image_5.xml | 2 +- .../import/pascal_voc_annotations/image_6.xml | 2 +- .../import/pascal_voc_annotations/image_7.xml | 2 +- .../import/pascal_voc_annotations/image_8.xml | 2 +- e2e_tests/helpers.py | 6 +- e2e_tests/objects.py | 38 +++++-- 87 files changed, 318 insertions(+), 189 deletions(-) create mode 100644 e2e_tests/cli/test_full_cycle.py 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 3cbfce3e5..d07f0a9dc 100644 --- a/e2e_tests/cli/test_import.py +++ b/e2e_tests/cli/test_import.py @@ -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 = { diff --git a/e2e_tests/cli/test_pull.py b/e2e_tests/cli/test_pull.py index 93e4f5eaa..bbcdaaaa1 100644 --- a/e2e_tests/cli/test_pull.py +++ b/e2e_tests/cli/test_pull.py @@ -16,14 +16,14 @@ def test_pull_with_remote_folder_structure( f"{Path.home()}/.darwin/datasets/{config_values.team_slug}/{local_dataset.slug}/images" ) expected_filepaths = [ - f"{pull_dir}/image_1", - f"{pull_dir}/image_2", - f"{pull_dir}/dir1/image_3", - f"{pull_dir}/dir1/image_4", - f"{pull_dir}/dir2/image_5", - f"{pull_dir}/dir2/image_6", - f"{pull_dir}/dir1/dir3/image_7", - f"{pull_dir}/dir1/dir3/image_8", + 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" 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/helpers.py b/e2e_tests/helpers.py index b4537a476..7ffdf887d 100644 --- a/e2e_tests/helpers.py +++ b/e2e_tests/helpers.py @@ -196,6 +196,7 @@ def export_release( annotation_format: str, local_dataset: E2EDataset, config_values: ConfigValues, + release_name: Optional[str] = "all-files", ) -> Release: """ Creates an export of all items in the given dataset. @@ -206,7 +207,6 @@ def export_release( 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" ) @@ -221,7 +221,7 @@ def export_release( "include_authorship": False, "include_export_token": False, "format": f"{annotation_format}", - "name": f"{export_name}", + "name": f"{release_name}", } headers = { "accept": "application/json", @@ -239,7 +239,7 @@ def export_release( 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 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": [ From d3749f83c064f840efeec851dc5215980d98e96d Mon Sep 17 00:00:00 2001 From: John Wilkie <124276291+JBWilkie@users.noreply.github.com> Date: Wed, 13 Nov 2024 10:30:55 +0000 Subject: [PATCH 8/9] Version bump to 1.0.12 (#961) --- darwin/version/__init__.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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/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" From f0ba378e81720e4956289f8188d832b501e48170 Mon Sep 17 00:00:00 2001 From: John Wilkie <124276291+JBWilkie@users.noreply.github.com> Date: Thu, 14 Nov 2024 14:44:31 +0000 Subject: [PATCH 9/9] Items in root of pushed folder are not placed into a directory (#954) --- darwin/dataset/remote_dataset_v2.py | 2 ++ tests/darwin/dataset/remote_dataset_test.py | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) 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/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: