65 #include <QtConcurrent/QtConcurrent>
83 typedef QList< QList<double> > MyQList;
106 Q_PLUGIN_METADATA(IID
"mne_x/1.0" FILE
"bci.json")
130 virtual QSharedPointer<IPlugin> clone()
const;
142 virtual void unload();
148 virtual bool start();
157 virtual QString getName()
const;
159 virtual QWidget* setupWidget();
183 void applyMeanCorrectionConcurrently(QPair<int,RowVectorXd>& rowdata);
191 void applyFilterOperatorConcurrently(QPair<int,RowVectorXd> &chdata);
200 QPair< int,QList<double> > applyFeatureCalcConcurrentlyOnSensorLevel(
const QPair<int,RowVectorXd> &chdata);
209 double applyClassificationCalcConcurrentlyOnSensorLevel(QList<double> &featData);
218 double classificationBoundaryValue(
const QList<double> &featData);
225 void clearFeatures();
232 void clearClassifications();
239 bool hasThresholdArtefact(
const QList<QPair<int, RowVectorXd> > &data);
246 bool lookForTrigger(
const MatrixXd &data);
261 void BCIOnSensorLevel();
268 void BCIOnSourceLevel();
271 void paintFeatures(MyQList features,
bool bTrigerActivated);
286 QSharedPointer<FilterData> m_filterOperator;
288 QSharedPointer<BCIFeatureWindow> m_BCIFeatureWindow;
290 ofstream m_outStreamDebug;
293 QString m_qStringResourcePath;
295 bool m_bTriggerActivated;
300 bool m_bFiffInfoInitialised_Sensor;
301 bool m_bFillSensorWindowFirstTime;
302 MatrixXd m_matSlidingWindowSensor;
303 MatrixXd m_matTimeBetweenWindowsSensor;
304 int m_iTBWIndexSensor;
305 int m_iNumberOfCalculatedFeatures;
306 QVector< VectorXd > m_vLoadedSensorBoundary;
307 QStringList m_slChosenFeatureSensor;
308 QMap<QString, int> m_mapElectrodePinningScheme;
309 QList< QPair< int,QList<double> > > m_lFeaturesSensor;
310 QList<double> m_lClassResultsSensor;
311 MatrixXd m_matStimChannelSensor;
312 MatrixXd m_matTimeBetweenWindowsStimSensor;
315 QVector< VectorXd > m_vLoadedSourceBoundary;
316 QStringList m_slChosenFeatureSource;
317 QMap<QString, int> m_mapDestrieuxAtlasRegions;
320 bool m_bSubtractMean;
322 bool m_bUseSensorData;
323 bool m_bUseSourceData;
324 bool m_bDisplayFeatures;
325 bool m_bUseArtefactThresholdReduction;
326 double m_dSlidingWindowSize;
327 double m_dTimeBetweenWindows;
328 double m_dFilterLowerBound;
329 double m_dFilterUpperBound;
330 double m_dParcksWidth;
331 double m_dThresholdValue;
332 double m_dDisplayRangeBoundary;
333 double m_dDisplayRangeVariances;
334 double m_dDisplayRangeElectrodes;
336 int m_iNumberFeatures;
337 int m_iNumberFeaturesToDisplay;
338 int m_iFeatureCalculationType;
Contains the declaration of the RealTimeSourceEstimate class.
Contains declaration of IAlgorithm interface class.
CircularMatrixBuffer class declaration.
The BCIFeatureWindow class provides a visualization tool for calculated features. ...
QSharedPointer< PluginOutputData< T > > SPtr
The circular matrix buffer.
QSharedPointer< FiffInfo > SPtr
The FilterData class represents a derived class from an arbitrary MNEOperator class object...
The IAlgorithm class provides an interface for a real-time algorithm plugin.
Contains the declaration of the NewRealTimeSampleArray class.
QSharedPointer< NewMeasurement > SPtr
Contains the declaration of the NewRealTimeMultiSampleArray class.
Contains the BCI library export/import macros.
The BCI class provides an EEG BCI.
Contains the declaration of the BCIAboutWidget class.