Got motion artifacts in your data you're desperate to get rid of? I
used this tool to smooth out those high frequency wobbles. It takes a
merged file and runs a Low Pass Filter over the beams. Run it like this:
LPFbeams -window # mergedfile
Be sure to make a copy of the original merged file, as LPFbeams will
overwrite the input merged file. Decide on a good window size (in
pings). The window would be larger than the motion frequency but
smaller than true seabed topography. The filter will run from first
ping +half_window to the last ping -half_window, so the first and last
section will never be smoothed. The filter will calculate the weigthed
mean at each beam using the corresponding beams half a window ahead and
behind it. Weights are calculated with a cosine function, where 1.0 is
at the centre and 0.0 at each end of the window. There is also a
-cos_square option if you want to experiment with the weights, but I
found it worked better without.
If you only want to filter regionaly, you can also let it run over a
certain beam range and ping range. LPFbeams won't do a good job at
corners so contrain that portion to work on with -first or -last. For
example, to only filter portside of a EM3002 and exclude line turns
near the start and end of the line:
In the example below the filter does a pretty good job removing the
artifacts at the outer beams and on the flat areas. Note that the ridge
and scours are preserved. The line turns are mostly excluded cause the
filter smeers the data over the turn, which gives a blurly effect. I
have tried to surpress that by regionally smoothing the image. I would
draw a polygon and replace all data within that ploygon with a smoothed
version. It is extremly tedious and didn't imporve much for this
dataset but maybe usefull anoter time.