**-n**- Propagate NULLs
**--overwrite**- Allow output files to overwrite existing files
**--help**- Print usage summary
**--verbose**- Verbose module output
**--quiet**- Quiet module output
**--ui**- Force launching GUI dialog

**input**=*name***[required]**- Name of input raster map
**output**=*name***[required]**- Name for output raster map
**filter**=*string[,**string*,...]**[required]**- Filter kernel(s)
- Options:
*box, bartlett, gauss, normal, hermite, sinc, lanczos1, lanczos2, lanczos3, hann, hamming, blackman* **radius**=*float[,**float*,...]- Filter radius
**x_radius**=*float[,**float*,...]- Filter radius (horizontal)
**y_radius**=*float[,**float*,...]- Filter radius (vertical)

The module maps the input range to the width of the window function, so wider windows will be "sharper" (have a higher cut-off frequency), e.g. lanczos3 will be sharper than lanczos2.

r.resamp.filter implements FIR (finite impulse response) filtering. All of the functions are low-pass filters, as they are symmetric. See Wikipedia: Window function for examples of common window functions and their frequency responses.

A piecewise-continuous function defined by sampled data can be considered a mixture (sum) of the underlying signal and quantisation noise. The intent of a low pass filter is to discard the quantisation noise while retaining the signal. The cut-off frequency is normally chosen according to the sampling frequency, as the quantisation noise is dominated by the sampling frequency and its harmonics. In general, the cut-off frequency is inversely proportional to the width of the central "lobe" of the window function.

When using *r.resamp.filter* with a specific radius, a specific
cut-off frequency regardless of the method is chosen. So while lanczos3
uses 3 times as large a window as lanczos1, the cut-off frequency remains
the same. Effectively, the radius is "normalised".

All of the kernels specified by the **filter** parameter are
multiplied together. Typical usage will use either a single kernel or an
infinite kernel along with a finite window.

When using a kernel which can have negative values (sinc, Lanczos),
the *-n* flag should be used. Otherwise, extreme values can
arise due to the total weight being close (or even equal) to zero.

Kernels with infinite extent (Gauss, normal, sinc, Hann, Hamming, Blackman) must be used in conjunction with a finite windowing function (box, Bartlett, Hermite, Lanczos).

The way that Lanczos filters are defined, the number of samples is supposed to be proportional to the order ("a" parameter), so lanczos3 should use 3 times as many samples (at the same sampling frequency, i.e. cover 3 times as large a time interval) as lanczos1 in order to get a similar frequency response (higher-order filters will fall off faster, but the frequency at which the fall-off starts should be the same). See Wikipedia: Lanczos-kernel.svg for an illustration. If both graphs were drawn on the same axes, they would have roughly the same shape, but the a=3 window would have a longer tail. By scaling the axes to the same width, the a=3 window has a narrower central lobe.

For longitude-latitude locations, the interpolation algorithm is based on degree fractions, not on the absolute distances between cell centers. Any attempt to implement the latter would violate the integrity of the interpolation method.

Overview: Interpolation and Resampling in GRASS GIS

*Last changed: $Date$*

Available at: r.resamp.filter source code (history)

Main index | Raster index | Topics index | Keywords index | Graphical index | Full index

© 2003-2019 GRASS Development Team, GRASS GIS 7.8.1dev Reference Manual