Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
clfGradientGauss.hh
1 /*
2  This file is part of the BIAS library (Basic ImageAlgorithmS).
3 
4  Copyright (C) 2003, 2004 (see file CONTACTS 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 #ifndef CLFGRADIENTGAUSS_HH_
26 #define CLFGRADIENTGAUSS_HH_
27 #include <Base/Common/BIASpragmaStart.hh>
28 #include <Base/Image/Image.hh>
29 #include <OpenCLFramework/clfOpenCL.hh>
30 #include <OpenCLFramework/clfContext.hh>
31 #include <OpenCLFramework/Filter/clfGauss.hh>
32 
33 namespace BIAS {
34 
35  template <class InputStorageType, class OutputStorageType>
36  class BIASOpenCLFramework_EXPORT clfGradientGauss : public clfGauss<InputStorageType, OutputStorageType> {
37  public:
39  virtual ~clfGradientGauss();
40 
41  int Filter(clfImage2D *src, clfImage2D *dst);
42 
43  protected:
44 
45  int SetFilterVert_(unsigned int size, const float *mask);
46  int SetFilterHoriz_(unsigned int size, const float *mask);
47  /// calculates the kernel
48  virtual void CalculateKernels_(double Sigma, double Ratio);
49 
50  private:
51 
52  clfBuffer *filterMaskVert_;
55 
58 
60  int vertSize_;
62 
66 
67  };
68 
69 } /* namespace BIAS */
70 #include <Base/Common/BIASpragmaEnd.hh>
71 #endif /* CLFGRADIENTGAUSS_HH_ */
OpenCL Image2D wrapper.
Definition: clfImage2D.hh:46
OpenCL Buffer wrapper.
Definition: clfBuffer.hh:43
OpenCL Context wrapper.
Definition: clfContext.hh:49