{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "description": "",
    "type": "object",
    "properties": {
        "meta": {
            "type": "object",
            "properties": {
                "inputFileType": {
                    "type": "string",
                    "minLength": 1
                },
                "inputFileVersion": {
                    "type": "string",
                    "minLength": 1
                },
                "targetMachine": {
                    "type": "string",
                    "minLength": 1
                },
                "programName": {
                    "type": "string",
                    "minLength": 1
                },
                "programVersion": {
                    "type": "string",
                    "minLength": 1
                }
            },
            "required": [
                "inputFileType",
                "inputFileVersion",
                "targetMachine",
                "programName",
                "programVersion"
            ]
        },
        "transform": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "minLength": 1,
                    "description": "only [a-Z], [0-9], '-' and '_' are allowed. Unique ID of the camera configuration. This is used to identify different camera on datalayer.",
                    "pattern": "^[a-zA-Z0-9_-]+$"
                },
                "type": {
                    "type": "string",
                    "minLength": 1,
                    "enum":["from2dTo3d"]
                },
                "subtype": {
                    "type": "string",
                    "minLength": 1,
                    "enum":["lookUpTable"]
                },
                "relativePathToTiff": {
                    "type": "string",
                    "minLength": 1
                },
                "interpolationMethod": {
                    "type": "string",
                    "minLength": 1,
                    "enum":["linear4Neighbors", "closestPixel"]
                },
                "offsetX": {
                    "type": "number"
                },
                "offsetY": {
                    "type": "number"
                },
                "scaleX": {
                    "type": "number"
                },
                "scaleY": {
                    "type": "number"
                }
            },
            "required": [
                "name",
                "type",
                "subtype",
                "relativePathToTiff",
                "interpolationMethod",
                "offsetX",
                "offsetY",
                "scaleX",
                "scaleY"
            ]
        }
    },
    "required": [
        "meta",
        "transform"
    ]
}