Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

Morpho.h

00001 // Morpho.h: interface for the CMorpho class.
00002 //
00004 
00005 #if !defined(AFX_MORPHO_H__89876E01_9C5E_11D4_B182_F40EF866FB4A__INCLUDED_)
00006 #define AFX_MORPHO_H__89876E01_9C5E_11D4_B182_F40EF866FB4A__INCLUDED_
00007 
00008 #ifndef SWIG // Remove whatever is not needed by SWIG
00009 
00010 #if _MSC_VER >= 1000
00011 #pragma once
00012 #endif // _MSC_VER >= 1000
00013 
00014 
00015 
00016 
00017 // to be able to use the std limits, we have to get rid of max and min macro
00018 // This is a bug of VC5++ compiler
00019 #undef min
00020 #undef max
00021 #include <limits>
00022 using namespace std;
00023 
00024 #include "Error.h"
00025 #include "ImageGrey.h"
00026 #include "FiFo.h"
00027 
00028 #endif // SWIG
00029 
00030 
00049 class CMorpho : public CError 
00050 {
00052         virtual CImageGrey * dilate(CImageGrey *in, CImageGrey *out) = 0;
00054         virtual CImageGrey * erode(CImageGrey *in, CImageGrey *out) = 0;
00055 
00056 public:
00057 
00058 #ifndef SWIG
00059         CMorpho();
00060         virtual ~CMorpho();
00061 #endif
00062 
00064         CImageGrey * dilate(CImageGrey *in, int size);
00066         CImageGrey * erode(CImageGrey *in, int size);
00068         CImageGrey * close(CImageGrey *in, int size);
00070         CImageGrey * open(CImageGrey *in, int size);
00071 
00073         virtual CImageGrey * chamfer(CImageGrey *in, short mode = 0) = 0;
00075         virtual CImageGrey *geodesicErosion(CImageGrey *mark, CImageGrey *ref, int border) = 0;
00077         virtual CImageGrey *geodesicDilation(CImageGrey *mark, CImageGrey *ref, int border) = 0;
00079         CImageGrey * regionalMaximum(CImageGrey *in);
00081         CImageGrey * regionalMinimum(CImageGrey *in);
00083         CImageGrey * localMaximum(CImageGrey *in);
00085         CImageGrey * localMinimum(CImageGrey *in);
00086 
00088 
00093         virtual CImageGrey * watershed(CImageGrey *in) = 0;
00094 
00096 
00101         virtual CImageGrey * skeleton_anchor (CImageGrey *in, CImageGrey *anchor) = 0;
00103 
00108         virtual CImageGrey * skeletonTalbotVincent (CImageGrey *in, CImageGrey *anchor) = 0;
00110         CImageGrey * skeletonMinimal(CImageGrey *in);
00112         CImageGrey * skeleton(CImageGrey *in);
00113 
00115         virtual CImageGrey * connectedComponents(CImageGrey *in) = 0;
00116 
00117 
00118 };
00119 
00120 #endif // !defined(AFX_MORPHO_H__89876E01_9C5E_11D4_B182_F40EF866FB4A__INCLUDED_)

Generated at Sun May 12 19:04:22 2002 for OpenMorpho by doxygen1.2.0 written by Dimitri van Heesch, © 1997-2000