CEBL  2.1
max_var.cpp
Go to the documentation of this file.
1 #Include "max_var.hpp"
2 using namespace cppR;
3 using namespace ublas;
4 using namespace std;
5 
6 namespace CEBL
7 {
11  std::map<std::string, CEBL::Param> max_var::getParamsList()
12  {
13  std::map<std::string, CEBL::Param> params;//no paramaters for the max_var classifier
14  CEBL::Param threshold_param("Threshold", "Variance Threshold.", thresh);
15  //thresh.setMax(500.0);
16  //thresh.setMin(0.0);
17  params["threshold_param"] = threshold_param;
18  return params;
19  }
20  void max_var::setParamsList( std::map<std::string, CEBL::Param> &p)
21  {
22  thresh = double((*(p.begin())).getDouble());
23  }
24 
25 
27  void max_var::train(const EEGTrainingData& data)
28  {
29 
30  }
32  std::vector<int> max_var::use(const ublas::matrix<double> & data) const
33  {
34  ublas::matrix<double> d = data;
35  std::vector<int> ret;
36  ret.resize(1);
37  double var = sd(t(d))[0];
38  cout << "Var = " << var << "\n";
39  ret[0] = var > thresh ? 0 : 1;
40  return ret;
41  }
42 
43 
45  void max_var::save(boost::archive::text_oarchive &ar, const unsigned int &version) const
46  {
47  }
48  void max_var::load(boost::archive::text_iarchive &ar, const unsigned int &version)
49  {
50  }
51 }
52 /*************************************************************/
53 //DYNAMIC LOADING
54 
56 {
57  printf("Shared Library Says: Creating a max_var object.\n");
58  return new CEBL::max_var;
59 }
60 
61 extern "C" void ObjectDestroy(CEBL::Classifier* p)
62 {
63  delete p;
64 }