RasterStretchRenderer
require(["esri/renderers/RasterStretchRenderer"], function(RasterStretchRenderer) { /* code goes here */ });esri/renderers/RasterStretchRendererRasterStretchRenderer defines the symbology with a gradual ramp of colors for each pixel in a ImageryLayer based on the pixel value. The RasterStretchRenderer works well when you have a large range of values to display, such as in imagery, aerial photographs, or elevation models.
The stretch renderer allows you to define the range of values to be displayed and apply a ColorRamp to those values.
- See also:
Constructors
- new RasterStretchRenderer(properties)
- Parameter:properties ObjectoptionalSee the properties for a list of all the properties that may be passed into the constructor. 
Property Overview
| Name | Type | Summary | Class | |
|---|---|---|---|---|
| ColorRamp | The stretched values are mapped to this specified color ramp.more details | more details | RasterStretchRenderer | |
| Boolean | The computeGamma automatically calculates best gamma value to render exported image based on empirical model.more details | more details | RasterStretchRenderer | |
| String | The name of the class.more details | more details | Accessor | |
| Boolean | When Dynamic Range Adjustment is  | more details | RasterStretchRenderer | |
| Number[] | The gamma values to be used if useGamma is set to  | more details | RasterStretchRenderer | |
| Number | Applicable when stretchType is  | more details | RasterStretchRenderer | |
| Number | Applicable when stretchType is  | more details | RasterStretchRenderer | |
| Number | Applicable when stretchType is  | more details | RasterStretchRenderer | |
| Number | The outputMax denotes the output maximum, which is the highest pixel value.more details | more details | RasterStretchRenderer | |
| Number | The outputMin denotes the output minimum, which is the lowest pixel value.more details | more details | RasterStretchRenderer | |
| Number | The sigmoid strength level determines how much of the sigmoidal function will be used in the stretch.more details | more details | RasterStretchRenderer | |
| Number[][]|Object[] | The input statistics can be specified through the statistics property.more details | more details | RasterStretchRenderer | |
| String | The stretch type defines a histogram stretch that will be applied to the rasters to enhance their appearance.more details | more details | RasterStretchRenderer | |
| String | The type of Renderer.more details | more details | RasterStretchRenderer | |
| Boolean | Denotes whether the gamma value should be used.more details | more details | RasterStretchRenderer | 
Property Details
- The stretched values are mapped to this specified color ramp. 
- computeGamma Boolean
- The computeGamma automatically calculates best gamma value to render exported image based on empirical model. This is applicable to any stretch type when useGamma is - true.- Default Value:false
 
- The name of the class. The declared class name is formatted as - esri.folder.className.
- dynamicRangeAdjustment Boolean
- When Dynamic Range Adjustment is - true, the statistics based on the current display extent are calculated as you zoom and pan around the image.- Default Value:false
 
- The gamma values to be used if useGamma is set to - false. Gamma refers to the degree of contrast between the mid-level gray values of a raster dataset. Gamma does not affect the black or white values in a raster dataset, only the middle values. By applying a gamma correction, you can control the overall brightness of an ImageryLayer. Gamma stretching is only valid with the- none,- standard-deviation, and- min-maxstretch types.
- maxPercent Number
- Applicable when stretchType is - percent-clip. Specifies the percentage of the highest values to exclude from the stretch.
- minPercent Number
- Applicable when stretchType is - percent-clip. Specifies the percentage of the lowest values to exclude from the stretch.
- numberOfStandardDeviations Number
- Applicable when stretchType is - standard-deviation. Specifies the number of standard deviations to use. The values beyond the number of standard deviations become the outputMin and outputMax. The remaining values are linearly stretched between outputMin and outputMax.
- outputMax Number
- The outputMax denotes the output maximum, which is the highest pixel value. The outputMin and outputMax will set the range of values that will then be linearly contrast stretched. The outputMax value ranges from 0-255. 
- outputMin Number
- The outputMin denotes the output minimum, which is the lowest pixel value. The outputMin and outputMax will set the range of values that will then be linearly contrast stretched. The outputMin value ranges from 0-255. 
- sigmoidStrengthLevel Number
- The sigmoid strength level determines how much of the sigmoidal function will be used in the stretch. A low value such as 1 will only use the middle portion of the curve, which tends to produce dull and faint colors. A high value such as 6 will use the entire curve, which tends to produce bold and sharp colors. 
- Since: ArcGIS API for JavaScript 4.15
- The input statistics can be specified through the statistics property. If not specified, they will be retrieved from the data. If dynamicRangeAdjustment is - true, these values will be ignored.- Properties:
- min NumberThe minimum pixel value. max NumberThe maximum pixel value. optionalavg NumberThe average pixel value. optionalstddev NumberThe standard deviation of the pixel value. 
- See also:
 Examples:- var renderer = new RasterStretchRenderer(); renderer.statistics = [ [0, 100, 50, 10] // [<min>, <max>, <mean>, <standardDeviation>] ];- var bandStat = layer.rasterInfo.statistics[0]; var renderer = new RasterStretchRenderer(); renderer.statistics = [{ min: valueSlider.values[0], max: valueSlider.values[1], avg: bandStat.avg, stddev: bandStat.stddev }];
- stretchType String
- The stretch type defines a histogram stretch that will be applied to the rasters to enhance their appearance. Stretching improves the appearance of the data by spreading the pixel values along a histogram from the minimum and maximum values defined by their bit depth. For example, an 8-bit raster dataset or mosaic dataset will be stretched from 0 to 255. Different stretches will produce different results in the raster display. - The possible stretch types are listed below. - Value - Description - none - No stretch method will be applied, even if statistics exist. - standard-deviation - This stretch type applies a linear stretch between the values defined by the standard deviation value. - histogram-equalization - The pixel values are stretched to adjust the contrast using the histogram of the data. - min-max - This stretch type applies a linear stretch based on the output minimum and output maximum pixel values, which are used as the endpoints for the histogram. - percent-clip - This stretch type applies a linear stretch between the defined minPercent and maxPercent pixel values. - sigmoid - The Sigmoid contrast stretch is designed to highlight moderate pixel values in your imagery while maintaining sufficient contrast at the extremes. - Possible Values:"none"|"standard-deviation"|"histogram-equalization"|"min-max"|"percent-clip"|"sigmoid" - Default Value:none
 
- type Stringreadonly
- The type of Renderer. - For RasterStretchRenderer the type is always "raster-stretch". 
- useGamma Boolean
- Denotes whether the gamma value should be used. When - useGammais- false, the gamma is calculated from the statistics and histogram of the data. The gamma property is required if- useGammais- true.- Default Value:false
 
Method Overview
| Name | Return Type | Summary | Class | |
|---|---|---|---|---|
| RasterStretchRenderer | Creates a deep clone of the renderer.more details | more details | RasterStretchRenderer | |
| * | Creates a new instance of this class and initializes it with values from a JSON object generated from a product in the ArcGIS platform.more details | more details | RasterStretchRenderer | |
| Object | Converts an instance of this class to its ArcGIS portal JSON representation.more details | more details | RasterStretchRenderer | 
Method Details
- clone(){RasterStretchRenderer}
- Creates a deep clone of the renderer. Returns:- Type - Description - RasterStretchRenderer - A deep clone of the object that invoked this method. Example:- // Creates a deep clone of the first layer's renderer var renderer = view.map.layers.getItemAt(0).renderer.clone();
- fromJSON(json){*}static
- Creates a new instance of this class and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input - jsonparameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.Parameter:json Object- A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects. Returns:- Type - Description - * - Returns a new instance of this class. 
- toJSON(){Object}
- Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information. Returns:- Type - Description - Object - The ArcGIS portal JSON representation of an instance of this class.