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

| DiffusivityFunctor< Value > Class Template Reference Non-linear Diffusion and Total Variation |

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

## Detailed Description

### template<class Value>
class vigra::DiffusivityFunctor< Value >

Diffusivity functor for non-linear diffusion.

This functor implements the diffusivity recommended by Weickert:

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().

Examples:
  smooth.cxx.

## Member Typedef Documentation

## ◆ first_argument_type

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

## ◆ second_argument_type

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

## ◆ result_type

typedef NumericTraits<Value>::RealPromote result_type

the functors result type

## ◆ value_type

typedef Value value_type

Deprecated:
  use first_argument_type, second_argument_type, result_type

## Constructor & Destructor Documentation

## ◆ DiffusivityFunctor()

DiffusivityFunctor | ( | Value const & | thresh | ) |

init functor with given edge threshold

## Member Function Documentation

## ◆ operator()() [1/2]

result_type operator() | ( | first_argument_type const & | gx,
|  | second_argument_type const & | gy
| ) |  | const

calculate diffusivity from scalar arguments

## ◆ operator()() [2/2]

result_type operator() | ( | RGBValue< Value > const & | gx,
|  | RGBValue< Value > const & | gy
| ) |  | const

calculate diffusivity from RGB arguments

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

- vigra/nonlineardiffusion.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