SMIL  1.0.4
DfilterGabor.h
1 /* __HEAD__
2  * Copyright (c) 2011-2016, Matthieu FAESSEL and ARMINES
3  * Copyright (c) 2017-2023, Centre de Morphologie Mathematique
4  * All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are met:
8  *
9  * * Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  * * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the distribution.
14  * * Neither the name of Matthieu FAESSEL, or ARMINES nor the
15  * names of its contributors may be used to endorse or promote products
16  * derived from this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS AND CONTRIBUTORS BE
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
28  * THE POSSIBILITY OF SUCH DAMAGE.
29  *
30  * Description :
31  * 2D Gabor filter implementation by Vincent Morard
32  *
33  * History :
34  * - XX/XX/XXXX - by Vincent Morard
35  * Just created it
36  * - 21/02/2019 - by Jose-Marcio Martins da Cruz
37  * Formatting and removing some warnings and minor differences
38  *
39  * __HEAD__ - Stop here !
40  */
41 
42 #ifndef _DGABOR_FILTER_H_
43 #define _DGABOR_FILTER_H_
44 
45 #include "Core/include/DCore.h"
46 
47 namespace smil
48 {
74  template <class T>
75  RES_T gaborFilterConvolution(const Image<T> &imIn, double sigma,
76  double theta, double lambda, double psi,
77  double gamma, Image<T> &imOut);
78 
93  template <class T>
94  RES_T gaborFilterConvolutionNorm(const Image<T> &imIn, double sigma,
95  double theta, double lambda, double psi,
96  double gamma, double Min, double Max,
97  Image<T> &imOut, Image<T> &imGabor);
98 
112  template <class T>
113  RES_T gaborFilterConvolutionNormAuto(const Image<T> &imIn, double sigma,
114  double theta, double lambda,
115  double psi, double gamma, double *Min,
116  double *Max, Image<T> &imOut,
117  Image<T> &imGabor);
119 } // namespace smil
120 
121 #include "private/filterGabor/filterGabor.hpp"
122 
123 #endif // _DGABOR_FILTER_H_
RES_T gaborFilterConvolution(const Image< T > &imIn, double sigma, double theta, double lambda, double psi, double gamma, Image< T > &imOut)
gaborFilterConvolution Gabor Filter
Definition: filterGabor.hpp:188
RES_T gaborFilterConvolutionNorm(const Image< T > &imIn, double sigma, double theta, double lambda, double psi, double gamma, double Min, double Max, Image< T > &imOut, Image< T > &imGabor)
gaborFilterConvolutionNorm Gabor Filter (normalized between Min and Max)
Definition: filterGabor.hpp:218
RES_T gaborFilterConvolutionNormAuto(const Image< T > &imIn, double sigma, double theta, double lambda, double psi, double gamma, double *Min, double *Max, Image< T > &imOut, Image< T > &imGabor)
gaborFilterConvolutionNormAuto Gabor Filter (automatically normalized)
Definition: filterGabor.hpp:259