CEBL
2.1
Main Page
Namespaces
Data Structures
Files
File List
Globals
model
FeaturesConfig.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
26
#ifndef FEATURESCONFIG_H
27
#define FEATURESCONFIG_H
28
29
#include "
PluginLoader.hpp
"
30
#include "
Feature.hpp
"
31
#include "
Param.hpp
"
32
#include "
SessionManager.hpp
"
33
using namespace
CEBL;
34
35
//std includes
36
#include <vector>
37
using namespace
std;
38
39
//forward declarations
40
class
CEBLModel
;
41
42
class
FeaturesConfig
43
{
44
private
:
45
//make session manager a friend
46
friend
class
SessionManager
;
47
48
CEBLModel
*model;
49
50
//features plugins
51
PluginLoader<Feature>
* plugin_loader;
52
PluginLoader<Feature>
* getPluginLoader() {
return
plugin_loader; }
53
54
//selected feature
55
string
selected_feature;
56
57
public
:
58
FeaturesConfig
(
CEBLModel
*);
59
~
FeaturesConfig
();
60
61
//GETTING OPERATIONS
62
std::vector<string> getNameList();
63
std::vector<string> getPathList();
64
bool
isTrained(
string
feature =
""
);
65
string
getSelected();
66
std::map<std::string, CEBL::Param> getParams(
string
feature =
""
);
67
68
69
//SETTING OPERATIONS
70
void
setSelected(
string
feature =
""
);
71
void
train(
string
feature =
""
);
72
void
reset(
string
feature =
""
);
73
void
setParams(std::map<std::string, CEBL::Param> list,
string
feature =
""
);
74
75
//EXTRACT FEATURES
76
EEGTrainingData
extract(
EEGTrainingData
&data);
77
EEGData
extract(
EEGData
&data);
78
void
halt();
79
};
80
81
#endif
82
Generated by
1.8.1.1