org.geotoolkit.image.jai
Class NodataFilter

Object
  extended by PlanarImage
      extended by OpImage
          extended by AreaOpImage
              extended by NodataFilter
All Implemented Interfaces:
RenderedImage, ImageJAI, PropertyChangeEmitter, PropertySource, WritablePropertySource

public class NodataFilter
extends AreaOpImage

Replaces Double.NaN values by the weighted average of neighbors values. This operation uses a box of size × size pixels centered on each NaN value. The weighted average is then computed, ignoring all NaN values. If the number of valid values is greater than validityThreshold, then the center NaN is replaced by the computed average. Otherwise, the NaN value is left unchanged.

Since:
2.1
Version:
3.00
Author:
Lionel Flahaut (IRD), Martin Desruisseaux (IRD)
Module:
coverage/geotk-coverage (download)    View source code for this class

Field Summary
static String OPERATION_NAME
          The name of this operation in the JAI registry.
 
Fields inherited from class AreaOpImage
bottomPadding, extender, leftPadding, rightPadding, topPadding
 
Fields inherited from class OpImage
cache, cobbleSources, OP_COMPUTE_BOUND, OP_IO_BOUND, OP_NETWORK_BOUND, tileCacheMetric, tileRecycler
 
Fields inherited from class PlanarImage
colorModel, eventManager, height, minX, minY, properties, sampleModel, tileFactory, tileGridXOffset, tileGridYOffset, tileHeight, tileWidth, width
 
Constructor Summary
NodataFilter(RenderedImage source, ImageLayout layout, Map<?,?> configuration, int padding, int validityThreshold)
          Constructs a new operation.
 
Method Summary
protected  void computeRect(PlanarImage[] sources, WritableRaster dest, Rectangle destRect)
          Computes a rectangle of outputs.
 Vector<RenderedImage> getSources()
          Returns the source images.
 
Methods inherited from class AreaOpImage
computeTile, getBorderExtender, getBottomPadding, getLeftPadding, getRightPadding, getTopPadding, mapDestRect, mapSourceRect
 
Methods inherited from class OpImage
addTileToCache, cancelTiles, 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 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, 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 Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

OPERATION_NAME

public static final String OPERATION_NAME
The name of this operation in the JAI registry. This is "org.geotoolkit.NodataFilter".

See Also:
Constant Field Values
Constructor Detail

NodataFilter

public NodataFilter(RenderedImage source,
                    ImageLayout layout,
                    Map<?,?> configuration,
                    int padding,
                    int validityThreshold)
Constructs a new operation. While this constructor is public, it should usually not be invoked directly. You should use JAI factory methods instead.

Parameters:
source - The source image.
layout - The image layout.
configuration - The image properties and rendering hints.
padding - The number of pixel above, below, to the left and to the right of central NaN pixel. The full box size is padding×2+1.
validityThreshold - The minimal number of valid neighbors required in order to consider the average as valid.
Method Detail

getSources

public Vector<RenderedImage> getSources()
Returns the source images.

Specified by:
getSources in interface RenderedImage
Overrides:
getSources in class PlanarImage

computeRect

protected void computeRect(PlanarImage[] sources,
                           WritableRaster dest,
                           Rectangle destRect)
Computes a rectangle of outputs.

Overrides:
computeRect in class OpImage
Parameters:
sources - The source images. Should be an array of length 1.
dest - The raster to be filled in.
destRect - The region within the raster to be filled.


Copyright © 2009-2012 Geotoolkit.org. All Rights Reserved.