[GRASS-user] implementing frost filter in grass
    maning sambale 
    emmanuel.sambale at gmail.com
       
    Tue Aug 14 04:33:15 PDT 2012
    
    
  
Hi,
I'm trying to implement the FROST [0] SAR despeckling filter in a
GRASS script.  The code according to the referenced link is below:
#########
The implementation of this filter consists of defining a circularly
symmetric filter with a set of weighting values M for each pixel:
M = exp(- A * T)
where:
               A = DAMP * (V / I**2)
       T           is the absolute value of the pixel distance
                   from the centre pixel to its neighbours in
                   the filter window
       DAMP        is the exponential damping factor
       V           is the variance of the grey-level in
                   the filter window
       I**2        is the square of the mean grey level in the
                   filter window
The resulting grey-level value R for the smoothed pixel is:
        R = (P1*M1 + P2*M2 + ... +  Pn*Mn) / (M1 + M2 + ... + Mn)
where:
        P1 .. Pn   are grey levels of each pixel in filter window
        M1 .. Mn   are weights (as defined above) for each pixel
#########
Computing for A is straightforward using r.mapcalc.  I'm having
difficulty in deriving T which was defined as "the absolute value of
the pixel distance
from the centre pixel to its neighbours in the filter window"
I investigated r.cost and r.distance but it is not suited for a moving
window operation (perhaps I'm wrong).  It maybe possible  r.mapcalc's
row-column offset
but it will loose the ability to interactively define a window size.
Any tips on how to get the T and final R values?  Advance thanks!
[0] http://web.archive.org/web/20071216081728/http://www.pcigeomatics.com/cgi-bin/pcihlp/FFROST
-- 
cheers,
maning
------------------------------------------------------
"Freedom is still the most radical idea of all" -N.Branden
wiki: http://esambale.wikispaces.com/
blog: http://epsg4253.wordpress.com/
------------------------------------------------------
    
    
More information about the grass-user
mailing list