/* -*- mode: c++ -*-
*/
/*
GIFT, a flexible content based image retrieval system.
Copyright (C) 1998, 1999, 2000 CUI, University of Geneva
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef _CENHANCEDPICHUNTER
#include <iterator>
#include <fstream.h>
#include "CPersistentVector.h"
#include "CPersistentMatrix.h"
#include "CPersistentTranslatedIndexMatrix.h"
#include "CDistanceCalculator.h"
#include <math.h>
#include <string>
#include "CProbabilisticSet.h"
#include "CPSetOfPSets.h"
#include "helpers.h"
class CEnhancedPicHunter{
protected:
///
CDistanceCalculator* mDistanceCalculator;
///
typedef CProbabilisticSet<int> CLearningStructureElement;
///
typedef CProbabilisticSet<int>::CContentElement CLearningStructureElementContent;
///
typedef CPSetOfPSets<int> CLearningStructure;
///
CLearningStructure mLearningStructure;
///The configuration of our learning structure
//@{
///
CSelfDestroyPointer<CLearningStructureElement::LCCutoffFunction> mInformationCutoff;
///
CSelfDestroyPointer<CLearningStructureElement::LCCutoffFunction> mSetCutoff;
///
CSelfDestroyPointer<CProbabilityCombiner> mUniteStrategy;
///
CSelfDestroyPointer<CProbabilityCombiner> mIntersectStrategy;
///
CSelfDestroyPointer<CInformationCalculator> mInformationCalculator;
///
CSelfDestroyPointer<CDrawer> mDrawStrategy;
//@}
public:
///
void setDistanceCalculator(CDistanceCalculator* inDC);
/** FIXME: how do we learn which sets to use?
Probabily from our persistent translated index matrix */
CEnhancedPicHunter(int inMaximumSize=10);
///
double submitAssumption(CDistanceCalculator::CIDList& inIDs);
///
double chooseBestSelection(CDistanceCalculator::CIDList& outBestSelection,
int inNumberOfImages,
int inNumberOfTries);
///
void setNumberOfImages(const int& inNumberOfImages);
///
int getNumberOfImages()const;
};
#endif
Documentation generated by muellerw@pc7170 on Son Okt 8 16:04:40 CEST 2000