Public API Design
TODO
Internal Design
The OperatorContext holds a map of tiled JAI images (OperatorImage) for each target band contained in the target Product of the GPF Operator. If requested, it delegates the tile computation to the associated GPF Operator by passing a target TileImpl instance to it which wrapps the requested JAI tile (a java.awt.WritableRaster.
Requests to compute a tile are for example triggered
- If Operator implementation code requests a source tile: Operator.getSourceTile()
- If the java.awt.RenderedImage associated with a RasterDataNode is displayed or used as source to another JAI image: RasterDataNode.getImage(). Note that a JAI image usually is an image (JAI-)operator. The image of target bands computed by a GPF Operator are always of the type OperatorImage.
- If a target Band is requested to read pixels or raster data: Band.readPixels(). In this case raster data is read by the target product's ProductReader, which is always an OperatorProductReader for the target product created by a GPF Operator.
Therfore, each Operator is already represented by a corresponding JAI image, which can be retrieved using the RasterDataNode.getImage() method on target bands.
JAI pull-processing requests are best found in the GPF code by searching the usages of the TileImpl constructors.