DESCRIPTION

Sun et al.'s (2007) denoising algorithm is a feature-preserving mesh denoising algorithm that smooths the surfaces of computer models of three dimensional objects such as those used in computer-aided design and graphics. It removes random noise while preserving sharp features and smoothing with minimal changes to the original data. r.denoise is a python script that allows the algorithm to be run on DEMs from within GRASS. Denoising DEMs can improve clarity and quality of derived products such as slope and hydraulic maps.

The amount of smoothing is controlled by the threshold and iterations parameters. Increasing the threshold decreases how sharp a feature needs to be to be preserved e.g. decreases the smoothing. To preserve ridge crests in mountain areas, T > 0.9 is recommended. Setting T too high results in the preservation of noise. For SRTM data, which is already partly smoothed by NASA, T = 0.99 can be used. Increasing the number of iterations increases the smoothing and the range of spatial correlation of the output dataset. A small number, e.g. 5 or fewer, typically gives the best results. See the REFERENCES for more detailed information.

NOTES

r.denoise works with a cartesian coordinate system. Thus data in geographic (lat-long) coordinates require projection during processing. The script is able to do this if the EPSG code of a suitable coordinate system is provided.

REQUIREMENTS

r.denoise requires that mdenoise, the executable version of Sun et al.'s (2007) denoising algorithm, is available on the $PATH. mdenoise can be compiled and installed as follows:
wget http://www.cs.cf.ac.uk/meshfiltering/index_files/Doc/mdsource.zip
unzip mdsource.zip
cd mdenoise
g++ -o mdenoise mdenoise.cpp triangle.c
ln -s `pwd`/mdenoise /some/directory/on/the/$PATH

The python version of r.denoise uses pyproj:

pip install pyproj

REFERENCES

SEE ALSO

r.stats, r.in.xyz, r.neighbors, r.topidx

AUTHOR

John A Stevenson
johnalexanderstevenson at yahoo dot co dot uk

The module was written as part of a project funded by EPSRC Grant no. EP/C007972/1 (P.I. Paul Rosin, Cardiff University).

Module ported to Python by Carlos H. Grohmann
Institute of Energy and Environment, University of Sao Paulo, Brazil

Last changed: $Date$