[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

| GammaMAPFunctor< VALUETYPE > Class Template Reference |

This function tries to reduce the speckle noise of an image by applying the Gamma Maximum A Posteriori (MAP) filter. More...

`#include <vigra/specklefilters.hxx>`

## Detailed Description

### template<typename VALUETYPE>
class vigra::GammaMAPFunctor< VALUETYPE >

This function tries to reduce the speckle noise of an image by applying the Gamma Maximum A Posteriori (MAP) filter.

This function tries to reduce the speckle noise of an image by means of applying the Gamma Maximum A Posteriori (MAP) filter using a window of given size, and the equivalent numbers of look (enl). The implementation is according to the article by Lopez & Touzi & Nezry (1990): Adaptive speckle filters and scene heterogenity.The user has to provide a window size and the equivalent numbers of look (enl). The implementation is according to the article by Lopez & Touzi & Nezry (1990): Adaptive speckle filters and scene heterogenity.

All restrictions of the called functions applyWindowFunction apply.

Preconditions:

enl > 0

Declarations:

pass 2D array views:

namespace vigra {
template <class T1, class S1,
class T2, class S2>
void
gammaMAPFilter(MultiArrayView<2, T1, S1> const & src,
MultiArrayView<2, T2, S2> dest,
Diff2D window_shape, int enl,
BorderTreatmentMode border = BORDER_TREATMENT_REPEAT);
}

show deprecated declarations

pass Image Iterators and Data Accessors :
namespace vigra {
template <class SrcIterator, class SrcAccessor,
class DestIterator, class DestAccessor>
void gammaMAPFilter(SrcIterator supperleft,
SrcIterator slowerright, SrcAccessor sa,
DestIterator dupperleft, DestAccessor da,
Diff2D window_shape, int enl,
BorderTreatmentMode border = BORDER_TREATMENT_REPEAT);
}

use argument objects in conjunction with Argument Object Factories :

namespace vigra {
template <class SrcIterator, class SrcAccessor,
class DestIterator, class DestAccessor>
void
gammaMAPFilter(triple<SrcIterator, SrcIterator, SrcAccessor> src,
pair<DestIterator, DestAccessor> dest,
Diff2D window_shape, int enl,
BorderTreatmentMode border = BORDER_TREATMENT_REPEAT);
}

Usage:

#include <vigra/specklefilters.hxx>
Namespace: vigra

unsigned int w=1000, h=1000;
MultiArray<2, float> src(w,h), dest(w,h);
...
// apply a Gamma MAP filter with a window size of 5x5, where
// the image was composed by 3 equivalent looks:
gammaMAPFilter(src, dest, Diff2D(5,5), 3);

The documentation for this class was generated from the following file:

- vigra/specklefilters.hxx

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany | html generated using doxygen and Python vigra 1.11.0 (Fri May 19 2017)