[GRASS-user] Low pass filtering

Hi

I am looking for some direction in applying a low pass filter to a
raster greyscale of geophysics data. The filtering objective is fairly
typical, aimed at removing influence of background noise normally
visible as linear striping or similar in a raster image created via
v.in.ascii then v.surf.idw or v.surf.bspline. I’ve tried r.mfilter
applying both 3x3 and 7x7 low pass filters as detailed in the GRASS
literature, and ask here if there are other methods either via r.mapcalc
or R which may prove more effective. I am not familiar with r.mapcalc,
nor R. I wonder if anybody has applied lowpass filters using either of
these 2 before, and would be kind enough to provide me with a lead in to
get started. Perhaps there a manual page I've not yet got to. Still a
long way to go with GRASS, but it really is superb for the limited
vector and raster analysis I need.

Grass version I am using is 6.4.2 on Ubuntu.

Many thanks in advance,

JohnN

--
http://www.fastmail.fm - Access all of your messages and folders
                          wherever you are

On 01/25/2013 05:28 PM, John Nicholls wrote:

Hi

I am looking for some direction in applying a low pass filter to a
raster greyscale of geophysics data. The filtering objective is fairly
typical, aimed at removing influence of background noise normally

Striping is not really "noise". It's a systematic defect
in your data that cannot easily be removed with a simple
low-pass filter.

There is really no universal cure for this problem.
Unless your stripes are perfectly aligned with the
X or Y axis of your geographical region, simple
map algebra won't get you far, either.

The classic treatise on the subject is this one:

http://www.oimoen.com/PDFs/artifacts.pdf

Basically, the "trick" is using a low-pass and high-pass
filter whose shapes and sizes match those of your
stripes.

visible as linear striping or similar in a raster image created via
v.in.ascii then v.surf.idw or v.surf.bspline. I’ve tried r.mfilter
applying both 3x3 and 7x7 low pass filters as detailed in the GRASS
literature, and ask here if there are other methods either via r.mapcalc
or R which may prove more effective. I am not familiar with r.mapcalc,
nor R. I wonder if anybody has applied lowpass filters using either of
these 2 before, and would be kind enough to provide me with a lead in to
get started. Perhaps there a manual page I've not yet got to. Still a
long way to go with GRASS, but it really is superb for the limited
vector and raster analysis I need.

It's also superb for very advanced vector and raster
analyses :wink:

Cheers,

Ben

Grass version I am using is 6.4.2 on Ubuntu.

Many thanks in advance,

JohnN

--
Benjamin Ducke
{*} Geospatial Consultant
{*} GIS Developer

   benducke@fastmail.fm

John Nicholls wrote:

> Hi
> I am looking for some direction in applying a low pass filter to a
> raster greyscale of geophysics data. The filtering objective is fairly
> typical, aimed at removing influence of background noise normally

Benjamin Ducke wrote:

Striping is not really "noise". It's a systematic defect
in your data that cannot easily be removed with a simple
low-pass filter.

There is really no universal cure for this problem.
Unless your stripes are perfectly aligned with the
X or Y axis of your geographical region, simple
map algebra won't get you far, either.

The classic treatise on the subject is this one:
http://www.oimoen.com/PDFs/artifacts.pdf

Basically, the "trick" is using a low-pass and high-pass
filter whose shapes and sizes match those of your
stripes.

Depending on the data to be processed, may I add that it might be useful to
try PCA (i.pca, noise in general and, perhaps, striping effects, might appear
in some of the higher order components which can be rejected) and or FFT
(i.fft, apply low-high pass filters in the frequency domain?, then jump back to
the spatial domain).

Best, Nikos

[..rest deleted..]

Thanks Benjamin, the stripes should be perfectly aligned along the X or
Y axis of the region for each data set, generally the data is collected
east/west or north/south. Thanks for the light reading. Will see how I
get on.

Thanks also Nikos - will dive deeper and see what comes.

JohnN.

,On Fri, Jan 25, 2013, at 09:08 PM, Nikos Alexandris wrote:

John Nicholls wrote:

> > Hi
> > I am looking for some direction in applying a low pass filter to a
> > raster greyscale of geophysics data. The filtering objective is fairly
> > typical, aimed at removing influence of background noise normally

Benjamin Ducke wrote:

> Striping is not really "noise". It's a systematic defect
> in your data that cannot easily be removed with a simple
> low-pass filter.
>
> There is really no universal cure for this problem.
> Unless your stripes are perfectly aligned with the
> X or Y axis of your geographical region, simple
> map algebra won't get you far, either.
>
> The classic treatise on the subject is this one:
> http://www.oimoen.com/PDFs/artifacts.pdf
>
> Basically, the "trick" is using a low-pass and high-pass
> filter whose shapes and sizes match those of your
> stripes.

Depending on the data to be processed, may I add that it might be useful
to
try PCA (i.pca, noise in general and, perhaps, striping effects, might
appear
in some of the higher order components which can be rejected) and or FFT
(i.fft, apply low-high pass filters in the frequency domain?, then jump
back to
the spatial domain).

Best, Nikos

[..rest deleted..]
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user
Email had 1 attachment:
+ signature.asc
  1k (application/pgp-signature)

--
http://www.fastmail.fm - Send your email first class

On Sat, Jan 26, 2013 at 1:39 PM, John Nicholls <johnnicholls@fastmail.fm> wrote:

Thanks Benjamin, the stripes should be perfectly aligned along the X or
Y axis of the region for each data set, generally the data is collected
east/west or north/south. Thanks for the light reading. Will see how I
get on.

I made a small page on this once (feel free to improve with better data):

http://grasswiki.osgeo.org/wiki/Image_destriping

Markus