Fawkes API  Fawkes Development Version
geodesic_dilation.h
1 
2 /***************************************************************************
3  * geodesic_dilation.h - header for morphological geodesic dilation
4  * reconstruction
5  *
6  * Created: Wed Jun 21 16:25:22 2006
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_DILATION_H_
26 #define __FIREVISION_FILTERS_MORPHOLOGY_GEODESIC_DILATION_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 FilterDilation;
36 class FilterMin;
37 class ImageDiff;
38 class ROI;
39 
41 {
42  public:
43  FilterGeodesicDilation(unsigned int se_size = 3);
44  virtual ~FilterGeodesicDilation();
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  FilterDilation *dilate;
58  FilterMin *min;
59 
60  ImageDiff *diff;
61 
62  unsigned int iterations;
63 
64 };
65 
66 } // end namespace firevision
67 
68 #endif
virtual ~FilterGeodesicDilation()
Destructor.
virtual void apply()
Apply the filter.
Morphological dilation.
Definition: dilation.h:33
Image difference checker.
Definition: imagediff.h:35
FilterGeodesicDilation(unsigned int se_size=3)
Constructor.
Morphological filter interface.
static const unsigned int MASK
Mask.
virtual unsigned int num_iterations()
Get the number of iterations.
Morphological geodesic dilation.
static const unsigned int MARKER
Marker.
Minimum filter.
Definition: min.h:34