|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.esri.arcgis.datasourcesraster.PansharpeningFilter
public class PansharpeningFilter
A class for pansharpening filter.
The PanSharpeningFilter object is used to perform image fusion of low-resolution multispectral and high resolution panchromatic satellite images and to provide a better visualization of the multispectral image.
| Constructor Summary | |
|---|---|
PansharpeningFilter()
Constructs a PansharpeningFilter using ArcGIS Engine. |
|
PansharpeningFilter(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. PansharpeningFilter thePansharpeningFilter = (PansharpeningFilter) obj; |
|
| Method Summary | |
|---|---|
Object |
convertToSupportedObject(int docVersion)
Convert the object to another object that is supported. |
boolean |
equals(Object o)
Compare this object with another |
void |
filter(IPixelBlock pBlock)
Filters a pixel block. |
void |
getCenterPosition(int[] atColumn,
int[] atRow)
Gets center position of the filter. |
void |
getClassID(GUID[] pClassID)
getClassID |
static String |
getClsid()
getClsid. |
IRaster |
getInfraredImage()
The optional infrared image. |
String |
getMinNamespaceSupported()
The minimum namespace the class can serialize to (eg the 90 namespace). |
IRaster |
getPanImage()
The panchromatic image. |
int |
getPansharpeningType()
The current pansharpening type. |
void |
getSize(int[] columns,
int[] rows)
Gets dimension of the filter. |
void |
getSizeMax(_ULARGE_INTEGER[] pcbSize)
getSizeMax |
int |
hashCode()
the hashcode for this object |
void |
init(int nCols,
int nRows,
IEnvelope pExtent)
Initializes this filter for a given area of interest. |
void |
initBlock(IPnt pTopLeft,
int nBlkCols,
int nBlkRows)
Initialize this filter for a given pixel block. |
void |
isDirty()
isDirty |
boolean |
isSupportedAtVersion(int docVersion)
Is this object valid at the given document version. |
void |
load(IStream pstm)
load |
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 |
readExternal(ObjectInput in)
|
void |
save(IStream pstm,
int fClearDirty)
save |
void |
setInfraredImageByRef(IRaster ppInfraredImage)
The optional infrared image. |
void |
setPanImageByRef(IRaster ppPanImage)
The panchromatic image. |
void |
setPansharpeningType(int pSharpeningType)
The current pansharpening type. |
void |
synchronize(IRaster pRaster)
Synchronizes this filter when raster properties are changed. |
void |
writeExternal(ObjectOutput out)
|
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef |
|---|
getJintegraDispatch, release |
| Constructor Detail |
|---|
public PansharpeningFilter()
throws IOException,
UnknownHostException
IOException - if there are interop problems
UnknownHostException - if there are interop problems
public PansharpeningFilter(Object obj)
throws IOException
PansharpeningFilter thePansharpeningFilter = (PansharpeningFilter) obj;
obj to PansharpeningFilter.
obj - an object returned from ArcGIS Engine or Server
IOException - if there are interop problems| Method Detail |
|---|
public static String getClsid()
public boolean equals(Object o)
equals in class Objectpublic int hashCode()
hashCode in class Object
public void getSize(int[] columns,
int[] rows)
throws IOException,
AutomationException
getSize in interface IPixelFiltercolumns - The columns (in/out: use single element array)rows - The rows (in/out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getCenterPosition(int[] atColumn,
int[] atRow)
throws IOException,
AutomationException
getCenterPosition in interface IPixelFilteratColumn - The atColumn (in/out: use single element array)atRow - The atRow (in/out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void filter(IPixelBlock pBlock)
throws IOException,
AutomationException
filter in interface IPixelFilterpBlock - A reference to a com.esri.arcgis.geodatabase.IPixelBlock (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void init(int nCols,
int nRows,
IEnvelope pExtent)
throws IOException,
AutomationException
init in interface IPixelFilter2nCols - The nCols (in)nRows - The nRows (in)pExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void initBlock(IPnt pTopLeft,
int nBlkCols,
int nBlkRows)
throws IOException,
AutomationException
initBlock in interface IPixelFilter2pTopLeft - A reference to a com.esri.arcgis.geodatabase.IPnt (in)nBlkCols - The nBlkCols (in)nBlkRows - The nBlkRows (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void synchronize(IRaster pRaster)
throws IOException,
AutomationException
synchronize in interface IPixelFilter3pRaster - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IRaster getPanImage()
throws IOException,
AutomationException
getPanImage in interface IPansharpeningFilterIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setPanImageByRef(IRaster ppPanImage)
throws IOException,
AutomationException
This Raster must be a raster of single band.
setPanImageByRef in interface IPansharpeningFilterppPanImage - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public int getPansharpeningType()
throws IOException,
AutomationException
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 >
getPansharpeningType in interface IPansharpeningFilterIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setPansharpeningType(int pSharpeningType)
throws IOException,
AutomationException
setPansharpeningType in interface IPansharpeningFilterpSharpeningType - A com.esri.arcgis.datasourcesraster.esriPansharpeningType constant (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void queryWeights(double[] pRW,
double[] pGW,
double[] pBW,
double[] pIW)
throws IOException,
AutomationException
queryWeights in interface IPansharpeningFilterpRW - 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)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void putWeights(double rW,
double gW,
double bW,
double iW)
throws IOException,
AutomationException
putWeights in interface IPansharpeningFilterrW - The rW (in)gW - The gW (in)bW - The bW (in)iW - The iW (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IRaster getInfraredImage()
throws IOException,
AutomationException
It is optional. If not set, Infrared band will not be used in the pan sharpening operation.
getInfraredImage in interface IPansharpeningFilterIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setInfraredImageByRef(IRaster ppInfraredImage)
throws IOException,
AutomationException
setInfraredImageByRef in interface IPansharpeningFilterppInfraredImage - A reference to a com.esri.arcgis.geodatabase.IRaster (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void isDirty()
throws IOException,
AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
isDirty in interface IPersistStreamIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void load(IStream pstm)
throws IOException,
AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
load in interface IPersistStreampstm - A reference to a com.esri.arcgis.system.IStream (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void save(IStream pstm,
int fClearDirty)
throws IOException,
AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
save in interface IPersistStreampstm - A reference to a com.esri.arcgis.system.IStream (in)fClearDirty - The fClearDirty (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getSizeMax(_ULARGE_INTEGER[] pcbSize)
throws IOException,
AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
getSizeMax in interface IPersistStreampcbSize - A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void getClassID(GUID[] pClassID)
throws IOException,
AutomationException
IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.
getClassID in interface IPersistpClassID - A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public boolean isSupportedAtVersion(int docVersion)
throws IOException,
AutomationException
Use IsSupportedAtVersion to identify if a particular object should be saved to the ObjectStream. This result is based on the esriArcGISVersion enumeration. In some instances, if the object is not supported at a particular ArcGIS version, the object may support conversion to another similar object; use IDocumentVersionSupportGEN::ConvertToSupportedObject to accomplish this.
isSupportedAtVersion in interface IDocumentVersionSupportGENdocVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public Object convertToSupportedObject(int docVersion)
throws IOException,
AutomationException
This method should be used when IDocumentVersionSupportGEN::IsSupportedAtVersion returns FALSE. Calling ConvertToSupportedObject will return an IUnknown pointer to a relevant object supported at the particular ArcGIS version. Not all objects will return a supported object; in these cases a null pointer will be returned.
convertToSupportedObject in interface IDocumentVersionSupportGENdocVersion - A com.esri.arcgis.system.esriArcGISVersion constant (in)
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public String getMinNamespaceSupported()
throws IOException,
AutomationException
getMinNamespaceSupported in interface IXMLVersionSupportIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void writeExternal(ObjectOutput out)
throws IOException
writeExternal in interface ExternalizableIOException
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
readExternal in interface ExternalizableIOException
ClassNotFoundException
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||