This function constructs an ENVIRaster from a source raster for which rank-based strength and label texture metrics have been computed. These metrics are useful for feature extraction. See Rank-Strength-Texture Algorithm Background for details on the algorithm that ENVI uses.

The result is a virtual raster, which has some additional considerations with regard to methods and properties. See Virtual Rasters for more information, including how they differ from ENVITasks.

The equivalent task is RankStrengthTexture.


This example computes a strength and label value for every pixel. It displays the Strength band only. Use the Data Manager to view the Label band if desired.

; Start the application
e = ENVI()
; Open an input file
file = FILEPATH('qb_boulder_pan', ROOT_DIR=e.ROOT_DIR, $
  SUBDIRECTORY = ['data'])
raster = e.OpenRaster(file)
; compute texture
textureRaster = ENVIRankStrengthTextureRaster(raster)
; Get the collection of data objects currently available in the Data Manager
dataColl = e.Data
; Add the raster to the Data Manager
dataColl.Add, textureRaster
; Display the result
View = e.GetView()
Layer = View.CreateLayer(textureRaster)


ENVIRaster = ENVIRankStrengthTextureRaster(Input_Raster, ERROR=variable)

Return Value

This routine returns a reference to an ENVIRaster that contains a Strength and Label band for each input band, for example:

  • Strength (Band 1)
  • Label (Band 1)
  • Strength (Band 2)
  • Label (Band 2)

See Rank-Strength-Texture Algorithm Background for descriptions of the Strength and Label bands.



Specify the input ENVIRaster. This routine accepts an image with any number of bands.


This virtual raster inherits methods and properties from ENVIRaster; however the following methods will override the ENVIRaster methods:




ERROR (optional)

Set this keyword to a named variable that will contain any error message issued during execution of this routine. If no error occurs, the ERROR variable will be set to a null string (''). If an error occurs and the routine is a function, then the function result will be undefined.

When this keyword is not set and an error occurs, ENVI returns to the caller and execution halts. In this case, the error message is contained within !ERROR_STATE and can be caught using IDL's CATCH routine. See IDL Help for more information on !ERROR_STATE and CATCH.

See Manage Errors for more information on error handling in ENVI programming.


Specify a string that identifies the raster.

Version History

ENVI 5.4


API Version


See Also

ENVIRaster, RankStrengthTexture Task, ENVILabelEntropyTextureRaster, LabelEntropyTexture Task, ENVIFirstOrderEntropyTextureRaster, FirstOrderEntropyTexture Task