23#ifndef EVOKEDSETMODEL_H
24#define EVOKEDSETMODEL_H
39#include <QAbstractTableModel>
40#include <QSharedPointer>
48#include <Eigen/SparseCore>
83typedef Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>
MatrixXdR;
102 typedef QSharedPointer<EvokedSetModel>
SPtr;
139 virtual int rowCount(
const QModelIndex& parent = QModelIndex())
const;
149 virtual int columnCount(
const QModelIndex& parent = QModelIndex())
const;
161 QVariant
data(
int row,
163 int role = Qt::DisplayRole)
const;
174 virtual QVariant
data(
const QModelIndex& index,
175 int role = Qt::DisplayRole)
const;
188 Qt::Orientation orientation,
189 int role = Qt::DisplayRole)
const;
199 void setEvokedSet(QSharedPointer<FIFFLIB::FiffEvokedSet> pEvokedSet);
232 void setAverageColor(
const QSharedPointer<QMap<QString, QColor>> qMapAverageColor);
336 void selectRows(
const QList<qint32>& selection);
383 QSharedPointer<FIFFLIB::FiffEvokedSet> m_pEvokedSet;
385 QMap<qint32, qint32> m_qMapIdxRowSelection;
386 QSharedPointer<QMap<QString, QColor>> m_qMapAverageColor;
387 QSharedPointer<QMap<QString, bool>> m_qMapAverageActivation;
388 QSharedPointer<QMap<QString, QColor>> m_qMapAverageColorOld;
389 QSharedPointer<QMap<QString, bool>> m_qMapAverageActivationOld;
391 QList<Eigen::MatrixXd> m_matData;
392 QList<Eigen::MatrixXd> m_matDataFreeze;
393 QStringList m_lAvrTypes;
394 QStringList m_lAvrTypesFreeze;
396 Eigen::MatrixXd m_matProj;
397 Eigen::MatrixXd m_matComp;
398 Eigen::SparseMatrix<double> m_matSparseProjCompMult;
399 Eigen::SparseMatrix<double> m_matSparseProjMult;
400 Eigen::SparseMatrix<double> m_matSparseCompMult;
402 Eigen::RowVectorXi m_vecBadIdcs;
404 QPair<QVariant, QVariant> m_pairBaseline;
408 bool m_bProjActivated;
409 bool m_bCompActivated;
443#ifndef metatype_listrowvectorxd
444#define metatype_listrowvectorxd
448#ifndef metatype_listrowvectorpair
449#define metatype_listrowvectorpair
MatrixXi selectRows(const MatrixXi &events, const std::vector< bool > &keep)
Primitive scalar typedefs and forward-compatible aliases backing the FIFF type system.
Export macros and build-info hooks for the DISPLIB shared library.
#define DISPSHARED_EXPORT
Q_DECLARE_METATYPE(DISPLIB::AvrTypeRowVector)
Linear-phase FIR filter kernel with overlap-add FFT convolution back-end.
FIFF file I/O, in-memory data structures and high-level readers/writers.
2-D display widgets and visualisation helpers (charts, topography, colour maps).
QPair< QString, DISPLIB::RowVectorPair > AvrTypeRowVectorPair
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > MatrixXdR
QPair< QString, Eigen::RowVectorXd > AvrTypeRowVector
QPair< const double *, qint32 > RowVectorPair
FIFFLIB::fiff_int_t getUnit(qint32 row) const
QSharedPointer< QMap< QString, bool > > getAverageActivation() const
void setAverageActivation(const QSharedPointer< QMap< QString, bool > > qMapAverageActivation)
QSharedPointer< const EvokedSetModel > ConstSPtr
QVariant data(int row, int column, int role=Qt::DisplayRole) const
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
void newSelection(QList< qint32 > selection)
qint32 getNumSamples() const
int getNumAverages() const
void newAverageActivationMap(const QSharedPointer< QMap< QString, bool > > qMapAverageActivation)
float getSamplingFrequency() const
QSharedPointer< EvokedSetModel > SPtr
void newAverageColorMap(const QSharedPointer< QMap< QString, QColor > > qMapAverageColor)
void updateProjection(const QList< FIFFLIB::FiffProj > &projs)
void setAverageColor(const QSharedPointer< QMap< QString, QColor > > qMapAverageColor)
const QMap< qint32, qint32 > & getIdxSelMap() const
qint32 getNumPreStimSamples() const
virtual QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
QPair< QVariant, QVariant > getBaselineInfo() const
QSharedPointer< QMap< QString, QColor > > getAverageColor() const
FIFFLIB::fiff_int_t getCoil(qint32 row) const
void updateCompensator(int to)
int getNumberOfTimeSpacers() const
bool getIsChannelBad(qint32 row) const
void setEvokedSet(QSharedPointer< FIFFLIB::FiffEvokedSet > pEvokedSet)
QSharedPointer< FIFFLIB::FiffEvokedSet > getEvokedSet()
EvokedSetModel(QObject *parent=0)
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
FIFFLIB::fiff_int_t getKind(qint32 row) const
Set of FiffEvoked instances sharing one FiffInfo, plus channel-picking and compensation helpers.
Single SSP projection item: kind, active flag, desired flag and the named projection vector matrix.