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

List of all members
EnhancedLeeFunctor< VALUETYPE > Class Template Reference

This function tries to reduce the speckle noise of an image by applying the Enhanced Lee filter. More...

`#include <vigra/specklefilters.hxx>`

## Detailed Description

template<typename VALUETYPE>
class vigra::EnhancedLeeFunctor< VALUETYPE >

This function tries to reduce the speckle noise of an image by applying the Enhanced Lee filter.

This function tries to reduce the speckle noise of an image by means of applying the enhanced Lee filter using a window of given size, a damping factor k, 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, a damping factor k, 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:

1. 0.0 < k <= 1.0
2. enl > 0

Declarations:

pass 2D array views:

namespace vigra {
template <class T1, class S1,
class T2, class S2>
void
enhancedLeeFilter(MultiArrayView<2, T1, S1> const & src,
MultiArrayView<2, T2, S2> dest,
Diff2D window_shape, float k, int enl,
BorderTreatmentMode border = BORDER_TREATMENT_REPEAT);
}
vigra::Diff2D
Two dimensional difference vector.
Definition diff2d.hxx:186
vigra::MultiArrayView
Base class for, and view to, MultiArray.
Definition multi_array.hxx:705
vigra

show deprecated declarations

pass Image Iterators and Data Accessors :
namespace vigra {
template <class SrcIterator, class SrcAccessor,
class DestIterator, class DestAccessor>
void enhancedLeeFilter(SrcIterator supperleft,
SrcIterator slowerright, SrcAccessor sa,
DestIterator dupperleft, DestAccessor da,
Diff2D window_shape, float k, 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
enhancedLeeFilter(triple<SrcIterator, SrcIterator, SrcAccessor> src,
pair<DestIterator, DestAccessor> dest,
Diff2D window_shape, float k, 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 an enhanced Lee filter with a window size of 5x5 and a damping factor of 0.5, where
// the image was composed by 3 equivalent looks:
enhancedLeeFilter(src, dest, Diff2D(5,5), 0.5, 3);
vigra::MultiArray
Main MultiArray class containing the memory management.
Definition multi_array.hxx:2483

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.12.4