histogramfilter.h
Go to the documentation of this file.
00001 // $Id: histogramfilter.h 14935 2007-12-17  $
00002 // Copyright (C) 2007 Tinne De Laet  <tinne dot delaet at mech dot kuleuven dot be>
00003 //
00004 // This program is free software; you can redistribute it and/or modify
00005 // it under the terms of the GNU Lesser General Public License as published by
00006 // the Free Software Foundation; either version 2.1 of the License, or
00007 // (at your option) any later version.
00008 //
00009 // This program 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.  See the
00012 // GNU Lesser General Public License for more details.
00013 //
00014 // You should have received a copy of the GNU Lesser General Public License
00015 // along with this program; if not, write to the Free Software
00016 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00017 //
00018 
00019 #ifndef __HISTOGRAM_FILTER__
00020 #define __HISTOGRAM_FILTER__
00021 
00022 #include "filter.h"
00023 #include "../pdf/discretepdf.h"
00024 #include "../model/measurementmodel.h"
00025 #include "../model/discretesystemmodel.h"
00026 
00027 namespace BFL
00028 {
00029 
00031 
00049 template <typename MeasVar> class HistogramFilter : public Filter<int,MeasVar>
00050 {
00051 public:
00053 
00056   HistogramFilter(DiscretePdf* prior);
00057 
00059   virtual ~HistogramFilter();
00060 
00061   // implement virtual function
00062   virtual DiscretePdf* PostGet();
00063 
00064 protected:
00066   vector<Probability > _old_prob;
00068   vector<Probability > _new_prob;
00069 
00074   void SysUpdate(SystemModel<int>* const sysmodel,
00075                          const int& u);
00076 
00078 
00086   void MeasUpdate(MeasurementModel<MeasVar,int>* const measmodel,
00087                           const MeasVar& z,
00088                           const int& s);
00089 
00090   bool UpdateInternal(SystemModel<int>* const sysmodel,
00091                               const int& u,
00092                               MeasurementModel<MeasVar,int>* const measmodel,
00093                               const MeasVar& z,
00094                               const int& s);
00095 }; // class
00096 
00097 
00098 #include "histogramfilter.cpp"
00099 
00100 } // End namespace BFL
00101 
00102 #endif // __HISTOGRAM_FILTER__


bfl
Author(s): Klaas Gadeyne, Wim Meeussen, Tinne Delaet and many others. See web page for a full contributor list. ROS package maintained by Wim Meeussen.
autogenerated on Sun Oct 5 2014 22:29:52