Bayesian Filtering Library  Generated from SVN r
mixtureBootstrapFilter.h
1 // Copyright (C) 2009 Tinne De Laet <first dot last at gmail dot com>
2 // $Id: mixtureBoostrapFilter.h 2009-02-03 tdelaet $
3 //
4 /***************************************************************************
5  * This library is free software; you can redistribute it and/or *
6  * modify it under the terms of the GNU General Public *
7  * License as published by the Free Software Foundation; *
8  * version 2 of the License. *
9  * *
10  * As a special exception, you may use this file as part of a free *
11  * software library without restriction. Specifically, if other files *
12  * instantiate templates or use macros or inline functions from this *
13  * file, or you compile this file and link it with other files to *
14  * produce an executable, this file does not by itself cause the *
15  * resulting executable to be covered by the GNU General Public *
16  * License. This exception does not however invalidate any other *
17  * reasons why the executable file might be covered by the GNU General *
18  * Public License. *
19  * *
20  * This library is distributed in the hope that it will be useful, *
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
23  * Lesser General Public License for more details. *
24  * *
25  * You should have received a copy of the GNU General Public *
26  * License along with this library; if not, write to the Free Software *
27  * Foundation, Inc., 51 Franklin Street, Fifth Floor, *
28  * Boston, MA 02110-1301 USA *
29  * *
30  ***************************************************************************/
31 
32 #ifndef __MIXTURE_BOOTSTRAP_FILTER__
33 #define __MIXTURE_BOOTSTRAP_FILTER__
34 
35 #include "mixtureParticleFilter.h"
36 
37 namespace BFL
38 {
39 
41 
71 template <typename StateVar, typename MeasVar> class MixtureBootstrapFilter
72  : public MixtureParticleFilter<StateVar,MeasVar>
73 {
74  protected:
76  virtual bool UpdateInternal(SystemModel<StateVar>* const sysmodel,
77  const StateVar& u,
78  MeasurementModel<MeasVar,StateVar>* const measmodel,
79  const MeasVar& z,
80  const StateVar& s);
81 
82  public:
84 
92  MixtureBootstrapFilter(Mixture<StateVar> * prior,
93  int resampleperiod = 0,
94  double resamplethreshold = 0,
95  int resamplescheme = DEFAULT_RS,
96  int maintainMixturePeriod = 1 );
97 
99 
109  Mixture<StateVar> * post,
110  int resampleperiod = 0,
111  double resamplethreshold = 0,
112  int resamplescheme = DEFAULT_RS,
113  int maintainMixturePeriod = 1 );
114 
116  virtual ~MixtureBootstrapFilter();
117 
118  // Default Copy constructor will do
119 
120 };
121 
122 #include "mixtureBootstrapFilter.cpp"
123 
124 }
125 
126 #endif // __MIXTURE_BOOTSTRAP_FILTER__
BFL::MixtureBootstrapFilter::~MixtureBootstrapFilter
virtual ~MixtureBootstrapFilter()
Destructor.
BFL::MixtureBootstrapFilter::MixtureBootstrapFilter
MixtureBootstrapFilter(Mixture< StateVar > *prior, int resampleperiod=0, double resamplethreshold=0, int resamplescheme=DEFAULT_RS, int maintainMixturePeriod=1)
Constructor.
BFL::MixtureBootstrapFilter::UpdateInternal
virtual bool UpdateInternal(SystemModel< StateVar > *const sysmodel, const StateVar &u, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s)
Actual implementation of updateinternal.
BFL::Mixture
Class representing a mixture of PDFs, the mixture can contain different.
Definition: mixture.h:74