- All Implemented Interfaces:
- RasterOp
public class BandCombineOp extends Object implements RasterOp
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 3-banded 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 SummaryConstructors Constructor Description BandCombineOp(float[][] matrix, RenderingHints hints)Constructs aBandCombineOpwith the specified matrix.
- 
Method SummaryModifier and Type Method Description WritableRastercreateCompatibleDestRaster(Raster src)Creates a zeroed destinationRasterwith the correct size and number of bands.WritableRasterfilter(Raster src, WritableRaster dst)Transforms theRasterusing the matrix specified in the constructor.Rectangle2DgetBounds2D(Raster src)Returns the bounding box of the transformed destination.float[][]getMatrix()Returns a copy of the linear combination matrix.Point2DgetPoint2D(Point2D srcPt, Point2D dstPt)Returns the location of the corresponding destination point given a point in the sourceRaster.RenderingHintsgetRenderingHints()Returns the rendering hints for this operation.
- 
Constructor Details- 
BandCombineOpConstructs aBandCombineOpwith the specified matrix. The width of the matrix must be equal to the number of bands in the sourceRaster, 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 RenderingHintsargument can be null.- Parameters:
- matrix- The matrix to use for the band combine operation.
- hints- The- RenderingHintsobject for this operation. Not currently used so it can be null.
 
 
- 
- 
Method Details- 
getMatrixpublic final float[][] getMatrix()Returns a copy of the linear combination matrix.- Returns:
- The matrix associated with this band combine operation.
 
- 
filterTransforms theRasterusing the matrix specified in the constructor. AnIllegalArgumentExceptionmay 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. - Specified by:
- filterin interface- RasterOp
- Parameters:
- src- The- Rasterto be filtered.
- dst- The- Rasterin which to store the results of the filter operation.
- Returns:
- The filtered Raster.
- Throws:
- IllegalArgumentException- If the number of bands in the source or destination is incompatible with the matrix.
 
- 
getBounds2DReturns the bounding box of the transformed destination. Since this is not a geometric operation, the bounding box is the same for the source and destination. AnIllegalArgumentExceptionmay be thrown if the number of bands in the source is incompatible with the matrix. See the class comments for more details.- Specified by:
- getBounds2Din interface- RasterOp
- Parameters:
- src- The- Rasterto be filtered.
- Returns:
- The Rectangle2Drepresenting the destination image's bounding box.
- Throws:
- IllegalArgumentException- If the number of bands in the source is incompatible with the matrix.
 
- 
createCompatibleDestRasterCreates a zeroed destinationRasterwith the correct size and number of bands. AnIllegalArgumentExceptionmay be thrown if the number of bands in the source is incompatible with the matrix. See the class comments for more details.- Specified by:
- createCompatibleDestRasterin interface- RasterOp
- Parameters:
- src- The- Rasterto be filtered.
- Returns:
- The zeroed destination Raster.
 
- 
getPoint2DReturns the location of the corresponding destination point given a point in the sourceRaster. IfdstPtis specified, it is used to hold the return value. Since this is not a geometric operation, the point returned is the same as the specifiedsrcPt.- Specified by:
- getPoint2Din interface- RasterOp
- Parameters:
- srcPt- The- Point2Dthat represents the point in the source- Raster
- dstPt- The- Point2Din which to store the result.
- Returns:
- The Point2Din the destination image that corresponds to the specified point in the source image.
 
- 
getRenderingHintsReturns the rendering hints for this operation.- Specified by:
- getRenderingHintsin interface- RasterOp
- Returns:
- The RenderingHintsobject associated with this operation. Returns null if no hints have been set.
 
 
-