[GRASS-SVN] r73874 - grass-addons/grass7/raster/r.series.filter
svn_grass at osgeo.org
svn_grass at osgeo.org
Thu Dec 27 13:20:04 PST 2018
Author: veroandreo
Date: 2018-12-27 13:20:04 -0800 (Thu, 27 Dec 2018)
New Revision: 73874
Modified:
grass-addons/grass7/raster/r.series.filter/r.series.filter.html
Log:
r.series.filter addon manual: typos fixed
Modified: grass-addons/grass7/raster/r.series.filter/r.series.filter.html
===================================================================
--- grass-addons/grass7/raster/r.series.filter/r.series.filter.html 2018-12-27 21:18:14 UTC (rev 73873)
+++ grass-addons/grass7/raster/r.series.filter/r.series.filter.html 2018-12-27 21:20:04 UTC (rev 73874)
@@ -1,77 +1,80 @@
<h2>DESCRIPTION</h2>
<em>r.series.filter</em> is a module to filter raster time series <em>X</em>
-in time domain.
-It requires <em>python-scipy</em> (version 0.14 or later).
+in time domain. It requires <em>python-scipy</em> (version 0.14 or later).
<p>
-<em>-c</em> Find optimal parameters of used filter. The function to optimize depends on
- difference between original and filtered signals and on derivates of the
- filtered signal.
-<em>-u</em> Filter using upper boundary of the signal values.
- (Useful for vegetation indexes filtering)
+<em>-c</em>: Find optimal parameters of used filter. The function to
+optimize depends on difference between original and filtered signals and
+on derivates of the filtered signal.
<p>
-<em>input</em> Raster names of equally spaced time series <em>X</em>.
+<em>-u</em>: Filter using upper boundary of the signal values (Useful for
+vegetation indexes filtering).
<p>
-<em>result_prefix</em> Prefix for raster names of filterd <em>X</em>.
+<em>input</em>: Raster names of equally spaced time series <em>X</em>.
<p>
-<em>method</em> filtering method. Implemented filters are Savitzky-Golay filter <em>savgol</em>
- and median filter <em>median</em>.
+<em>result_prefix</em>: Prefix for raster names of filterd <em>X</em>.
<p>
-<em>winsize</em> The length of the filter window. <em>winsize</em> must be a positive odd integer.
+<em>method</em>: Filtering method. Implemented filters are Savitzky-Golay
+filter <em>savgol</em> and median filter <em>median</em>.
<p>
-<em>order</em> The order of the polynomial used to fit the samples. <em>order</em>
- must be less than <em>winsize</em>. (Savitzky-Golay only)
+<em>winsize</em>: The length of the filter window. <em>winsize</em> must
+be a positive odd integer.
<p>
-<em>iterations</em> Number of filtering iterations.
+<em>order</em>: The order of the polynomial used to fit the samples. The
+<em>order</em> must be less than <em>winsize</em> (Savitzky-Golay only).
<p>
-<em>opt_points</em> If <em>-c</em> is specifed, then random sample
- <em>opt_points</em> and use them in parameter optimization.
+<em>iterations</em>: Number of filtering iterations.
<p>
-<em>diff_penalty</em> Penalty for difference between original and filtered signals (see Notes).
+<em>opt_points</em>: If <em>-c</em> is specifed, then random sample
+<em>opt_points</em> and use them in parameter optimization.
<p>
-<em>deriv_penalty</em> Penalty for derivates of filtered signal (see Notes).
+<em>diff_penalty</em>: Penalty for difference between original and
+filtered signals (see Notes).
+<p>
+<em>deriv_penalty</em>: Penalty for derivates of filtered signal
+(see Notes).
-
<h2>NOTES</h2>
<em>X</em> must be equally spaced time series. If the series isn't equally
spaced, insert NULL raster maps into <em>X</em>.
-<p>
-There is a procedure for searching for good filtering parameters: it uses <em>opt_points</em>
-random points and perfoms filtering in that points. The result of the filtering can be tested
-for quality. The quality function is a trade of two features: accuracy and smoothing.
-Accuracy can be estimated as the (abs) difference between original and filtered data,
-quality of smoothing can be estimated as absalute values of the derivates. So there are two
-parameters <em>diff_penalty</em> and <em>deriv_penalty</em> that can ajust the trade-of.
-<p>
-So the optimizing procedure performs loop over filtering parameters and calculates
-the next penalty function:
-<div class="code"><pre>
+<p> There is a procedure for searching for good filtering parameters:
+it uses <em>opt_points</em> random points and perfoms filtering in that
+points. The result of the filtering can be tested for quality. The
+quality function is a trade of two features: accuracy and smoothing.
+Accuracy can be estimated as the (abs) difference between original and
+filtered data, quality of smoothing can be estimated as absalute values
+of the derivates. So there are two parameters <em>diff_penalty</em> and
+<em>deriv_penalty</em> that can ajust the trade-of.
+<p>
+So the optimizing procedure performs loop over filtering parameters and
+calculates the next penalty function:
+<div class="code"><pre>
penalty = diff_penalty * sum(abs(Xi-Fi)) + sum(abs(dFi))
</pre></div>
-where <em>Xi</em> are original signals in the samplig points, <em>Fi</em>
-are filtered signals in the sampling points.
-<p>
+where <em>Xi</em> are original signals in the samplig points, <em>Fi</em> are
+filtered signals in the sampling points.
+<p>
The optimal parameters are used for signal filtering in the whole region.
<p>
-If <em>-u</em> flag is specifed, then filter uses Chen's algorithm (see link bellow).
-The algorithm is usefull for vegetation indexes filtering. It creates a curve that
-flows on upper boundary of the signal.
+If <em>-u</em> flag is specifed, then filter uses Chen's algorithm (see
+link bellow). The algorithm is usefull for vegetation indexes filtering.
+It creates a curve that flows on upper boundary of the signal.
<h2>EXAMPLES</h2>
Create test data: <em>X = sin(t) + E</em>,
where <em>X</em> is raster time series, <em>E</em> is a error term.
-<pre>
+<div class="code"><pre>
for T in $(seq -w 0 10 360)
do
name="test_raster"$T
r.mapcalc -s "$name = sin($T) + rand(-0.3, 0.3)"
done
-</pre>
+</pre></div>
<p>
Create smooth raster series using Savitzky-Golay method:
<div class="code"><pre>
@@ -97,14 +100,12 @@
<h2>REFERENCES</h2>
-<ul>
- <li>Chen, Jin, et al. "A simple method for reconstructing a high-quality
- NDVI time-series data set based on the Savitzky–Golay filter."
- Remote sensing of Environment 91.3 (2004): 332-344.
- </li>
-</ul>
+Chen, Jin; Jonsson, Per; Tamura, Masayuki; Gu, Zhihui; Matsushita,
+Bunkei; Eklundh, Lars. (2004). <i>A simple method for reconstructing a
+high-quality NDVI time-series data set based on the Savitzky-Golay
+filter</i>. <b>Remote Sensing of Environment</b>, 91, 332-344, doi:<a
+href="https://doi.org/10.1016/j.rse.2004.03.014">10.1016/j.rse.2004.03.014</a>.
-
<h2>SEE ALSO</h2>
<em>
More information about the grass-commit
mailing list