Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
FilterNToNFactory.cpp
1 /*
2 This file is part of the BIAS library (Basic ImageAlgorithmS).
3 
4 Copyright (C) 2004 (see file CONTACT for details)
5  Multimediale Systeme der Informationsverarbeitung
6  Institut fuer Informatik
7  Christian-Albrechts-Universitaet Kiel
8 
9 BIAS is free software; you can redistribute it and/or modify
10 it under the terms of the GNU Lesser General Public License as published by
11 the Free Software Foundation; either version 2.1 of the License, or
12 (at your option) any later version.
13 
14 BIAS is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU Lesser General Public License for more details.
18 
19 You should have received a copy of the GNU Lesser General Public License
20 along with BIAS; if not, write to the Free Software
21 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 */
23 
24 #include <Filter/FilterNToNFactory.hh>
25 #include <Filter/Bilateral.hh>
26 #include <Filter/Binomial.hh>
27 #include <Filter/CensusTransform.hh>
28 #include <Filter/Convolution.hh>
29 #include <Filter/DeInterlace.hh>
30 #include <Filter/DistTransform.hh>
31 #include <Filter/Gauss.hh>
32 #include <Filter/GaussThreshold.hh>
33 #include <Filter/Mean.hh>
34 #include <Filter/Median.hh>
35 #include <Filter/Thinning.hh>
36 #include <Filter/TukeyWindow.hh>
37 
38 using namespace BIAS;
39 using namespace std;
40 
41 template <class InputStorageType, class OutputStorageType>
44 Generate(const std::string& className)
45 {
46  if (className == "Bilateral")
48  if (className == "Binomial")
50  if (className == "CensusTransform")
52  if (className == "Convolution")
54  if (className == "DeInterlace")
56  if (className == "DistTransform")
58  if (className == "Gauss")
60  if (className == "GaussThreshold")
62  if (className == "Mean")
64  if (className == "Median")
66  if (className == "Thinning")
68  if (className == "TukeyWindows")
70 
71  BIASERR("Invalid FilterNToN class: " << className);
72  return NULL;
73 }
74 
75 namespace BIAS{
76 #define FILTER_INSTANTIATION_CLASS FilterNToNFactory
77 #include "Filterinst.hh"
78 }
Multiplies an image with a full image size tukey window.
Definition: TukeyWindow.hh:38
generic convolution class.
Definition: Convolution.hh:66
Class for calculating the distance transform.
generic Thinning class, uses ethe Rosenfeld algorithm to thin structures in images without erasing th...
Definition: Thinning.hh:42
Deinterlacer filter for images.
Definition: DeInterlace.hh:57
smoothing with gaussian kernel
Definition: Gauss.hh:51
3x3 Census Transform of greyscale image
Implements a 2D median filter for images.
Definition: Median.hh:39
base class for simple n-&gt;n filter implementations
Definition: FilterNToN.hh:43
smoothing with gaussian kernel using a threshold
2D bilateral filter
Definition: Bilateral.hh:35
FilterNToN< InputStorageType, OutputStorageType > * Generate(const std::string &className)
average mean filter
Definition: Mean.hh:41
binomial low pass filter class
Definition: Binomial.hh:42