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 
32 class FilterErosion;
33 class FilterMax;
34 class ImageDiff;
35 class ROI;
36 
37 class FilterGeodesicErosion : public MorphologicalFilter
38 {
39 public:
40  FilterGeodesicErosion(unsigned int se_size = 3);
41  virtual ~FilterGeodesicErosion();
42 
43  virtual void apply();
44 
45  virtual unsigned int num_iterations();
46 
47  static const unsigned int MARKER;
48  static const unsigned int MASK;
49 
50 private:
51  unsigned char *isotropic_se;
52  unsigned int se_size;
53 
54  FilterErosion *erode;
55  FilterMax * max;
56 
57  ImageDiff *diff;
58 
59  unsigned int iterations;
60 };
61 
62 } // end namespace firevision
63 
64 #endif
firevision::FilterGeodesicErosion::apply
virtual void apply()
Definition: geodesic_erosion.cpp:87
firevision::FilterMax
Definition: max.h:35
firevision::ImageDiff
Definition: imagediff.h:37
firevision::FilterGeodesicErosion::MARKER
static const unsigned int MARKER
Marker.
Definition: geodesic_erosion.h:52
firevision::FilterGeodesicErosion::MASK
static const unsigned int MASK
Mask.
Definition: geodesic_erosion.h:53
firevision::FilterGeodesicErosion::~FilterGeodesicErosion
virtual ~FilterGeodesicErosion()
Destructor.
Definition: geodesic_erosion.cpp:78
firevision::FilterGeodesicErosion::FilterGeodesicErosion
FilterGeodesicErosion(unsigned int se_size=3)
Constructor.
Definition: geodesic_erosion.cpp:62
firevision::FilterErosion
Definition: erosion.h:33
firevision::FilterGeodesicErosion::num_iterations
virtual unsigned int num_iterations()
Get the number of iterations.
Definition: geodesic_erosion.cpp:136