com.esri.arcgis.datasourcesraster
Interface IPansharpeningFilter

All Superinterfaces:
Serializable
All Known Implementing Classes:
PansharpeningFilter

public interface IPansharpeningFilter
extends Serializable

Provides access to members that control a pansharpening filter.

Remarks

The IPansharpeningFilter is used to create a PansharpeningFilter object which can be used to perform image enhancement of a multiband raster dataset using a co-registered panchromatic fine resolution dataset. Four pan-sharpening methods are avaliable in ArcGIS 9.2 including Mean, Brovey, IHS (Intensity, Hue and Saturation), and ESRI pan-sharpening methods.

To Create a PansharpeningFilter object, you need to set a panchromatic Raster, which is created from a single band image and then specify a filter type.

The PansharpeningFilter object can be applied to a Raster, which is created from a multiband image, using IPixelOperation interface

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 IRaster getInfraredImage()
          The optional infrared image.
 IRaster getPanImage()
          The panchromatic image.
 int getPansharpeningType()
          The current pansharpening type.
 void putWeights(double rW, double gW, double bW, double iW)
          Puts the Red, Green, Blue, and Infrared weights contributing to panchromatic image.
 void queryWeights(double[] pRW, double[] pGW, double[] pBW, double[] pIW)
          Gets the Red, Green, Blue, and Infrared weights contributing to panchromatic image.
 void setInfraredImageByRef(IRaster ppInfraredImage)
          The optional infrared image.
 void setPanImageByRef(IRaster ppPanImage)
          The panchromatic image.
 void setPansharpeningType(int pSharpeningType)
          The current pansharpening type.
 

Method Detail

getPanImage

IRaster getPanImage()
                    throws IOException,
                           AutomationException
The panchromatic image.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.geodatabase.IRaster
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPanImageByRef

void setPanImageByRef(IRaster ppPanImage)
                      throws IOException,
                             AutomationException
The panchromatic image.

Remarks

This Raster must be a raster of single band.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
ppPanImage - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPansharpeningType

int getPansharpeningType()
                         throws IOException,
                                AutomationException
The current pansharpening type.

Description

Pan-sharpening is a process of transformaing a set of low special resolution multispectral images to high spatial resolution color images, by fusing a co-georegistered high spatial resolution panchromatic image.

ArcGIS 9.2 provides four pan-sharpening methods: Simple, Brovey, IHS, and ERSI pansharpening. These methods are all based on the following general model:


A pixel value of a Pan image is considered a weighted average of Red, Green, Blue, and (optional) Infrared components:

P = R*RW + G*GW + B*BW + I*IW
1 = RW + GW + BW + IW

where RW, GW, BW, and IW are weights for Red, Green, Blue, and Infrared components. P, R, G, B, and I (as wll as P', R', G', I') represent the input and output pixel values of the panchromatic, Red, green, blue and Infrared bands respectively.


Brovey method:

DNF = (P-IW*I)/(RW*R+GW*G+BW*B)
R' = R*DNF
G' = G*DNF
B' = B*DNF
I' = I*DNF

IHS method:

RGBToHSI(R, G, B, H, S, INTENSITY)
INTENSITY = P-I*IW
HSIToRGB(H, S, INTENSITY, R', G', B')


ESRI method:

WA (Weighted averate) = R*RW + G*GW + B* BW + + I*IW /(RW+GW+BW+IW)
ADJ (Adjusted value) = P- WA

R' = R+ADJ
G' = G+ADJ
B' = B+ADJ
I' = I+ADJ

Mean method:

R' = 0.5 * (R + P)
G' = 0.5 * (G + P)
B' = 0.5 * (B + P) < /P >

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A com.esri.arcgis.datasourcesraster.esriPansharpeningType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPansharpeningType

void setPansharpeningType(int pSharpeningType)
                          throws IOException,
                                 AutomationException
The current pansharpening type.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pSharpeningType - A com.esri.arcgis.datasourcesraster.esriPansharpeningType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryWeights

void queryWeights(double[] pRW,
                  double[] pGW,
                  double[] pBW,
                  double[] pIW)
                  throws IOException,
                         AutomationException
Gets the Red, Green, Blue, and Infrared weights contributing to panchromatic image.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
pRW - The pRW (out: use single element array)
pGW - The pGW (out: use single element array)
pBW - The pBW (out: use single element array)
pIW - The pIW (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

putWeights

void putWeights(double rW,
                double gW,
                double bW,
                double iW)
                throws IOException,
                       AutomationException
Puts the Red, Green, Blue, and Infrared weights contributing to panchromatic image.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
rW - The rW (in)
gW - The gW (in)
bW - The bW (in)
iW - The iW (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getInfraredImage

IRaster getInfraredImage()
                         throws IOException,
                                AutomationException
The optional infrared image.

Remarks

It is optional. If not set, Infrared band will not be used in the pan sharpening operation.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Returns:
A reference to a com.esri.arcgis.geodatabase.IRaster
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setInfraredImageByRef

void setInfraredImageByRef(IRaster ppInfraredImage)
                           throws IOException,
                                  AutomationException
The optional infrared image.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
ppInfraredImage - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.