Martin Album Ytre-Eide wrote: > I am using the the r.neighbors function and I have an idea about > what the 'Gauss' parameter will do for me, but I can't find any > documentation for it. Experimenting with it, left me clueless.
Using gauss= is equivalent to using weight= with a weights file corresponding to a Gaussian filter. The exact weights which are used can be found in the gaussian_weights() function in raster/r.neighbors/readweights.c. They are effectively: ncb.weights[i][j] = exp(-(x*x+y*y)/(2*sigma2))/(2*M_PI*sigma2); where x, y is the offset (in cells) from the centre of the neighbourhood and sigma2 is the square of the value passed to the gauss= option. > What I won't to do: > Apply a Gaussian weighting of cell neighbors and sum the values of > the neighbors. If all cells=1, I would get only 1's back. You need to use method=average to make the effective weights sum to one (when weights are used, method=average divides the weighted sum of the cell values by the sum of the weights). IIRC, the weights are such that they would sum to one if you had an infinitely-large neighbourhood, but the fact that you're cropping the curve to a finite neighbourhood means that the sum will always be less than one. The weights are determined by sigma alone, and are unaffected by the neighbourhood size. > I have a map of zeros and ones. I tried this: > > r.neighbors -c input='input_map' output='output_map' method=sum gauss=10 > size=33 > > The result is a map with only zeros. It works for me; e.g. $ r.mapcalc --o 'foo = rand(0,2)' seed=1 $ r.neighbors --o -c in=foo out=bar method=average size=33 gauss=10 $ r.info -r bar min=0.442173333781042 max=0.568925311919939 $ r.neighbors --o -c in=foo out=bar method=sum size=33 gauss=10 $ r.info -r bar min=0.0985901293262625 max=0.449425795562072 $ r.mapcalc --o 'foo = 1' $ r.neighbors --o -c in=foo out=bar method=average size=33 gauss=10 $ r.info -r bar min=1 max=1 $ r.neighbors --o -c in=foo out=bar method=sum size=33 gauss=10 $ r.info -r bar min=0.221413499330273 max=0.812157275619236 -- Glynn Clements <gl...@gclements.plus.com> _______________________________________________ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user