|
|||||||||
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. |
double |
getMaximumPansharpeningCellsize()
The maximum cellsize, in Pan image's SR, below which pansharpening will be applied. |
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 |
setMaximumPansharpeningCellsize(double cellSize)
The maximum cellsize, in Pan image's SR, below which pansharpening will be applied. |
void |
setPanImageByRef(IRaster ppPanImage)
The panchromatic image. |
void |
setPansharpeningType(int pSharpeningType)
The current pansharpening type. |
void |
sharpen(double p,
double[] r,
double[] g,
double[] b,
double[] i)
Applies pansharpening to a pixel (R, G, B, I). |
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 problemspublic 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 problemsMethod Detail |
---|
public static String getClsid()
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public void getSize(int[] columns, int[] rows) throws IOException, AutomationException
getSize
in interface IPixelFilter
columns
- 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 IPixelFilter
atColumn
- 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 IPixelFilter
pBlock
- 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 IPixelFilter2
nCols
- 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 IPixelFilter2
pTopLeft
- 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 IPixelFilter3
pRaster
- 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 IPansharpeningFilter
IOException
- 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 IPansharpeningFilter
ppPanImage
- 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 IPansharpeningFilter
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setPansharpeningType(int pSharpeningType) throws IOException, AutomationException
setPansharpeningType
in interface IPansharpeningFilter
pSharpeningType
- 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 IPansharpeningFilter
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)
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 IPansharpeningFilter
rW
- 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 IPansharpeningFilter
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setInfraredImageByRef(IRaster ppInfraredImage) throws IOException, AutomationException
setInfraredImageByRef
in interface IPansharpeningFilter
ppInfraredImage
- 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 sharpen(double p, double[] r, double[] g, double[] b, double[] i) throws IOException, AutomationException
sharpen
in interface IPansharpeningFilter2
p
- The p (in)r
- The r (in/out: use single element array)g
- The g (in/out: use single element array)b
- The b (in/out: use single element array)i
- The i (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getMaximumPansharpeningCellsize() throws IOException, AutomationException
getMaximumPansharpeningCellsize
in interface IPansharpeningFilter2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMaximumPansharpeningCellsize(double cellSize) throws IOException, AutomationException
setMaximumPansharpeningCellsize
in interface IPansharpeningFilter2
cellSize
- The cellSize (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 IPersistStream
IOException
- 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 IPersistStream
pstm
- 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 IPersistStream
pstm
- 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 IPersistStream
pcbSize
- 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 IPersist
pClassID
- 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 IDocumentVersionSupportGEN
docVersion
- 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 IDocumentVersionSupportGEN
docVersion
- 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 IXMLVersionSupport
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
IOException
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |