Callback Format

Once the lidarlinking task is done, we will send a response to your callback URL. The response.annotations.url field of the callback will be a link to a JSON file containing the annotations.

{
  "response": {
    "annotations": {
      "url": "https://s3-us-west-1.amazonaws.com/scaleapi-results/000003f0-a07c-11e8-891a-b1d8c6329c00"
    }
  },
  "task_id": "5967d6b572633603819b188d",
  "task": { ... }
}

The annotation format is similar to the callback format of videoannotation tasks: it will be a list of LidarLinkingFrame objects, one for each frame of the lidar task. The LidarLinkingFrame objects will be in temporal order; that is, the first LidarLinkingFrame will correspond to the first frame in the lidarannotation task's attachments array, etc. Each LidarLinkingFrame has a camera_responses field referencing a list of CameraResponse objects. Each CameraResponse object has a annotations field, containing a reference to an AnnotationFrame, and a camera_used field, which specifies the camera number that the annotations in the CameraResponse appear in.

Each AnnotationFrame is a list of Annotation objects, which has the same structure as the Annotation objects in videoannotation tasks except for two exceptions. cuboid_uuid is the cuboid ID for the corresponding cuboid in the paired lidarannotation task (or is a random uuid for newly drawn annotations) - this is used instead of the uuid field. not_in_lidar is set to true for annotations that do not appear in the paired lidarannotation task.

[
  {  // annotations in frame 0
    "camera_responses": [
      {  // annotations for frame 0, camera 1
        "annotations": [
          {
            "cuboid_uuid": "0f81f763-a35c-4b11-9791-019f8cda6524",
            "label": "car",
            "type": "box",
            // geometry-specific annotation fields
            "top": 200,
            "left": 105,
            "width": 280,
            "height": 192
          },
          ...
        ],
        "camera_used": 1,
      },
      {  // annotations for frame 0, camera 2
        "annotations": [
          {
            "cuboid_uuid": "0f81f763-a35c-4b11-9791-019f8cda6524",
            "label": "car",
            "type": "box",
            // geometry-specific annotation fields
            "top": 250,
            "left": 155,
            "width": 280,
            "height": 192
          },
          ...
        ],
        "camera_used": 2,
      },
      ...
    ]
  },
  {  // annotations in frame 1
    "camera_responses": [
      {  // annotations for frame 1, camera 1
        "annotations": [
          {
            "cuboid_uuid": "0f81f763-a35c-4b11-9791-019f8cda6524",
            "label": "car",
            "type": "box"
            // geometry-specific annotation fields
            "top": 100,
            "left": 205,
            "width": 280,
            "height": 192
          },
          ...
        ],
        "camera_used": 1,
      },
      ...
    ]
  },
]

📘

Notice

See the Callback Section for more details about callbacks.