public class FilterOperation extends OperationJAI
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 operation. 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 mathematical relationship. A filtered grid coverage is generated by multiplying each coefficient in the window by the grid value in the original grid coverage corresponding to the windows current location and assigning the result to the central pixel location of the window in the filtered grid coverage. The window is moved throughout 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.
|Constructor and Description|
Constructs a new filter operation.
|Modifier and Type||Method and Description|
Returns the target sample dimensions.
createRenderedImage, deriveCategory, deriveGridCoverage, deriveName, deriveRange, deriveUnit, doOperation, equals, extractSources, getJAI, getOperationDescriptor, getProperties, getQuantitative, handleJAIEXTParams, handleROINoDataInternal, handleROINoDataProperties, hashCode, prepareParameters, resampleToCommonGeometry
getDescription, getDocURL, getName, getNumSources, getParameters, getVendor, getVersion, toString
public FilterOperation(String name) throws OperationNotFoundException
name- The JAI operation name.
OperationNotFoundException- if no JAI descriptor was found for the given name.
protected GridSampleDimension deriveSampleDimension(GridSampleDimension bandLists, OperationJAI.Parameters parameters)
bandLists- The set of sample dimensions for each source
parameters- Parameters, rendering hints and coordinate reference system to use.
Copyright © 1996–2023 Geotools. All rights reserved.