25 #ifndef __StructureTensor_hh__
26 #define __StructureTensor_hh__
28 #include "FilterBase.hh"
29 #include "GradientSobel3x3.hh"
30 #include "GradientGauss.hh"
31 #include "GradientGaussAsymmetric.hh"
32 #include "FilterNTo3N.hh"
34 #define D_ST_WRITE_DEBUG_IM 0x00000001
35 #define D_ST_INIT 0x00000002
36 #define D_ST_FEATURES 0x00000004
45 template <
class InputStorageType,
class OutputStorageType>
51 ::_FilterBorderHandling;
153 {
if (_grad)
delete _grad; _grad = grad.
Clone(); }
191 void _AllocInternalMem(
const int width,
const int height);
193 virtual void GetBordersValid_(
int &border_x,
int &border_y)
const;
199 #endif //__StructureTensor_hh__
void SetGradientFilter(const FilterNTo2N< InputStorageType, OutputStorageType > &grad)
const Image< OutputStorageType > & GetGradientY() const
base class for simple n->2n filter implementations
virtual parent class for API definition of all (future) filters
virtual FilterNTo3N< InputStorageType, OutputStorageType > * Clone() const
basic class for structure tensor calculation
FilterNTo2N< InputStorageType, OutputStorageType > * _grad
pointer to gradient filter actually used:
int GetHalfWinSize() const
const Image< OutputStorageType > & GetGradientX() const
virtual FilterNTo2N< InputStorageType, OutputStorageType > * Clone() const =0
void SetHalfWinSize(const int hws)
Image< OutputStorageType > _gyy
Image< OutputStorageType > _gy
base class for simple n->3n filter implementations
Image< OutputStorageType > _tsgyy