Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Mask1dGauss.H

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------+
00002  | Library QgarLib, graphics analysis and recognition                  |
00003  | Copyright (C) 2002  Qgar Project, LORIA                             |
00004  |                                                                     |
00005  | This library is free software; you can redistribute it and/or       |
00006  | modify it under the terms of the GNU Lesser General Public          |
00007  | License version 2.1, as published by the Free Software Foundation.  |
00008  |                                                                     |
00009  | This library is distributed in the hope that it will be useful,     |
00010  | but WITHOUT ANY WARRANTY; without even the implied warranty of      |
00011  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                |
00012  | See the GNU Lesser General Public License for more details.         |
00013  |                                                                     |
00014  | The GNU Lesser General Public License is included in the file       |
00015  | LICENSE.LGPL, in the root directory of the Qgar packaging. See      |
00016  | http://www.gnu.org/licenses/lgpl.html for the terms of the licence. |
00017  | To receive a paper copy, write to the Free Software Foundation,     |
00018  | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.       |
00019  |                                                                     |
00020  | Contact Project Qgar for any information:                           |
00021  |   LORIA - équipe Qgar                                               |
00022  |   B.P. 239, 54506 Vandoeuvre-lès-Nancy Cedex, France                |
00023  |   email: qgar-contact@loria.fr                                      |
00024  |   http://www.qgar.org/                                              |
00025  *---------------------------------------------------------------------*/
00026 
00027 
00028 #ifndef __MASK1DGAUSS_H_INCLUDED__
00029 #define __MASK1DGAUSS_H_INCLUDED__
00030 
00031 
00032 /**
00033  * @file   Mask1dGauss.H
00034  * @brief  Header file of class qgar::Mask1dGauss.
00035  *
00036  * @author <a href="mailto:qgar-develop@loria.fr?subject=Qgar fwd Karl Tombre">Karl Tombre</a>
00037  * @date   July 03, 2001  11:28
00038  * @since  Qgar 1.0
00039  */
00040 
00041 
00042 // For RCS/CVS use: Do not delete
00043 /* $Id: Mask1dGauss.H,v 1.9 2005/01/31 14:16:07 masini Exp $ */
00044 
00045 
00046 
00047 // QGAR
00048 #include <qgarlib/GenMask1d.H>
00049 
00050 
00051 
00052 namespace qgar
00053 {
00054 
00055 /**
00056  * @class Mask1dGauss Mask1dGauss.H "qgarlib/Mask1dGauss.H"
00057  * @ingroup DS_MASK
00058  * @brief 1D Gaussian convolution mask
00059  *
00060  * The code implementing this class is an adaptation of code written by
00061  * Carsten Steger at TU Muenchen, Germany. Here is the copyright notice
00062  * from his code:
00063 @verbatim
00064  +----------------------------------------------------------------------+
00065  | Copyright (C) 1996 Carsten Steger                                    |
00066  |                                                                      |
00067  | This program is free software; you can redistribute it and/or modify |
00068  | it under the terms of the GNU General Public License as published by |
00069  | the Free Software Foundation; either version 2, or (at your option)  |
00070  | any later version.                                                   |
00071  |                                                                      |
00072  | This program is distributed in the hope that it will be useful, but  |
00073  | WITHOUT ANY WARRANTY; without even the implied warranty of           |
00074  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    |
00075  | General Public License for more details.                             |
00076  |                                                                      |
00077  | You should have received a copy of the GNU General Public License    |
00078  | along with this program; if not, write to the Free Software          |
00079  | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.            |
00080  +----------------------------------------------------------------------+
00081 @endverbatim
00082  *
00083  * @author <a href="mailto:qgar-develop@loria.fr?subject=Qgar fwd Karl Tombre">Karl Tombre</a>
00084  * @date   July 03, 2001  11:28
00085  * @since  Qgar 1.0
00086  */
00087 class Mask1dGauss
00088 
00089   : public DMask1d
00090 
00091 {
00092 // -------------------------------------------------------------------
00093 // P U B L I C    M E M B E R S
00094 // -------------------------------------------------------------------
00095 public:
00096 
00097   /** @name CONSTRUCTOR */
00098   //        ===========
00099   //@{
00100   /**
00101    * @brief Copy constructor.
00102    *
00103    * See also qgar::Mask1dGauss::operator=,
00104    *          qgar::GenMask1d::deepCopy,
00105    *      and qgar::GenMask1d::shallowCopy.
00106    *
00107    * @warning Perform a deep copy: The coefficent map of the source mask
00108    * is duplicated.
00109    */
00110   Mask1dGauss(const Mask1dGauss& aMask);
00111 
00112   /**
00113    * @brief Initialize from given sigma (default <b>1.0</b>).
00114    * @param aSigma sigma of the Gaussian
00115    */
00116   Mask1dGauss(double aSigma = 1.0);
00117   //@}
00118 
00119   /** @name DESTRUCTOR */
00120   //        ==========
00121   //@{
00122   /**
00123    * @brief Virtual destructor.
00124    */
00125   virtual ~Mask1dGauss();
00126   //@}
00127 
00128   /** @name OPERATORS */
00129   //        =========
00130   //@{
00131   /**
00132    * @brief Assignment.
00133    * @param aMask mask to assign
00134    *
00135    * See also qgar::Mask1dGauss(Mask1dGauss&),
00136    *          qgar::GenMask1d::deepCopy,
00137    *      and qgar::GenMask1d::shallowCopy.
00138    *
00139    * @warning Perform a <b>deep copy</b>: The coefficient map 
00140    * of the source mask is duplicated. Before the copy is performed, 
00141    * the destination mask is not supposed to have the same size
00142    * as the destination mask.
00143    */
00144   Mask1dGauss& operator=(const Mask1dGauss& aMask);
00145   //@}
00146 
00147 // -------------------------------------------------------------------
00148 }; // class Mask1dGauss
00149 
00150 
00151 } // namespace qgar
00152 
00153 #endif /* __MASK1DGAUSS_H_INCLUDED__ */