################## Export JSON format ################## .. Warning:: Exported file is encoded in UTF-8 with BOM. *************** JSON definition *************** ExportFileSchemeVersion ======================= Version of export schema ConfigurationVersion ==================== Version of project configuration in export file. It is increased when project configuration changes (e.g. when new tool is added, project name edited or dataset assigned). AnnotationVersion ================= Version of annotations in export file. It is increased when annotations were changed (e.g. when new annotations were created). SetVersion ========== Version of image sets in export file. It is increased when image sets were changed (e.g. when image was assigned to set). ProjectName =========== Name of exported project VersionGenerated ================ Date of generated export in UTC time zone (ISO 8601 format) DataFilterType ============== Filter used for exporting annotations. Possible values: * ``Everything`` - project configuration (annotation tools, assigned datasets) and all annotations in "Waiting for approval" and "Finished" statuses are exported including not annotated images * ``Annotated`` - project configuration and all annotations in "Waiting for approval" and "Finished" statuses are exported * ``Accepted`` - project configuration and all annotations in "Finished" status are exported * ``Project configuration only`` - project configuration is exported TotalAnnotationPoints ============== Sum of all exported annotations points Tools ===== List of marking tools added to project with their definition Name ---- Name of marking tool Color ----- Color of marking tool in hex code Type ---- Type of marking tool. Possible values: * ``Point`` * ``Rectangle`` (for Bounding box type) * ``Polyline`` (for Line type) * ``Polygon`` * ``RotatedRectangle`` (for Oriented rectangle type) * ``Brush`` IsUsed ------ ``true`` when marking tool was used during annotation process Order ------ ``integer`` used for sorting marking tools Questions ========= Text ---- The content of the question AnswerType ---------- Type of question. Possible values: * ``TrueFalse`` (for Yes/No type) * ``Alternative`` (for Radio type) * ``MultiSelect`` (for Checkbox type) * ``Text`` * ``StatusPassFail`` (for Pass/Fail type) * ``SetTrainTest`` (for Train/Test type) * ``Number`` PossibleAnswers --------------- List of available answers. Empty for Text and Number questions. IsRequired ---------- ``true`` when question must be answered during annotation process IsUsed ------ ``true`` when question was answered during annotation process Scopes ------ ``Image`` for questions. For attributes list of linked marking tools Order ------ ``integer`` used for sorting questions DataSets ======== List of linked datasets DataSetName ----------- Name of linked dataset Images ------ List of images in dataset ImageId ^^^^^^^ Internal image id in GUID format ImageName ^^^^^^^^^ Name of image ImageSize ^^^^^^^^^ ``integer`` Width and ``integer`` Height define the size of an image ImageURL ^^^^^^^^ URL of image uploaded by CSV file or using ``/api/Images/addImageFromUrl`` API method Annotations ^^^^^^^^^^^ List of image annotations AnnotationsAuthor """"""""""""""""" Email of annotator AnnotationDuration """""""""""""""""" Duration of annotation in HH:mm:ss.fffffff format AnnotationDate """""""""""""" Date of creating annotation in UTC time zone (ISO 8601 format) ReviewStatus """""""""""" Status of annotation. Possible values: * ``Accepted`` - for annotations accepted during review * ``ToReview`` - for annotations not yet reviewed * ``Rejected`` - for annotations rejected during review Reviewer """""""" Email of reviewer ReviewDuration """""""""""""" Duration of review in HH:mm:ss.fffffff format ReviewDate """""""""" Date of annotation review in UTC time zone (ISO 8601 format) CorrectionDuration """""""""""""""""" Duration of correcting annotation in HH:mm:ss.fffffff format WasImageCorrected """"""""""""""""" ``true`` when annotation was corrected by another team member AnnotationPoints """""""""""""""" Amount of points the annotation is worth Questions """"""""" List of questions. Each question contains: * Question - the content of the question * Answers - list of selected answers. Empty for Text and Number questions * Answer - answer entered by user (Text and Number type questions) Segmentation """""""""""" List of marked objects. Each segmentation contains: * ClassName - name of used marking tool * Selection - object coordinates in WKT format. Upper left corner of the image has 0, 0 coordinates. Depending on tool type different geometry types are used: * Point - always represented in ``Point`` geometry type * Bounding Box - always represented in ``Polygon`` geometry type. First point is always upper left corner * Line - always represented in ``LineString`` geometry type. Order of point is the same as order of user clicks * Polygon - always represented in ``Polygon`` geometry type. Order of point is the same as order of user clicks * Oriented rectangle - always represented in ``Polygon`` geometry type. First and second points depends on highlighted corner of the object by small trapeze * Brush - represented in ``Polygon`` or ``MultiPolygon`` geometry type (depends on drawn shape) * Questions - list of answers to object attributes ************************** Sample formatted JSON file ************************** .. code-block:: json { "ExportFileSchemeVersion": "1.9", "ConfigurationVersion": 1, "AnnotationVersion": 1, "SetVersion": 1, "ProjectName": "Project 01", "VersionGenerated": "2020-10-12T10:54:00.1218868Z", "DataFilterType": "Everything", "TotalAnnotationPoints": 14.50, "Tools": [ { "Name": "Bounding Box", "Color": "#75ec90", "Type": "Rectangle", "IsUsed": true, "Order": 0 }, { "Name": "Point", "Color": "#53eccf", "Type": "Point", "IsUsed": false, "Order": 1 } ], "Questions": [ { "Text": "Set", "AnswerType": "SetTrainTest", "PossibleAnswers": [ "Train", "Test" ], "IsRequired": false, "IsUsed": true, "Scopes": [ "Image" ], "Order": 1 }, { "Text": "Colour of object", "AnswerType": "Alternative", "PossibleAnswers": [ "Red", "Green", "Blue" ], "IsRequired": false, "IsUsed": true, "Scopes": [ "Bounding Box" ], "Order": 2 }, { "Text": "Is object damaged?", "AnswerType": "TrueFalse", "PossibleAnswers": [ "Yes", "No" ], "IsRequired": false, "IsUsed": true, "Scopes": [ "Bounding Box" ], "Order": 3 }, { "Text": "Damage description", "AnswerType": "Text", "PossibleAnswers": [], "IsRequired": false, "IsUsed": true, "Scopes": [ "Bounding Box" ], "Order": 4 } ], "DataSets": [ { "DataSetName": "Dataset 02", "Images": [ { "ImageId": "a30a556c-8ba1-44ca-b50e-8bb32d775549", "ImageName": "A.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "NotSet", "Annotations": [] }, { "ImageId": "690edcc9-0863-457d-a6cc-922e2a969a07", "ImageName": "B.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "Train", "Annotations": [] }, { "ImageId": "95b92180-b769-47ac-a52c-9aa4bb39b8e1", "ImageName": "D.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "Train", "Annotations": [] }, { "ImageId": "4469b173-8dfc-48e0-9916-c9cfd133b9a2", "ImageName": "C.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "Test", "Annotations": [] } ] }, { "DataSetName": "Dataset 01", "Images": [ { "ImageId": "0ddfe314-4ba6-4737-8c7c-0cee2f024ec8", "ImageName": "0009.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "Train", "Annotations": [ { "AnnotationsAuthor": "annotator@test.com", "AnnotationDuration": "00:00:24.5490000", "AnnotationDate": "2020-10-12T10:51:47.0515741Z", "ReviewStatus": "Accepted", "Reviewer": "reviewer@test.com", "ReviewDuration": "00:00:02.6530000", "ReviewDate": "2020-10-12T10:53:45.8988427Z", "CorrectionDuration": "00:00:00", "WasImageCorrected": false, "AnnotationPoints": 4.00, "Questions": [ { "Question": "Set", "Answers": [ "Train" ] } ], "Segmentation": [ { "ClassName": "Bounding Box", "Selection": "POLYGON((59.687823 39.281729,121.416254 39.281729,121.416254 89.78681,59.687823 89.78681,59.687823 39.281729))", "Questions": [ { "Question": "Colour of object", "Answers": [ "Green" ] }, { "Question": "Is object damaged?", "Answers": [ "No" ] }, { "Question": "Damage description" } ] } ] } ] }, { "ImageId": "9fe9a70c-5f59-4f93-b89e-3458e1bebeda", "ImageName": "0004.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "Train", "Annotations": [ { "AnnotationsAuthor": "annotator@test.com", "AnnotationDuration": "00:00:53.6710000", "AnnotationDate": "2020-10-12T10:52:40.7773278Z", "ReviewStatus": "ToReview", "Reviewer": null, "ReviewDuration": "00:00:00", "ReviewDate": null, "CorrectionDuration": "00:00:00", "WasImageCorrected": false, "AnnotationPoints": 10.50, "Questions": [ { "Question": "Set", "Answers": [ "Test" ] } ], "Segmentation": [ { "ClassName": "Bounding Box", "Selection": "POLYGON((391.015711 65.764051,494.504876 65.764051,494.504876 153.95925,391.015711 153.95925,391.015711 65.764051))", "Questions": [ { "Question": "Colour of object", "Answers": [ "Blue" ] }, { "Question": "Is object damaged?", "Answers": [ "Yes" ] }, { "Question": "Damage description", "Answer": "discoloration" } ] } ] } ] }, { "ImageId": "35c46c9a-01fa-4c27-bac5-554513b35934", "ImageName": "0005.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "NotSet", "Annotations": [] }, { "ImageId": "5e18238d-f4bf-454a-ab73-5764490e6efc", "ImageName": "0007.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "NotSet", "Annotations": [] }, { "ImageId": "b2de124f-2a66-4c6e-aaaf-5adfe119e7c7", "ImageName": "0003.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "NotSet", "Annotations": [] }, { "ImageId": "91f0af5f-fbcf-4314-8298-9a5ed09600f6", "ImageName": "0008.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "NotSet", "Annotations": [] }, { "ImageId": "06836fce-0f98-4560-b1d2-badf2cc5a6a8", "ImageName": "0001.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "NotSet", "Annotations": [] }, { "ImageId": "9309f906-6b1b-4769-ad67-c1684f65ddee", "ImageName": "0002.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "NotSet", "Annotations": [] }, { "ImageId": "f9a7f68c-13bf-49e9-b0b2-f94e27abaf8d", "ImageName": "0006.jpg", "ImageSize": { "Width": 1024, "Height": 768 }, "ImageURL": null, "Set": "NotSet", "Annotations": [] } ] } ] }