22#ifndef FREQUENCYSPECTRUMMODEL_H
23#define FREQUENCYSPECTRUMMODEL_H
37#include <QAbstractTableModel>
38#include <QSharedPointer>
79 typedef QSharedPointer<FrequencySpectrumModel>
SPtr;
80 typedef QSharedPointer<const FrequencySpectrumModel>
ConstSPtr;
98 virtual int rowCount(
const QModelIndex& parent = QModelIndex())
const;
108 virtual int columnCount(
const QModelIndex& parent = QModelIndex())
const;
119 virtual QVariant
data(
const QModelIndex& index,
120 int role = Qt::DisplayRole)
const;
132 virtual QVariant
headerData(
int section, Qt::Orientation orientation,
133 int role = Qt::DisplayRole)
const;
141 void setInfo(QSharedPointer<FIFFLIB::FiffInfo>& info);
165 inline QSharedPointer<FIFFLIB::FiffInfo>
getInfo()
const;
197 inline const QMap<qint32, qint32>&
getIdxSelMap()
const;
205 void selectRows(
const QList<qint32>& selection);
236 void setBoundaries(
float fLowerFrqBound,
float fUpperFrqBound);
264 QSharedPointer<FIFFLIB::FiffInfo> m_pFiffInfo;
266 QMap<qint32, qint32> m_qMapIdxRowSelection;
268 Eigen::RowVectorXd m_vecFreqScale;
269 Eigen::RowVectorXd m_vecFreqScaleBound;
270 Eigen::MatrixXd m_dataCurrent;
271 Eigen::MatrixXd m_dataCurrentFreeze;
275 qint32 m_iLowerFrqIdx;
276 qint32 m_iUpperFrqIdx;
295 return m_vecFreqScale;
302 return m_vecFreqScaleBound;
309 return m_dataCurrent.cols();
316 return m_qMapIdxRowSelection;
330 return m_iLowerFrqIdx;
337 return m_iUpperFrqIdx;
341#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
342#ifndef metatype_rowvectorxd
343#define metatype_rowvectorxd
Q_DECLARE_METATYPE(Eigen::MatrixXf)
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
FIFF file I/O, in-memory data structures and high-level readers/writers.
2-D display widgets and visualisation helpers (charts, topography, colour maps).
QSharedPointer< FrequencySpectrumModel > SPtr
void newSelection(QList< qint32 > selection)
void setBoundaries(float fLowerFrqBound, float fUpperFrqBound)
FrequencySpectrumModel(QObject *parent=0)
QSharedPointer< const FrequencySpectrumModel > ConstSPtr
QSharedPointer< FIFFLIB::FiffInfo > getInfo() const
const QMap< qint32, qint32 > & getIdxSelMap() const
void addData(const Eigen::MatrixXd &data)
void toggleFreeze(const QModelIndex &index)
virtual QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
void setInfo(QSharedPointer< FIFFLIB::FiffInfo > &info)
qint32 getLowerFrqBound() const
qint32 getUpperFrqBound() const
qint32 getNumStems() const
virtual QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
Eigen::RowVectorXd getFreqScaleBound() const
Eigen::RowVectorXd getFreqScale() const
void setScaleType(qint8 ScaleType)
Full FIFF measurement info: per-channel descriptors, sampling and filter setup, projectors,...