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 
32 class FilterDilation;
33 class FilterMin;
34 class ImageDiff;
35 class ROI;
36 
37 class FilterGeodesicDilation : public MorphologicalFilter
38 {
39 public:
40  FilterGeodesicDilation(unsigned int se_size = 3);
41  virtual ~FilterGeodesicDilation();
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  FilterDilation *dilate;
55  FilterMin * min;
56 
57  ImageDiff *diff;
58 
59  unsigned int iterations;
60 };
61 
62 } // end namespace firevision
63 
64 #endif
firevision::FilterGeodesicDilation::MASK
static const unsigned int MASK
Mask.
Definition: geodesic_dilation.h:55
firevision::FilterGeodesicDilation::~FilterGeodesicDilation
virtual ~FilterGeodesicDilation()
Destructor.
Definition: geodesic_dilation.cpp:84
firevision::ImageDiff
Definition: imagediff.h:39
firevision::FilterDilation
Definition: dilation.h:35
firevision::FilterGeodesicDilation::num_iterations
virtual unsigned int num_iterations()
Get the number of iterations.
Definition: geodesic_dilation.cpp:142
firevision::FilterGeodesicDilation::FilterGeodesicDilation
FilterGeodesicDilation(unsigned int se_size=3)
Constructor.
Definition: geodesic_dilation.cpp:65
firevision::FilterGeodesicDilation::MARKER
static const unsigned int MARKER
Marker.
Definition: geodesic_dilation.h:54
firevision::FilterMin
Definition: min.h:37
firevision::FilterGeodesicDilation::apply
virtual void apply()
Definition: geodesic_dilation.cpp:93