it.geosolutions.jaiext.mosaic
Class MosaicOpImage2

java.lang.Object
  extended by javax.media.jai.PlanarImage
      extended by javax.media.jai.OpImage
          extended by it.geosolutions.jaiext.mosaic.MosaicOpImage2
All Implemented Interfaces:
RenderedImage, javax.media.jai.ImageJAI, javax.media.jai.PropertyChangeEmitter, javax.media.jai.PropertySource, javax.media.jai.WritablePropertySource

public class MosaicOpImage2
extends javax.media.jai.OpImage

This class takes an array of RenderedImage and creates a mosaic of them. If the image pixels are No Data values, they are not calculated and the MosaicOpImage2 searches for the pixels of the other source images in the same location. If all the pixels in the same location are No Data, the destination image pixel will be a destination No Data value. This feature is combined with the ROI support and alpha channel support(leaved unchanged). No Data support has been added both in the BLEND and OVERLAY mosaic type. The MosaicOpImage2 behavior is equal to that of the old MosaicOpImage2, the only difference is the No Data support. The input values of the first one are different because a Java Bean is used for storing all of them in a unique block instead of different variables as the second one. This Java Bean is described in the ImageMosaicBean class. Inside this class, other Java Beans are used for simplifying the image data transport between the various method.


Nested Class Summary
static class MosaicOpImage2.WeightType
          Enumerator for the type of mosaic weigher
 
Field Summary
static Number[] DEFAULT_DESTINATION_NO_DATA_VALUE
          Default value for the destination image if every pixel in the same location is a no data
 
Fields inherited from class javax.media.jai.OpImage
cache, cobbleSources, OP_COMPUTE_BOUND, OP_IO_BOUND, OP_NETWORK_BOUND, tileCacheMetric, tileRecycler
 
Fields inherited from class javax.media.jai.PlanarImage
colorModel, eventManager, height, minX, minY, properties, sampleModel, tileFactory, tileGridXOffset, tileGridYOffset, tileHeight, tileWidth, width
 
Constructor Summary
MosaicOpImage2(List sources, javax.media.jai.ImageLayout layout, Map renderingHints, ImageMosaicBean[] images, javax.media.jai.operator.MosaicType mosaicTypeSelected, Number[] destinationNoData)
          This constructor takes the source images, the layout, the rendering hints, and the parameters and initialize variables.
 
Method Summary
 Raster computeTile(int tileX, int tileY)
          This method overrides the OpImage compute tile method and calculates the mosaic operation for the selected tile.
 Rectangle mapDestRect(Rectangle destRectangle, int sourceRasterIndex)
           
 Rectangle mapSourceRect(Rectangle sourceRectangle, int sourceRasterIndex)
           
 
Methods inherited from class javax.media.jai.OpImage
addTileToCache, cancelTiles, computeRect, computeRect, computesUniqueTiles, createTile, dispose, getExpandedNumBands, getFormatTags, getOperationComputeType, getTile, getTileCache, getTileCacheMetric, getTileDependencies, getTileFromCache, getTileRecycler, getTiles, hasExtender, mapDestPoint, mapSourcePoint, prefetchTiles, queueTiles, recycleTile, setTileCache, vectorize, vectorize, vectorize
 
Methods inherited from class javax.media.jai.PlanarImage
addPropertyChangeListener, addPropertyChangeListener, addSink, addSink, addSource, addTileComputationListener, copyData, copyData, copyExtendedData, createColorModel, createSnapshot, createWritableRaster, finalize, getAsBufferedImage, getAsBufferedImage, getBounds, getColorModel, getData, getData, getDefaultColorModel, getExtendedData, getGraphics, getHeight, getImageID, getMaxTileX, getMaxTileY, getMaxX, getMaxY, getMinTileX, getMinTileY, getMinX, getMinY, getNumBands, getNumSources, getNumXTiles, getNumYTiles, getProperties, getProperty, getPropertyClass, getPropertyNames, getPropertyNames, getSampleModel, getSinks, getSource, getSourceImage, getSourceObject, getSources, getSplits, getTileComputationListeners, getTileFactory, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileIndices, getTileRect, getTiles, getTileWidth, getWidth, overlapsMultipleTiles, removeProperty, removePropertyChangeListener, removePropertyChangeListener, removeSink, removeSink, removeSinks, removeSource, removeSources, removeTileComputationListener, setImageLayout, setProperties, setProperty, setSource, setSources, tileXToX, tileXToX, tileYToY, tileYToY, toString, wrapRenderedImage, XToTileX, XToTileX, YToTileY, YToTileY
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_DESTINATION_NO_DATA_VALUE

public static final Number[] DEFAULT_DESTINATION_NO_DATA_VALUE
Default value for the destination image if every pixel in the same location is a no data

Constructor Detail

MosaicOpImage2

public MosaicOpImage2(List sources,
                      javax.media.jai.ImageLayout layout,
                      Map renderingHints,
                      ImageMosaicBean[] images,
                      javax.media.jai.operator.MosaicType mosaicTypeSelected,
                      Number[] destinationNoData)
This constructor takes the source images, the layout, the rendering hints, and the parameters and initialize variables.

Method Detail

computeTile

public Raster computeTile(int tileX,
                          int tileY)
This method overrides the OpImage compute tile method and calculates the mosaic operation for the selected tile.

Overrides:
computeTile in class javax.media.jai.OpImage

mapDestRect

public Rectangle mapDestRect(Rectangle destRectangle,
                             int sourceRasterIndex)
Specified by:
mapDestRect in class javax.media.jai.OpImage

mapSourceRect

public Rectangle mapSourceRect(Rectangle sourceRectangle,
                               int sourceRasterIndex)
Specified by:
mapSourceRect in class javax.media.jai.OpImage


Copyright © 2006–2014 GeoSolutions. All rights reserved.