<div dir="ltr"><div><div><div><div><div><div><br><br></div>If I am trying to use<br><br>r.mfilter input=band5 output=band5_highpassfilter filter=/Users/Uttam/high_pass_filter<br><br></div>where high_pass_filter is<br><br>TITLE 5x5 High Pass<br>MATRIX 5<br>-1 -1 -1 -1 -1<br>-1 -1 -1 -1 -1<br>-1 -1 24 -1 -1<br>-1 -1 -1 -1 -1<br>-1 -1 -1 -1 -1<br>DIVISOR 25<br>TYPE P<br><br><br><br></div>1.) How do I ensure that cell padding is taken care using r.grow.distance? Do I need to apply r.grow.distance on the output of r.mfilter or it should be applied before r.mfilter on the input image (band5 in this case)?<br><br></div>2.) Will use of r.resamp.filter will do both - cell padding and apply filter in a single execution? However, I felt r.resamp.filter does not allow specifying the type of filter such as high pass filter coefficients in the input.<br><br>r.resamp.filter input=band5 output=band5_resamp filter=box radius=1<br><br></div>How to specify the filter coefficients here?<br><br></div>3.) r.resamp.stats does not allow to specify the filter size (3 or 5)?<br><div><div><div><br>I feel that in any case the number of rows should increase by 2 (1 top and 1 bottom) and number of columns should increase by 2 (1 left and 1 right) during cell padding.<br><br></div><div>4.) Which one of the above GRASS commands would be best suited to perform window operation (high pass filtering) along with cell padding?<br></div><div><br>Any suggestions are appreciated and welcome.<br></div><div><br><div><br><br><div><br><br></div></div></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 30, 2015 at 6:11 PM, Glynn Clements <span dir="ltr"><<a href="mailto:glynn@gclements.plus.com" target="_blank">glynn@gclements.plus.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
Uttam Kumar wrote:<br>
<br>
> Do the filters available in GRASS GIS such as average, low pass, high pass<br>
> filters take care of cell padding automatically?<br>
<br>
</span>"filters"?<br>
<span class=""><br>
> By Cell paddding, I refer to duplicating the first row on top, duplicating<br>
> bottom row at the bottom, duplicating first column before the actual first<br>
> column and duplicating last column after the actual last column.<br>
<br>
</span>None of the modules do this, although you can achieve that result by<br>
by first using e.g. r.grow.distance with the value= option to replace<br>
null cells with the nearest non-null cell.<br>
<br>
r.resamp.filter simply enlarges the source region by the kernel<br>
radius. If this results in it reading nulls (because the enlarged<br>
region extends beyond the area for which the map contains data), then<br>
either<br>
<br>
a) the nulls will be propagated (if -n is used) or,<br>
<br>
b) the weighting will be adjusted, i.e. the result will be<br>
<br>
        sum(weight * value)/sum(weight)<br>
<br>
where both sums are evaluated over the non-null inputs.<br>
<br>
r.resamp.stats behaves similarly (i.e. it either propagates nulls or<br>
computes the aggregate over the non-null cells).<br>
<br>
r.neighbors always calculates the aggregate over the non-null cells.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Glynn Clements <<a href="mailto:glynn@gclements.plus.com">glynn@gclements.plus.com</a>><br>
</font></span></blockquote></div><br></div>