00001 /* -*- mode: c++ -*- 00002 */ 00003 /* 00004 00005 GIFT, a flexible content based image retrieval system. 00006 Copyright (C) 1998, 1999, 2000, 2001, 2002, CUI University of Geneva 00007 00008 This program is free software; you can redistribute it and/or modify 00009 it under the terms of the GNU General Public License as published by 00010 the Free Software Foundation; either version 2 of the License, or 00011 (at your option) any later version. 00012 00013 This program 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 General Public License for more details. 00017 00018 You should have received a copy of the GNU General Public License 00019 along with this program; if not, write to the Free Software 00020 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 00022 */ 00023 /*************************************** 00024 * 00025 * CQUERYNORMALIZER 00026 * 00027 **************************************** 00028 * 00029 * modification history: 00030 * 00031 * HM 090399 created the documentation 00032 * 00033 **************************************** 00034 * 00035 * compiler defines used: 00036 * 00037 * 00038 ****************************************/ 00039 #ifndef _CQUERYNORMALIZER 00040 #define _CQUERYNORMALIZER 00041 #include "libGIFTQuInvertedFile/include/uses-declarations.h" 00042 #include "libGIFTAcInvertedFile/include/CDocumentFrequencyElement.h" 00043 #include "libGIFTQuInvertedFile/include/CWeightingFunction.h" 00044 #include "libGIFTAcInvertedFile/include/CAcInvertedFile.h" 00045 00053 class CQueryNormalizer{ 00054 00055 protected: 00056 00057 /*************************************** 00058 * 00059 * 00060 * 00061 ***************************************/ 00063 double mValue; 00064 /*************************************** 00065 * 00066 * 00067 * 00068 ***************************************/ 00070 const CAcInvertedFile* mAccessor; 00071 00072 public: 00073 /*************************************** 00074 * 00075 * 00076 * 00077 ***************************************/ 00079 CQueryNormalizer(const CAcInvertedFile* inAccessor=0); 00080 00081 /*************************************** 00082 * 00083 * 00084 * 00085 ***************************************/ 00087 void setAccessor(const CAcInvertedFile* inAccessor); 00088 00089 /*************************************** 00090 * 00091 * 00092 * 00093 ***************************************/ 00095 virtual void reset(); 00096 00097 /*************************************** 00098 * 00099 * 00100 * 00101 ***************************************/ 00103 virtual double getValue()const; 00104 00105 /*************************************** 00106 * 00107 * 00108 * 00109 ***************************************/ 00111 virtual void considerQueryFeature(const CWeightingFunction& 00112 inFeature); 00113 /*************************************** 00114 * 00115 * returning a copy of this 00116 * 00117 ***************************************/ 00118 virtual CQueryNormalizer* clone()const; 00119 }; 00120 #endif