| java.lang.Object org.geotools.coverage.processing.AbstractOperation org.geotools.coverage.processing.Operation2D org.geotools.coverage.processing.OperationJAI org.geotools.coverage.processing.FilterOperation
All known Subclasses: org.geotools.coverage.processing.operation.NodataFilter,
FilterOperation | public class FilterOperation extends OperationJAI (Code) | | Common super-class for filter operation. The following is adapted from OpenGIS specification:
Filtering is an enhancement operation that alters the grid values on the basis of the
neighborhood grid values. For this reason, filtering is considered to be a spatial or
area opeartion. There are many different filters that can be applied to a grid coverage
but the general concept of filtering is the same. A filter window or kernel is defined,
its dimension being an odd number in the x and y dimensions. Each
cell in this window contains a co-efficient or weighting factor representative of some
mathmetical relationship. A filtered grid coverage is generated by multipling each
coefficient in the window by the grid value in the original grid coverage corresponding
to the window’s current location and assigning the result to the central pixel location
of the window in the filtered grid coverage. The window is moved thoughout the grid coverage
on pixel at a time. This window multiplication process is known as convolution. A grid coverage
contains both low and high spatial information. High frequencies describe rapid change from one
grid cell to another such as roads or other boundary conditions. Low frequencies describe gradual
change over a large number of cells such as water bodies. High pass filters allow only high
frequency information to be generated in the new grid coverage Grid coverages generated with high
pass filters will show edge conditions. Low pass filters allow low frequency information
to be generated in the new grid coverage. The grid coverage produced from a filtering
operation will have the same dimension as the source grid coverage. To produce filtered
values around the edges of the source grid coverage, edge rows and columns will be
duplicated to fill a complete kernel.
since: 2.2 version: $Id: FilterOperation.java 20970 2006-08-11 07:53:22Z jgarnett $ author: Martin Desruisseaux |
FilterOperation | public FilterOperation(String name) throws OperationNotFoundException(Code) | | Constructs a new filter operation.
Parameters: name - The JAI operation name. throws: OperationNotFoundException - if no JAI descriptor was found for the given name. |
deriveSampleDimension | protected GridSampleDimension[] deriveSampleDimension(GridSampleDimension[][] bandLists, Parameters parameters)(Code) | | Returns the target sample dimensions. Since filter operation do not change the range of
values, this method returns the same sample dimension than the first source.
|
Methods inherited from org.geotools.coverage.processing.OperationJAI | protected RenderedImage createRenderedImage(ParameterBlockJAI parameters, RenderingHints hints)(Code)(Java Doc) protected Category deriveCategory(Category[] categories, Parameters parameters)(Code)(Java Doc) protected GridCoverage2D deriveGridCoverage(GridCoverage2D[] sources, Parameters parameters)(Code)(Java Doc) protected InternationalString deriveName(GridCoverage2D[] sources, int primarySourceIndex, Parameters parameters)(Code)(Java Doc) protected NumberRange deriveRange(NumberRange[] ranges, Parameters parameters)(Code)(Java Doc) protected GridSampleDimension[] deriveSampleDimension(GridSampleDimension[][] bandLists, Parameters parameters)(Code)(Java Doc) protected Unit deriveUnit(Unit[] units, Parameters parameters)(Code)(Java Doc) public Coverage doOperation(ParameterValueGroup parameters, Hints hints) throws CoverageProcessingException(Code)(Java Doc) public boolean equals(Object object)(Code)(Java Doc) public static JAI getJAI(RenderingHints hints)(Code)(Java Doc) protected static OperationDescriptor getOperationDescriptor(String name) throws OperationNotFoundException(Code)(Java Doc) protected Map getProperties(RenderedImage data, CoordinateReferenceSystem crs, InternationalString name, MathTransform gridToCRS, GridCoverage2D[] sources, Parameters parameters)(Code)(Java Doc) protected static int getQuantitative(Category[] categories)(Code)(Java Doc) protected ParameterBlockJAI prepareParameters(ParameterValueGroup parameters)(Code)(Java Doc) protected void resampleToCommonGeometry(GridCoverage2D[] sources, CoordinateReferenceSystem crs2D, MathTransform2D gridToCrs2D, Hints hints) throws InvalidGridGeometryException, CannotReprojectException(Code)(Java Doc)
|
Fields inherited from org.geotools.coverage.processing.Operation2D | final protected static int PRIMARY_SOURCE_INDEX(Code)(Java Doc) final public static ParameterDescriptor SOURCE_0(Code)(Java Doc)
|
Fields inherited from org.geotools.coverage.processing.AbstractOperation | final protected ParameterDescriptorGroup descriptor(Code)(Java Doc)
|
|
|