00001 /***************************************************************************\ 00002 * Copyright (C) by University Paris-Est - MISS team 00003 * ConvolutionOperator.hpp created in 10 2008. 00004 * Mail : biri@univ-mlv.fr 00005 * 00006 * This file is part of the OpenKraken-image. 00007 * 00008 * The OpenKraken-image is free software; you can redistribute it and/or modify 00009 * it under the terms of the GNU Lesser General Public License as published by 00010 * the Free Software Foundation; either version 3 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * The OpenKraken-image is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public License 00019 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00020 * 00021 \***************************************************************************/ 00022 00023 /* 00024 * Anti-doublon 00025 */ 00026 #ifndef __OPENKN_IMAGE__CONVOLUTIONOPERATOR_HPP__ 00027 #define __OPENKN_IMAGE__CONVOLUTIONOPERATOR_HPP__ 00028 00029 00030 /* 00031 * External Includes 00032 */ 00033 00034 00035 /* 00036 * Internal Includes 00037 */ 00038 00039 /* 00040 * Namespace 00041 */ 00042 namespace kn{ 00043 /* 00044 * Class definition 00045 */ 00046 00050 class ConvolutionOperator{ 00051 00052 /* 00053 * Constructor & destructors 00054 */ 00055 public: 00056 00060 virtual ~ConvolutionOperator(){} 00061 00062 00066 virtual void initialize()=0; 00067 00071 virtual double getResult()=0; 00072 00077 virtual void operator()(double kernelValue, double imageValue)=0; 00078 00082 virtual ConvolutionOperator* clone() const = 0; 00083 00084 }; 00085 00086 00087 00088 00089 /* 00090 * End of Namespace 00091 */ 00092 } 00093 00094 /* 00095 * End of Anti-doublon 00096 */ 00097 #endif 00098
1.5.8