PICCANTE  0.4
The hottest HDR imaging library!
filter_conv_2dsp.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_CONV_2DSP_HPP
19 #define PIC_FILTERING_FILTER_CONV_2DSP_HPP
20 
21 #include "../filtering/filter_npasses.hpp"
22 #include "../filtering/filter_conv_1d.hpp"
23 
24 namespace pic {
25 
30 {
31 protected:
33 
34 public:
35 
41  FilterConv2DSP(float *data, int n)
42  {
43  conv1DFltX = new FilterConv1D(data, n);
44 
47  }
48 
56  FilterConv2DSP(float *dataX, int nX, float *dataY, int nY) : FilterNPasses()
57  {
58  conv1DFltX = new FilterConv1D(dataX, nX);
60 
61  conv1DFltY = new FilterConv1D(dataY, nY);
63  }
64 
66  {
67  release();
68 
69  if(conv1DFltX != NULL) {
70  delete conv1DFltX;
71  }
72 
73  conv1DFltX = NULL;
74 
75  if(conv1DFltY != NULL) {
76  delete conv1DFltY;
77  }
78 
79  conv1DFltY = NULL;
80  }
81 
90  static Image *execute(Image *imgIn, Image *imgOut, float *data, int n)
91  {
92  FilterConv2DSP filter(data, n);
93  return filter.Process(Single(imgIn), imgOut);
94  }
95 };
96 
97 } // end namespace pic
98 
99 #endif /* PIC_FILTERING_FILTER_CONV_2DSP_HPP */
100 
FilterConv2DSP(float *data, int n)
FilterConv2DSP.
Definition: filter_conv_2dsp.hpp:41
void insertFilter(Filter *flt, bool asSingle=false)
insertFilter
Definition: filter_radial_basis_function.hpp:246
The FilterConv2DSP class.
Definition: filter_conv_2dsp.hpp:29
static Image * execute(Image *imgIn, Image *imgOut, float *data, int n)
execute
Definition: filter_conv_2dsp.hpp:90
FilterConv1D * conv1DFltX
Definition: filter_conv_2dsp.hpp:32
Image * Process(ImageVec imgIn, Image *imgOut)
Process.
Definition: filter_npasses.hpp:310
FilterConv2DSP(float *dataX, int nX, float *dataY, int nY)
FilterConv2DSP.
Definition: filter_conv_2dsp.hpp:56
The FilterConv1D class.
Definition: filter_conv_1d.hpp:32
The Image class stores an image as buffer of float.
Definition: image.hpp:60
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
~FilterConv2DSP()
Definition: filter_conv_2dsp.hpp:65
FilterConv1D * conv1DFltY
Definition: filter_conv_2dsp.hpp:32
The FilterNPasses class.
Definition: filter_npasses.hpp:30