107 typedef QSharedPointer<RtFiffRawViewModel>
SPtr;
108 typedef QSharedPointer<const RtFiffRawViewModel>
ConstSPtr;
133 virtual int rowCount(
const QModelIndex &parent = QModelIndex())
const ;
143 virtual int columnCount(
const QModelIndex &parent = QModelIndex())
const;
154 virtual QVariant
data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const;
166 virtual QVariant
headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const;
174 void setFiffInfo(QSharedPointer<FIFFLIB::FiffInfo>& p_pFiffInfo);
272 void selectRows(
const QList<qint32> &selection);
280 void hideRows(
const QList<qint32> &selection);
302 void setScaling(
const QMap< qint32,float >& p_qMapChScaling);
336 void updateSpharaOptions(
const QString& sSytemType,
int nBaseFctsFirst,
int nBaseFctsSecond);
344 void setFilter(QList<UTILSLIB::FilterKernel> filterData);
385 void markChBad(QModelIndex ch,
bool status);
394 void markChBad(QModelIndexList chlist,
bool status);
405 void triggerInfoChanged(
const QMap<double, QColor>& colorMap,
bool active, QString triggerCh,
double threshold);
443 inline const QMap< qint32,float >&
getScaling()
const;
561 std::function<std::vector<int>(
int,
int)> getFn);
570 static void doFilterPerChannelRTMSA(QPair<QList<UTILSLIB::FilterKernel>,QPair<int,Eigen::RowVectorXd> > &channelDataTime);
576 void filterDataBlock();
585 void filterDataBlock(
const Eigen::MatrixXd &
data,
int iDataIndex);
593 bool m_bProjActivated;
594 bool m_bCompActivated;
595 bool m_bSpharaActivated;
597 bool m_bDrawFilterFront;
598 bool m_bPerformFiltering;
599 bool m_bTriggerDetectionActive;
601 double m_dTriggerThreshold;
603 qint32 m_iDownsampling;
604 qint32 m_iMaxSamples;
605 qint32 m_iCurrentSample;
606 qint32 m_iCurrentStartingSample;
607 qint32 m_iCurrentSampleFreeze;
608 qint32 m_iMaxFilterLength;
609 qint32 m_iCurrentBlockSize;
611 int m_iCurrentTriggerChIndex;
612 int m_iDistanceTimerSpacer;
613 int m_iDetectedTriggers;
615 QString m_sCurrentTriggerCh;
616 QString m_sFilterChannelType;
618 QSharedPointer<FIFFLIB::FiffInfo> m_pFiffInfo;
620 Eigen::RowVectorXi m_vecBadIdcs;
621 Eigen::VectorXd m_vecLastBlockFirstValuesFiltered;
622 Eigen::VectorXd m_vecLastBlockFirstValuesRaw;
628 Eigen::MatrixXd m_matOverlap;
630 Eigen::VectorXi m_vecIndicesFirstVV;
631 Eigen::VectorXi m_vecIndicesSecondVV;
632 Eigen::VectorXi m_vecIndicesFirstBabyMEG;
633 Eigen::VectorXi m_vecIndicesSecondBabyMEG;
634 Eigen::VectorXi m_vecIndicesFirstEEG;
636 Eigen::SparseMatrix<double> m_matSparseSpharaMult;
637 Eigen::SparseMatrix<double> m_matSparseProjCompMult;
638 Eigen::SparseMatrix<double> m_matSparseProjMult;
639 Eigen::SparseMatrix<double> m_matSparseCompMult;
641 Eigen::MatrixXd m_matProj;
642 Eigen::MatrixXd m_matComp;
644 Eigen::MatrixXd m_matSpharaVVGradLoaded;
645 Eigen::MatrixXd m_matSpharaVVMagLoaded;
646 Eigen::MatrixXd m_matSpharaBabyMEGInnerLoaded;
647 Eigen::MatrixXd m_matSpharaBabyMEGOuterLoaded;
648 Eigen::MatrixXd m_matSpharaEEGLoaded;
650 QMap<double, QColor> m_qMapTriggerColor;
651 QMap<int,QList<QPair<int,double> > >m_qMapDetectedTrigger;
652 QList<int> m_lTriggerChannelIndices;
653 QMap<int,QList<QPair<int,double> > >m_qMapDetectedTriggerFreeze;
654 QMap<int,QList<QPair<int,double> > >m_qMapDetectedTriggerOld;
655 QMap<int,QList<QPair<int,double> > >m_qMapDetectedTriggerOldFreeze;
656 QMap<qint32,float> m_qMapChScaling;
657 QList<UTILSLIB::FilterKernel>m_filterKernel;
658 QStringList m_filterChannelList;
659 QStringList m_visibleChannelList;
660 QMap<qint32,qint32> m_qMapIdxRowSelection;
662 QColor m_colBackground;
664 std::function<void(
int)> m_fnAddEvent;
665 std::function<std::vector<int>(
int,
int)> m_fnGetEventSamples;
688 void triggerDetected(
int numberDetectedTriggers,
const QMap<
int,QList<QPair<int,double> > >& mapDetectedTriggers);