PICCANTE  0.4
The hottest HDR imaging library!
filter_gaussian_2d.hpp
Go to the documentation of this file.
1 /*
2 
3 PICCANTE
4 The hottest HDR imaging library!
5 http://vcg.isti.cnr.it/piccante
6 
7 Copyright (C) 2014
8 Visual Computing Laboratory - ISTI CNR
9 http://vcg.isti.cnr.it
10 First author: Francesco Banterle
11 
12 This Source Code Form is subject to the terms of the Mozilla Public
13 License, v. 2.0. If a copy of the MPL was not distributed with this
14 file, You can obtain one at http://mozilla.org/MPL/2.0/.
15 
16 */
17 
18 #ifndef PIC_FILTERING_FILTER_GAUSSIAN_2D_HPP
19 #define PIC_FILTERING_FILTER_GAUSSIAN_2D_HPP
20 
21 #include "../util/std_util.hpp"
22 
23 #include "../filtering/filter_npasses.hpp"
24 #include "../filtering/filter_gaussian_1d.hpp"
25 
26 namespace pic {
27 
32 {
33 protected:
35 
36 public:
37 
42  {
43  filter = new FilterGaussian1D(1.0f);
44 
47  }
48 
54  {
55  filter = new FilterGaussian1D(sigma);
56 
59  }
60 
62  {
63  release();
64 
66  }
67 
72  void update(float sigma)
73  {
74  filter->update(sigma, 0);
75  }
76 
84  static Image *execute(Image *imgIn, Image *imgOut, float sigma)
85  {
86  FilterGaussian2D filter(sigma);
87  return filter.Process(Single(imgIn), imgOut);
88  }
89 };
90 
91 } // end namespace pic
92 
93 #endif /* PIC_FILTERING_FILTER_GAUSSIAN_2D_HPP */
94 
T * delete_s(T *data)
delete_s
Definition: std_util.hpp:123
FilterGaussian2D(float sigma)
FilterGaussian2D.
Definition: filter_gaussian_2d.hpp:53
~FilterGaussian2D()
Definition: filter_gaussian_2d.hpp:61
void insertFilter(Filter *flt, bool asSingle=false)
insertFilter
Definition: filter_radial_basis_function.hpp:246
virtual Image * Process(ImageVec imgIn, Image *imgOut)
Process.
Definition: filter.hpp:390
void update(float sigma, int direction=0)
update
Definition: filter_gaussian_1d.hpp:63
FilterGaussian1D * filter
Definition: filter_gaussian_2d.hpp:34
The Image class stores an image as buffer of float.
Definition: image.hpp:60
void update(float sigma)
update
Definition: filter_gaussian_2d.hpp:72
virtual void f(FilterFData *data)
f
Definition: filter_radial_basis_function.hpp:69
void release()
release
Definition: filter_npasses.hpp:140
PIC_INLINE ImageVec Single(Image *img)
Single creates an std::vector which contains img; this is for filters input.
Definition: image_vec.hpp:36
Definition: bilateral_separation.hpp:25
FilterGaussian2D()
FilterGaussian2D.
Definition: filter_gaussian_2d.hpp:41
The FilterGaussian2D class.
Definition: filter_gaussian_2d.hpp:31
The FilterGaussian1D class.
Definition: filter_gaussian_1d.hpp:29
static Image * execute(Image *imgIn, Image *imgOut, float sigma)
execute
Definition: filter_gaussian_2d.hpp:84
The FilterNPasses class.
Definition: filter_npasses.hpp:30