12 #include "../CEBLModel.hpp"
25 this->selected_feature =
"";
27 for(
unsigned int i=0; i<paths.size();i++)
29 string path = paths[i]+
"plugins/features/";
32 plugin_loader->loadDir(path.c_str());
40 if (plugin_loader->getNames().size() > 0)
42 this->selected_feature = this->getNameList().at(0);
71 std::vector<string> names = plugin_loader->getNames();
78 return plugin_loader->getPaths();
84 feature = this->selected_feature;
87 if(plugin_loader->getPlugin(feature) != NULL)
88 return plugin_loader->getPlugin(feature)->isTrained();
92 throw PluginException(
"Failed to get trained status from feature: " + feature);
100 return this->selected_feature;
106 feature = selected_feature;
110 return plugin_loader->getPlugin(feature)->getParamsList();
114 throw PluginException(
"Failed to get parameter list for feature: " + feature);
123 this->selected_feature = feature;
124 if(plugin_loader->getPlugin(feature) == NULL)
126 cerr <<
"ERROR: trying to select feature " << feature
127 <<
" which doesn't seem to exist.\n " << flush;
138 feature = this->selected_feature;
145 plugin_loader->getPlugin(feature)->train();
158 feature = this->selected_feature;
165 plugin_loader->getPlugin(feature)->reset();
177 feature = this->selected_feature;
185 plugin_loader->getPlugin(feature)->setParamsList(params);
189 throw PluginException(
"Failed to set parameter list for feature: " + feature);
202 for(
int cls = 0; cls < data.
numClasses(); cls++)
206 cout <<
"Featurizing class " << cls <<
", seq" << seq <<
"\n";
207 temp = data.
get(cls,seq);
208 temp = extract(temp);
209 processed_data.
set(cls,seq,temp);
212 return processed_data;
218 string feature = selected_feature;
227 ublas::matrix<double> d = data;
228 ret =
EEGData(plugin_loader->getPlugin(feature)->use(d));
237 plugin_loader->getPlugin(selected_feature)->halt();