 
PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
public class BandCombineOp extends Object implements RasterOp
This class performs an arbitrary linear combination of the bands
in a Raster
, using a specified matrix.
The width of the matrix must be equal to the number of bands in the
source Raster
, optionally plus one. If there is one more
column in the matrix than the number of bands, there is an implied 1 at the
end of the vector of band samples representing a pixel. The height
of the matrix must be equal to the number of bands in the destination.
For example, a 3banded Raster
might have the following
transformation applied to each pixel in order to invert the second band of
the Raster
.
[ 1.0 0.0 0.0 0.0 ] [ b1 ] [ 0.0 1.0 0.0 255.0 ] x [ b2 ] [ 0.0 0.0 1.0 0.0 ] [ b3 ] [ 1 ]
Note that the source and destination can be the same object.
Constructor Summary  

BandCombineOp(float[][] matrix, RenderingHints hints) Constructs a BandCombineOp with the specified matrix.

Method Summary  

WritableRaster 
Creates a zeroed destination Raster with the correct size
and number of bands.

WritableRaster 
filter(Raster src, WritableRaster dst) Transforms the Raster using the matrix specified in the
constructor.

Rectangle2D 
getBounds2D(Raster src) Returns the bounding box of the transformed destination. 
float[][] 
Returns a copy of the linear combination matrix. 
Point2D 
getPoint2D(Point2D srcPt, Point2D dstPt) Returns the location of the corresponding destination point given a point in the source Raster .

RenderingHints 
Returns the rendering hints for this operation. 
Methods inherited from class java.lang.Object 

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
Constructor Detail 

public BandCombineOp(float[][] matrix, RenderingHints hints)
BandCombineOp
with the specified matrix.
The width of the matrix must be equal to the number of bands in
the source Raster
, optionally plus one. If there is one
more column in the matrix than the number of bands, there is an implied
1 at the end of the vector of band samples representing a pixel. The
height of the matrix must be equal to the number of bands in the
destination.
The first subscript is the row index and the second
is the column index. This operation uses none of the currently
defined rendering hints; the RenderingHints
argument can be
null.
matrix
 The matrix to use for the band combine operation.hints
 The RenderingHints
object for this operation.
Not currently used so it can be null.Method Detail 

public WritableRaster createCompatibleDestRaster(Raster src)
Raster
with the correct size
and number of bands.
An IllegalArgumentException
may be thrown if the number of
bands in the source is incompatible with the matrix. See
the class comments for more details.
src
 The Raster
to be filtered.Raster
.public WritableRaster filter(Raster src, WritableRaster dst)
Raster
using the matrix specified in the
constructor. An IllegalArgumentException
may be thrown if
the number of bands in the source or destination is incompatible with
the matrix. See the class comments for more details.
If the destination is null, it will be created with a number of bands equalling the number of rows in the matrix. No exception is thrown if the operation causes a data overflow.
src
 The Raster
to be filtered.dst
 The Raster
in which to store the results
of the filter operation.Raster
.public final Rectangle2D getBounds2D(Raster src)
IllegalArgumentException
may be thrown if the number of
bands in the source is incompatible with the matrix. See
the class comments for more details.
src
 The Raster
to be filtered.Rectangle2D
representing the destination
image's bounding box.public final float[][] getMatrix()
public final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
Raster
. If dstPt
is
specified, it is used to hold the return value.
Since this is not a geometric operation, the point returned
is the same as the specified srcPt
.
srcPt
 The Point2D
that represents the point in
the source Raster
dstPt
 The Point2D
in which to store the result.Point2D
in the destination image that
corresponds to the specified point in the source image.public final RenderingHints getRenderingHints()
RenderingHints
object associated with this
operation. Returns null if no hints have been set.
 
PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 