CEBL  2.1
WindowedSVD.hpp
Go to the documentation of this file.
1 /*
2 * CEBL : CSU EEG Brain-Computer Interface Lab
3 *
4 * Author: Jeshua Bratman - jeshuabratman@gmail.com
5 *
6 * This file is part of CEBL.
7 *
8 * CEBL is free software; you can redistribute it and/or modify it.
9 * We only ask that if you use our code that you cite the source in
10 * your project or publication.
11 *
12 * EEG Group (www.cs.colostate.edu/eeg)
13 * Department of Computer Science
14 * Colorado State University
15 *
16 */
17 
18 #ifndef WINDOWSVD_H
19 #define WINDOWSVD_H
20 //relative to cebl source dir
21 #include "../model/Feature.hpp"
22 
23 
24 namespace CEBL
25 {
26  class WindowedSVD : public Feature
27  {
28  private:
29  int n_lags;
30  int window_size;
31  int window_overlap;
32  ublas::matrix<double> raw_buffer;
33 
34 
35  public:
36  WindowedSVD();
37 
39  std::map<std::string, CEBL::Param> getParamsList();
40  void setParamsList( std::map<std::string, CEBL::Param> &);
41 
43  ublas::matrix<double> use(const ublas::matrix<double> &);
44 
46  void reset();
47 
48  //saving and loading
49  map<string, SerializedObject> save() const;
50  void load(map<string, SerializedObject> objects);
51 
52  };
53 }
54 
55 #endif