Page principale   Hiérarchie des classes   Liste des composants   Liste des fichiers   Composants   Déclarations  

PDE_library.h

Aller à la documentation de ce fichier.
00001 /*
00002   PDElib "PDE filters for black and white images"
00003   Copyright (C) 2001 Sylvain Paris
00004   
00005   This program is free software; you can redistribute it and/or
00006   modify it under the terms of the GNU General Public License
00007   as published by the Free Software Foundation; either version 2
00008   of the License, or (at your option) any later version.
00009   
00010   This program is distributed in the hope that it will be useful,
00011   but WITHOUT ANY WARRANTY; without even the implied warranty of
00012   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013   GNU General Public License for more details.
00014   
00015   You should have received a copy of the GNU General Public License
00016   along with this program; if not, write to the Free Software
00017   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00018 
00019   Author : Sylvain Paris
00020            sp.gpl@netcourrier.com
00021            8, rue des acacias
00022            77 360 Vaires
00023            FRANCE
00024 */
00025 
00026 #ifndef __PDE_LIBRARY__
00027 #define __PDE_LIBRARY__
00028 
00040 #include "image_data.h"
00041 #include "PDE_filter.h"
00042 
00043 
00044 /*
00045   #######################
00046   # class Heat_equation #
00047   #######################
00048 */
00049 
00050 
00052 
00056 class Heat_equation
00057   :public PDE_filter {
00058   
00059 protected:
00060   virtual void unit_evolution(const Image_data& source,
00061                               Image_data* result) const;
00062 };
00063 
00064 
00065 /*
00066   ######################
00067   # class Perona_Malik #
00068   ######################
00069 */
00070 
00071 
00073 
00080 template<class Grad_function>
00081 class Perona_Malik
00082   :public PDE_filter {
00083 private:
00085   Grad_function* fct;
00086   
00087 protected:
00088   virtual void unit_evolution(const Image_data& source,
00089                               Image_data* result) const;
00090 
00091 public:
00092   Perona_Malik(const Grad_function& grad_fct);
00093 };
00094 
00095 
00096 /*
00097   #################
00098   # class ALM_One #
00099   #################
00100 */
00101 
00102 
00104 
00112 template<class Grad_function>
00113 class ALM_One
00114   :public PDE_filter {
00115 private:
00117   Grad_function* fct;
00118   
00119 protected:
00120   virtual void unit_evolution(const Image_data& source,
00121                               Image_data* result) const;
00122 
00123 public:
00124   ALM_One(const Grad_function& grad_fct);
00125 };
00126 
00127 
00128 /*
00129   #################
00130   # class ALM_Two #
00131   #################
00132 */
00133 
00134 
00136 
00148 template<class G_function,class H_function>
00149 class ALM_Two
00150   :public PDE_filter {
00151 private:
00154   G_function* g_fct;
00155   
00158   H_function* h_fct;
00159   
00160 protected:
00161   virtual void unit_evolution(const Image_data& source,
00162                               Image_data* result) const;
00163 
00164 public:
00165   ALM_Two(const G_function& g_func,
00166           const H_function& h_func);
00167 };
00168 
00169 
00170 #include "PDE_library.cc"
00171 
00172 #endif
00173 
00174 
00175 
00176 
00177 
00178 
00179 
00180 
00181 

Généré le Mon Mar 19 22:47:37 2001 pour PDElib par doxygen1.2.5 écrit par Dimitri van Heesch, © 1997-2001