vigra - NormalizedCorrelationFunctor< MaskIterator, MaskAccessor > Class Template Reference

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

| NormalizedCorrelationFunctor< MaskIterator, MaskAccessor > Class Template Reference |

This function performes a (slow) normalized cross-correlation. More...

`#include <vigra/correlation.hxx>`

## Detailed Description

### template<class MaskIterator, class MaskAccessor>
class vigra::NormalizedCorrelationFunctor< MaskIterator, MaskAccessor >

This function performes a (slow) normalized cross-correlation.

This function performes a (slow) normalized cross-correlation using the window function environment and comparison of the mask with the underlying image part for each pixel. This may however be faster for very few comparisons.This function performes a (slow) normalized cross-correlation using the window function environment and comparison of the mask with the underlying image part for each pixel. This may however be faster for very few comparisons.

The input pixel type `T1` must be a linear space over the window functions' value_type `T`, i.e. addition of source values, multiplication with functions' values, and NumericTraits must be defined. The mask's value_type must be an algebraic field, i.e. the arithmetic operations (+, -, *, /) and NumericTraits must be defined.

Declarations:

pass 2D array views:

namespace vigra {
template <class T1, class S1,
class T2, class S2,
class T3, class S3>
void
normalizedCrossCorrelation(MultiArrayView<2, T1, S1> const & in,
MultiArrayView<2, T2, S2> const & mask,
MultiArrayView<2, T3, S3> out);
}

show deprecated declarations

pass Image Iterators and Data Accessors :
namespace vigra {
template <class SrcIterator, class SrcAccessor,
class MaskIterator, class MaskAccessor,
class DestIterator, class DestAccessor>
void normalizedCrossCorrelation(SrcIterator s_ul, SrcIterator s_lr, SrcAccessor s_acc,
MaskIterator m_ul, MaskIterator m_lr, MaskAccessor m_acc,
DestIterator d_ul, DestAccessor d_acc);
}

use argument objects in conjunction with Argument Object Factories :

namespace vigra {
template <class SrcIterator, class SrcAccessor,
class MaskIterator, class MaskAccessor,
class DestIterator, class DestAccessor>
void
normalizedCrossCorrelation(triple<SrcIterator, SrcIterator, SrcAccessor> src,
triple<MaskIterator, MaskIterator, MaskAccessor> mask,
pair<DestIterator, DestAccessor> dest);
}

Usage:

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

unsigned int m_w=51, m_h=51;
unsigned int w=1000, h=1000;
MultiArray<2, float> mask(m_w,m_h), src(w,h), dest(w,h);
...
//compute (slow) normalized cross correlation of mask and image -> dest
normalizedCrossCorrelation(mask, src, dest);

Preconditions:

The image must be larger than the size of the mask.

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

- vigra/correlation.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.10.0 (Tue Jan 19 2016)