Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
GradientGaussAsymmetric.hh
1 /*
2 This file is part of the BIAS library (Basic ImageAlgorithmS).
3 
4 Copyright (C) 2003-2009 (see file CONTACT for details)
5  Multimediale Systeme der Informationsverarbeitung
6  Institut fuer Informatik
7  Christian-Albrechts-Universitaet Kiel
8 
9 
10 BIAS is free software; you can redistribute it and/or modify
11 it under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation; either version 2.1 of the License, or
13 (at your option) any later version.
14 
15 BIAS is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU Lesser General Public License for more details.
19 
20 You should have received a copy of the GNU Lesser General Public License
21 along with BIAS; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 */
24 
25 
26 #ifndef __GradientGaussAsymmetric_hh__
27 #define __GradientGaussAsymmetric_hh__
28 
29 #include "GradientGauss.hh"
30 
31 #include <Base/Math/Vector3.hh>
32 
33  // the debugfasgs are defined in Convolution.hh
34  // #define D_GRADGAUSS_KERNEL 0x00000001
35 
36 namespace BIAS {
37 
38  /** @class GradientGaussAsymmetric
39  @ingroup g_filter
40  @brief gradient calculation with separated gauss masks
41 
42  @author woelk 09/2004 */
43  template <class InputStorageType, class OutputStorageType>
44  class BIASFilter_EXPORT GradientGaussAsymmetric
45  : public GradientGauss<InputStorageType, OutputStorageType>
46  {
47  public:
50  virtual ~GradientGaussAsymmetric();
51 
52  /** returns a 2 channel image containing gx and gy
53  @author woelk 12/2004, untested */
54  virtual int Filter(const Image<InputStorageType>& src,
56 
57  virtual int Filter(const Image<InputStorageType>& src,
60 
61  virtual int Filter(const Image<InputStorageType>& src,
65 
68 
69  protected:
70  /** Fills _HVec with gaussian function and _VVec with derivative of
71  gaussian function with standard deviation Sigma. The size of _HVec
72  and _VVec is calculated by using Ration. The Gaussian function is
73  truncated, when the ration between biggest and smalles entry falls
74  below Ratio.
75  @author woelk 09/2004 */
76  void _CalculateKernels(double Sigma, double Ratio);
77 
78  }; // class
79 
80 
81 } // namsepace
82 
83 #endif // __GradientGaussAsymmetric_hh__
gradient calculation with separated gauss masks
base class for simple n-&gt;2n filter implementations
Definition: FilterNTo2N.hh:44
virtual FilterNTo2N< InputStorageType, OutputStorageType > * Clone() const
gradient calculation with separated gauss masks