Fawkes API  Fawkes Development Version
geodesic_erosion.h
1 
2 /***************************************************************************
3  * geodesic_erosion.h - header for morphological geodesic erosion
4  * reconstruction
5  *
6  * Created: Sat Jun 10 16:10:08 2006 (FIFA WM 2006, England vs. Paraguay)
7  * Copyright 2005-2007 Tim Niemueller [www.niemueller.de]
8  *
9  ****************************************************************************/
10 
11 /* This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version. A runtime exception applies to
15  * this software (see LICENSE.GPL_WRE file mentioned below for details).
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU Library General Public License for more details.
21  *
22  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
23  */
24 
25 #ifndef __FIREVISION_FILTERS_MORPHOLOGY_GEODESIC_EROSION_H_
26 #define __FIREVISION_FILTERS_MORPHOLOGY_GEODESIC_EROSION_H_
27 
28 #include <fvfilters/morphology/morphologicalfilter.h>
29 
30 namespace firevision {
31 #if 0 /* just to make Emacs auto-indent happy */
32 }
33 #endif
34 
35 class FilterErosion;
36 class FilterMax;
37 class ImageDiff;
38 class ROI;
39 
41 {
42  public:
43  FilterGeodesicErosion(unsigned int se_size = 3);
44  virtual ~FilterGeodesicErosion();
45 
46  virtual void apply();
47 
48  virtual unsigned int num_iterations();
49 
50  static const unsigned int MARKER;
51  static const unsigned int MASK;
52 
53  private:
54  unsigned char *isotropic_se;
55  unsigned int se_size;
56 
57  FilterErosion *erode;
58  FilterMax *max;
59 
60  ImageDiff *diff;
61 
62  unsigned int iterations;
63 };
64 
65 } // end namespace firevision
66 
67 #endif
Morphological geodesic erosion.
virtual unsigned int num_iterations()
Get the number of iterations.
virtual void apply()
Apply the filter.
Image difference checker.
Definition: imagediff.h:35
Morphological filter interface.
static const unsigned int MARKER
Marker.
Morphological erosion.
Definition: erosion.h:33
FilterGeodesicErosion(unsigned int se_size=3)
Constructor.
virtual ~FilterGeodesicErosion()
Destructor.
static const unsigned int MASK
Mask.
Maximum filter.
Definition: max.h:34