{
  "title": "Raster Stretch Renderer",
  "$schema": "http://json-schema.org/draft-04/schema",
  "description": "Displays continuous raster cell values across a gradual ramp of colors. Use this renderer to draw a single band of continuous data. This renderer works well when you have a large range of values to display, such as with imagery or scientific data.",
  "properties": {
    "colorRamp": {
      "type": "object",
      "$ref": "colorRamp_schema.json"
    },
    "computeGamma": {
      "type": "boolean",
      "description": "Indicates if gamma values should be computed by default."
    },
    "dra": {
      "type": "boolean",
      "description": "Indicates if Dynamic Range Adjustment should be applied."
    },
    "gamma": {
      "type": "array",
      "description": "The list of Gamma value(s).",
      "items": {
        "type": "number"
      }
    },
    "max": {
      "type": "number",
      "description": "The current maximum output value."
    },
    "maxPercent": {
      "type": "number",
      "description": "The current maximum percent value."
    },
    "min": {
      "type": "number",
      "description": "The current minimum output value."
    },
    "minPercent": {
      "type": "number",
      "description": "The current minimum percent value."
    },
    "numberOfStandardDeviations": {
      "type": "integer",
      "description": "The number of standard deviations for standard deviation stretch."
    },
    "sigmoidStrengthLevel": {
      "type": "number",
      "description": "Set this from (1 to 6) to adjust the curvature of Sigmoid curve used in color stretch."
    },
    "statistics": {
      "type": "array",
      "description": "The custom raster stretch statistics.",
      "items": {
        "type": "array",
        "items": {
          "type": "number",
          "minItems": 4,
          "maxItems": 4
        }
      }
    },
    "stretchType": {
      "type": "string",
      "description": "The stretch types for stretch raster function.",
      "enum": [
        "histogramEqualization",
        "minMax",
        "none",
        "percentClip",
        "sigmoid",
        "standardDeviation"
      ]
    },
    "type": {
      "type": "string",
      "description": "Specifies the type of renderer used.",
      "enum": [
        "rasterStretch"
      ]
    },
    "useGamma": {
      "type": "boolean",
      "description": "Indicates if the renderer applies Gamma stretch."
    }
  },
  "additionalProperties": false,
  "esriDocumentation": {
    "additionalInformation": "For each `stretchType` there are specific sets of requirements that are as follows: <br>`none`: does not require other parameters.<br>`standardDeviation`: requires numberOfStandardDeviations, statistics, or dra.<br>`histogramEqualization`: requires the source dataset to have histograms or additional dra.<br>`minMax`: requires statistics or dra.<br>`percentClip`: requires minPercent, maxPercent, and dra.<br>`sigmoid`: does not require other parameters. Optionally, set the sigmoidStrengthLevel (1 to 6) to adjust the curvature of Sigmoid curve used in color stretch.",
    "examples": [
      {
        "code": {
          "renderer": {
            "type": "rasterStretch",
            "stretchType": "minMax",
            "statistics": [
              [
                -6.621397972106934,
                337.17144775390625,
                10.955521397698623,
                20.044026002479463
              ]
            ],
            "dra": false,
            "useGamma": true,
            "gamma": [
              1
            ],
            "computeGamma": false
          }
        }
      }
    ]
  }
}
