NNDiffusePanSharpening Task

This task performs NNDiffuse pan sharpening using a low-resolution raster and a high-resolution panchromatic raster.

The virtual raster associated with this task is ENVINNDiffusePanSharpeningRaster.

NNDiffuse pan sharpening works best when the spectral response function of each multispectral band has minimal overlap with one another, and the combination of all multispectral bands covers the spectral range of the panchromatic raster.

The following are input raster requirements for running the NNDiffuse pan sharpening algorithm:

Reference:

Sun, W., B. Chen, and D.W. Messinger. "Nearest Neighbor Diffusion Based Pan Sharpening Algorithm for Spectral Images." Optical Engineering 53, no. 1 (2014).

Example

; Start the application

e = ENVI()

 

; Open low-resolution raster and high-resolution raster input files

highResFile = Filepath('qb_boulder_pan', Subdir=['data'], $

Root_Dir=e.Root_Dir)

highResRaster = e.OpenRaster(highResFile)

lowResFile = Filepath('qb_boulder_msi', Subdir=['data'], $

Root_Dir=e.Root_Dir)

lowResRaster = e.OpenRaster(lowResFile)

 

; Get the NNDiffuse pan-sharpening task from the catalog of ENVITasks

Task = ENVITask('NNDiffusePanSharpening')

 

; Define the inputs

Task.INPUT_LOW_RESOLUTION_RASTER = lowResRaster

Task.INPUT_HIGH_RESOLUTION_RASTER = highResRaster

 

; Run the task

Task.Execute

 

; Display the result

View = e.GetView()

Layer = View.CreateLayer(Task.OUTPUT_RASTER)

Syntax

Result = ENVITask('NNDiffusePanSharpening')

Input parameters (Set, Get): INPUT_HIGH_RESOLUTION_RASTER, INPUT_LOW_RESOLUTION_RASTER, INTENSITY_SMOOTHNESS, OUTPUT_RASTER_URI, PIXEL_SIZE_RATIO, SPATIAL_SMOOTHNESS

Output parameters (Get only): OUTPUT_RASTER

Parameters marked as "Set" are those that you can set to specific values. You can also retrieve their current values any time. Parameters marked as "Get" are those whose values you can retrieve but not set.

Input Parameters

INPUT_HIGH_RESOLUTION_RASTER (required)

Specify a high-resolution panchromatic raster.

INPUT_LOW_RESOLUTION_RASTER (required)

Specify a low-resolution raster.

INTENSITY_SMOOTHNESS

A positive number that defines the intensity smoothness factor (σ) of the NNDiffuse pan sharpening algorithm. A smaller INTENSITY_SMOOTHNESS value will restrict diffusion and produce sharper images, but will have more noise. For example, a smaller value is good for pan sharpened images that will be used for visualization. A larger INTENSITY_SMOOTHNESS value will produce smoother results with less noise, which is suggested for images that will be used for classification and segmentation purposes. A larger value is also suggested for panchromatic scenes with high contrast (they require less diffusion sensitivity), and with complex scenes (to reduce the possibility of noise). The default is to dynamically adjust to local similarity, as shown in the equation that follows. You can enter a value to override the default, for example, a value in the range 10 x √2 to 20.

where Nj is the difference factor of the nine neighbors given by the following equation:

where Ωj (x,y) defines the diffusion region for each of the nine neighboring super pixels, and (x,y) denotes the position of a pixel in the high-resolution coordinate.

OUTPUT_RASTER_URI (optional)

Specify a string with the fully qualified filename and path to export the associated OUTPUT_RASTER.

PIXEL_SIZE_RATIO (optional)

A scalar number that defines the pixel size ratio of the low-resolution raster and the high-resolution raster. The NNDiffuse pan-sharpening algorithm requires that the pixel size ratio be an integer. If this parameter is not set, the value is determined from the metadata of the input rasters. For example, the pixel size of Ikonos low-resolution MSI data is 4 meters, and the pixel size of Ikonos high-resolution Pan data is 1 meter. The ratio is 4/1, so the value is 4.

SPATIAL_SMOOTHNESS (optional)

A positive number that defines the spatial smoothness factor (σs) of the NNDiffuse pan sharpening algorithm. SPATIAL_SMOOTHNESS should be set to a value that will resemble a bicubic interpolation kernel. The default value is PIXEL_SIZE_RATIO x 0.62.

Output Parameters

OUTPUT_RASTER

This is a reference to the output raster of filetype ENVI.

Methods

Execute

Parameter

ParameterNames

Properties

DESCRIPTION

DISPLAY_NAME

NAME

REVISION

TAGS

Version History

ENVI 5.2

Introduced

ENVI 5.5

OUTPUT_RASTER_URI now supports '*', which allows OUTPUT_RASTER to be virtual output.

See Also

ENVITask, GramSchmidtPanSharpening Task, PCPanSharpening Task, Masking Support in ENVITasks