[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
Diffusivity functor for non-linear diffusion. More...
#include <vigra/nonlineardiffusion.hxx>
Public Types | |
| typedef Value | first_argument_type |
| typedef NumericTraits< Value >::RealPromote | result_type |
| typedef Value | second_argument_type |
| typedef Value | value_type |
Public Member Functions | |
| DiffusivityFunctor (Value const &thresh) | |
| result_type | operator() (first_argument_type const &gx, second_argument_type const &gy) const |
| result_type | operator() (RGBValue< Value > const &gx, RGBValue< Value > const &gy) const |
Diffusivity functor for non-linear diffusion.
This functor implements the diffusivity recommended by Weickert:
![\[ g(|\nabla u|) = 1 -
\exp{\left(\frac{-3.315}{(|\nabla u| / thresh)^4}\right)}
\]](form_105.png)
where thresh is a threshold that determines whether a specific gradient magnitude is interpreted as a significant edge (above the threshold) or as noise. It is meant to be used with nonlinearDiffusion().
| typedef Value first_argument_type |
the functors first argument type (must be an algebraic field with exp() defined). However, the functor also works with RGBValue<first_argument_type> (this hack is necessary since Microsoft C++ doesn't support partial specialization).
| typedef Value second_argument_type |
the functors second argument type (same as first). However, the functor also works with RGBValue<second_argument_type> (this hack is necessary since Microsoft C++ doesn't support partial specialization).
| typedef NumericTraits<Value>::RealPromote result_type |
the functors result type
| typedef Value value_type |
| DiffusivityFunctor | ( | Value const & | thresh | ) |
init functor with given edge threshold
| result_type operator() | ( | first_argument_type const & | gx, |
| second_argument_type const & | gy ) const |
calculate diffusivity from scalar arguments
| result_type operator() | ( | RGBValue< Value > const & | gx, |
| RGBValue< Value > const & | gy ) const |
calculate diffusivity from RGB arguments
|
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |