Average filters for SAGA
SAGA GIS
Web site: http://www.saga-gis.org/
This is freeware software, developed in C++ language, very useful for
Digital Elevation Model (DEM) analysis and processing.
The core (SAGA API) is distributed under the GNU Lesser General Public
License (LGPL) while the Graphical User Interface (SAGA GUI) and a
selection of useful modules are available under the GNU General Public
License (GPL).
My average filters
(explanation for users)
In 2009 I created these filters for
grids.
The modules are already included in the version 2.0.1 in "Modules >
Contributions > A.Perego".
Newer versions: "Modules > Grid > Filter > Averages" or
in the Manager Window > "Module Libraries > Grid - Filter (Perego
2009)"
Average with mask
It calculates the average with a rectangular kernel only
for the cells specified in a mask grid.
AvWiMa1 calculates the average using only the cells included in the
mask grid.
AvWiMa2 calculates the average only for the cells specified in a mask
grid but using also the cells outside.
Input data and parameters:
- Input: the input grid.
- Mask Grid: grid used to specify what cells you want calculate the
average.
- Mask Value: value in the mask grid which indicates the target cells.
- Radius X: horizontal dimension of the kernel used for the calculation.
- Radius Y: vertical dimension of the kernel.
Average with threshold
It calculates the average with a rectangular kernel using
only cell values which differ from the central one less than the
specified threshold.
In A2WiTh and A3WiTh the average is weighted. The weight is higher in
the cells closer to the centre.
A2WiTh
= sum[ value * ( (radiusX - distanceX) + (radiusY - distanceY) )
] / sum[ ( (radiusX
- distanceX) + (radiusY -
distanceY) ) ]
A3WiTh
= sum[ value * ( (radiusX - distanceX) * (radiusY - distanceY) )
] / sum[ ( (radiusX
- distanceX) * (radiusY -
distanceY) ) ]
Input data and parameters:
- Input: the input grid.
- Radius X: horizontal dimension of the kernel used for the average
calculation.
- Radius Y: vertical dimension of the kernel.
- Threshold: only cell values which differ from the central one less
than this threshold are used in the calculation.
Directional average
It calculates the average along a specified direction.
Input data and parameters:
- Input: the input grid.
- Angle: direction of the average calculation; it’s measured in degrees
counterclockwise from horizontal.
- Main Radius: dimension of the kernel along the filter direction.
- Transversal Radius: dimension of the kernel transversal to the filter
direction.
Directional destriping
It removes straight parallel stripes in raster data.
It uses two low-pass filters elongated in the stripes direction; the
first one is 1 pixel unit wide while the second one is wide as the
striping wavelength. Their difference is the striping error which is
removed from the original data to obtain the destriped DEM. This method
is equivalent to that proposed by Oimoen (Oimoen, M.J., 2000. An Effective Filter For
Removal Of Production Artifacts In U.S. Geological Survey 7.5-Minute
Digital Elevation Models. Proceedings of the Fourteenth International
Conference on Applied Geologic Remote Sensing, 6-8 November, Las Vegas,
NV.).
With "destriping2" or "Destriping with Mask" you can choose a range of value
(min-max) from the input grid and a range of value (Mask min - Mask
max) from a mask grid to select the target cells.
Input data and parameters:
- Input: the input grid.
- Mask: mask grid (in destriping2).
- Angle: direction of the average calculation; it’s measured in degrees
counterclockwise from horizontal.
- Radius: dimension of the kernel along the filter direction; should be
the maximum stripe length you can measure (in pixel units).
- Stripes distance: distance between stripes / wavelength of striping
(in pixel units).
- min (in destriping2).
- max (in destriping2).
- Mask min (in destriping2).
- Mask max (in destriping2).
>>>
SRTM DEM destriping with SAGA: consequences on drainage network
extraction.
For developers: the source
codes
These modules was created in
“Scientific Developer Installation” of SAGA 2.0rc3 following the
instructions on the SAGA web site and using Microsoft Visual C++ 2005
Express Edition on Windows XP.
Warning about source codes
In order to build the modules, in the .dsp file it was necessary to
change libpath:"$(SAGA)/bin/saga_vc_dbg" in libpath:"$(SAGA)/bin/saga_vc".
|