AMD: require(["esri/smartMapping/raster/renderers/stretch"], (rasterStretchCreator) => { /* code goes here */ });
ESM: import * as rasterStretchCreator from "@arcgis/core/smartMapping/raster/renderers/stretch.js";
Object: esri/smartMapping/raster/renderers/stretch
Since: ArcGIS Maps SDK for JavaScript 4.20

This object contains helper methods for generating a single-band stretch visualization for raster layers (i.e. ImageryLayer, ImageryTileLayer, or WCSLayer).

The createRenderer method in this module generates a renderer that may be applied directly to the input layer.

Method Overview

Name Return Type Summary Object

Generates a RasterStretchRenderer to render data from a single raster band.

more details

Method Details


Generates a RasterStretchRenderer to render data from a single raster band.

params Object

Input parameters for generating a single-band stretch visualization. See the table below for details of each parameter. The colorRamp, gamma, useGamma, dynamicRangeAdjustment parameters are not related to stretch type. Pass them in to preserve the existing renderer settings if desired.


The input layer for which the renderer is generated.

renderingRule RasterFunction

Deprecated since 4.27. Use rasterFunction instead.

rasterFunction RasterFunction

Specifies the function for how the requested image should be processed. When rasterFunction is applied, the server returns updated service information that reflects custom processing as defined by the raster function. If not provided, the output renderer is created using the layer's rasterFunction.

stretchType String

A preferred stretch type can be provided. See RasterStretchRenderer.stretchType for more information.

Possible Values:"none"|"min-max"|"standard-deviation"|"histogram-equalization"|"percent-clip"|"sigmoid"

bandId Number

The 0-based index of a selected band.


The color ramp to apply to the renderer.

variableName String

Only applicable to multidimensional datasets where a raster layer can contain more than one variable (such as temperature, humidity, wind speed) with different statistics. Indicate the variable name here.

gamma Number[]

The gamma values to be used if useGamma is true. Gamma refers to the degree of contrast between the mid-level gray values of a raster dataset. It 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 when stretchType is none, standard-deviation, or min-max. See RasterStretchRenderer.gamma for more information.

useGamma Boolean

Indicates whether the gamma values should be used. When false, the gamma is calculated from the statistics and histogram of the data.

dynamicRangeAdjustment Boolean

When true, calculates the renderer's statistics based on the current display extent and recalculates them as you zoom and pan around the image.

estimateStatistics Boolean

Useful in scenarios where an image service does not have statistics. When true, this function estimates global statistics to keep a constant visual on pan and zoom, unlike dynamicRangeAdjustment which recalculates statistics on each extent change.

signal AbortSignal

Allows for cancelable requests. If canceled, the promise will be rejected with an error named AbortError. See also AbortController.

Type Description
Promise<RasterStretchColorrampResult> Resolves to an object containing a stretch renderer that can be set on the input renderer.

Type Definitions


The result object of the createRenderer() method. See the table below for details of each property.


The RasterStretchRenderer renderer to apply to the input layer.

bandId Number

The zero-based index of the band represented by the renderer.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.