Image destriping
From GRASS-Wiki
Image destriping with Fast Fourier Transform (FFT)
In some image maps, artifacts (stripes) are visible. These can be reduced with FFT filtering (i.fft).
First we take a look at the original tile (screenshot upper right map):
# set computational region to GDEM map: g.region rast=imagemap -p d.mon x0 d.rast imagemap
Then we perform Fast Fourier Transform (FFT; screenshot upper left map):
i.fft in=imagemap real=imagemap_real imag=imagemap_imag d.mon x1 d.rast imagemap_imag d.rast imagemap_real
Create a MASK in order to remove noise (screenshot upper left map):
# digitize filter mask to reduce noise r.digit filter d.rast filter r.mask -i filter d.rast imagemap_real
Inverse FFT to get filtered GDEM back (screenshot lower left map):
i.ifft real=imagemap_real imag=imagemap_imag output=imagemap_filtered r.mask -r d.mon x2 d.rast imagemap_filtered r.colors imagemap_filtered color=elevation d.rast imagemap_filtered
Calculate the differences (screenshot lower right diagram):
# validate with differences map: r.mapcalc "diff = imagemap - imagemap_filtered" r.colors diff color=differences d.mon x3 d.rast.leg diff # done
Note: If the MASK is made larger (more to the center), more aggressive destriping occurs.