Part 2. Device Module Interface (DMI)

Definition of Capture Modes

Capture Mode schema (JSON)

The following structure is the schema for the definition of a capture mode.

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "title": "CaptureSequence",
  "additionalProperties": false,
  "properties": {
    "Capture Sequence ID": {
      "type": "number"
    },
    "Capture Sequence Name": {
      "type": "string"
    },
    "Continuous Mode": {
      "type": "object",
      "properties": {
        "Start Time and Date": {
          "type": "string"
        },
        "End Time and Date": {
          "type": "string"
        }
      }
    },
    "Single Shot Mode": {
      "type": "object",
      "properties": {
        "Number of Repeats of Sequence": {
          "type": "number"
        }
      }
    },
    "Frame Sequence": {
      "type": "array",
      "items": [
        {
          "type": "object",
          "title": "Frame",
          "properties": {
            "Frame Number": {
              "type": "number"
            },
            "Resolution": {
              "pattern": "",
              "required": [
                "Low",
                "Highest Video Resolution",
                "Highest Still Resolution",
                "Highest Depth Resolution"
              ]
            },
            "Frame Rate": {
              "type": "integer",
              "description": "Frames per second"
            },
            "Buffer Size": {
              "type": "integer",
              "description": "Number of images captured in the buffer"
            },
            "Focus": {
              "description": "Auto - camera autofocus used. Near < 1m, Medium 1-3m, Far > 3m ",
              "required": [
                "Auto",
                "Near",
                "Medium",
                "Far"
              ]
            },
            "Exposure": {
              "description": "This is the degree of under (-) or over (+) exposure relative to the camera's auto exposure.",
              "required": [
                "+8",
                "+4",
                "+2",
                "0",
                "-2",
                "-4",
                "-8"
              ],
              "dependencies": {
                "PropertyDependency": []
              }
            },
            "Zoom": {
              "type": "integer",
              "description": "Number of pixels skipped. 0 means no pixels are skipped, 1 means every second pixel is used, 2 means every third pixel is used. etc."
            },
            "PanX": {
              "type": "integer",
              "description": "Number of pixels left or right from the center of the image."
            },
            "PanY": {
              "type": "integer",
              "description": "Number of pixels up or down from center."
            },
            "Sensor": {
              "description": "Type of sensor",
              "required": [
                "RGB",
                "IR",
                "RGBIR",
                "Depth Stereo",
                "Depth Time of Flight",
                "Depth Structured Light"
              ]
            }
          }
        }
      ]
    }
  }
}

The process controlling the capture sequences or modes, converts the capture mode defined in the JSON structure into control registers which are a low-level control of the sensor.

  • Each frame is converted into a single control register object which is transferred to the sensor.
  • The control register object may be transferred to the sensor using the DMI interface.

▲ Top