{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "O3D3xx imager configuration",
    "type": "object",
    "properties": {
        "FrameRate": {
            "type": "number",
            "minimum": 0.0167,
            "maximum": 30,
            "default": 5
        },
        "ClippingLeft": {
            "type": "integer",
            "minimum": 0,
            "maximum": 0,
            "default": 0
        },
        "ClippingTop": {
            "type": "integer",
            "minimum": 0,
            "maximum": 0,
            "default": 0
        },
        "ClippingRight": {
            "type": "integer",
            "minimum": 175,
            "maximum": 175,
            "default": 175
        },
        "ClippingBottom": {
            "type": "integer",
            "minimum": 131,
            "maximum": 131,
            "default": 131
        },
        "ReduceMotionArtifacts": {
            "type": "boolean",
            "default": false
        },
        "SpatialFilterType": {
            "type": "integer",
            "minimum": 0,
            "maximum": 3,
            "default": 0
        },
        "TemporalFilterType": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2,
            "default": 0
        },
        "EnableFilterDistanceImage": {
            "type": "boolean",
            "default": true
        },
        "EnableFilterAmplitudeImage": {
            "type": "boolean",
            "default": true
        },
        "SymmetryThreshold": {
            "type": "number",
            "minimum": 0,
            "default": 0.4
        },
        "MinimumAmplitude": {
            "type": "number",
            "minimum": 0,
            "default": 42
        },
        "TwoFreqMaxLineDistPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100,
            "default": 80
        },
        "ThreeFreqMax2FLineDistPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100,
            "default": 80
        },
        "ThreeFreqMax3FLineDistPercentage": {
            "type": "number",
            "minimum": 0,
            "maximum": 100,
            "default": 80
        },
        "EnableAmplitudeCorrection": {
            "type": "boolean",
            "default": true
        },
        "EnableRectificationDistanceImage": {
            "type": "boolean",
            "default": true
        },
        "EnableRectificationAmplitudeImage": {
            "type": "boolean",
            "default": true
        },
        "ContinuousAutoExposure": {
            "type": "boolean",
            "default": false
        },
        "AutoExposureOptimalAmplitude": {
            "type": "number",
            "minimum": 0,
            "default": 2000,
            "attributes": [
                "private"
            ]
        },
        "AutoExposureMinLongShortFactor": {
            "type": "integer",
            "minimum": 2,
            "default": 2,
            "attributes": [
                "private"
            ]
        },
        "AutoExposureMaxLongShortFactor": {
            "type": "integer",
            "minimum": 2,
            "default": 50,
            "attributes": [
                "private"
            ]
        },
        "AutoExposureShortExpHardConstraint": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "default": 100,
            "attributes": [
                "private"
            ]
        },
        "AutoExposureLongExpHardConstraint": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "default": 100,
            "attributes": [
                "private"
            ]
        },
        "AutoExposureReferenceType": {
            "type": "integer",
            "minimum": 0,
            "maximum": 1,
            "default": 0,
            "attributes": [
                "private"
            ]
        },
        "AutoExposureReferenceROI": {
            "type": "string",
            "default": "{\"ROIs\":[{\"id\":0,\"group\":0,\"type\":\"Rect\",\"width\":130,\"height\":100,\"angle\":0,\"center_x\":88,\"center_y\":66}]}",
            "attributes": [
                "private"
            ]
        },
        "AutoExposureReferencePointX": {
            "type": "integer",
            "minimum": 1,
            "maximum": 176,
            "default": 88,
            "attributes": [
                "private"
            ]
        },
        "AutoExposureReferencePointY": {
            "type": "integer",
            "minimum": 1,
            "maximum": 132,
            "default": 66,
            "attributes": [
                "private"
            ]
        },
        "ExposureTimeList": {
            "type": "string",
            "attributes": [
                "readonly"
            ]
        },
        "Output100K": {
            "type": "boolean",
            "default": false,
            "attributes": [
                "private",
                "noexport"
            ]
        },
        "PrivateType": {
            "type": "string",
            "default": "under5m_low",
            "attributes": [
                "private",
                "noexport"
            ]
        },
        "Type": {
            "type": "string",
            "attributes": [
                "readonly"
            ]
        }
    },
    "required": [
        "FrameRate",
        "ClippingLeft",
        "ClippingTop",
        "ClippingRight",
        "ClippingBottom",
        "ReduceMotionArtifacts",
        "SpatialFilterType",
        "TemporalFilterType",
        "Type"
    ]
}