106 typedef QSharedPointer<RtFiffRawViewModel>
SPtr;
107 typedef QSharedPointer<const RtFiffRawViewModel>
ConstSPtr;
132 virtual int rowCount(
const QModelIndex &parent = QModelIndex())
const ;
142 virtual int columnCount(
const QModelIndex &parent = QModelIndex())
const;
153 virtual QVariant
data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const;
165 virtual QVariant
headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const;
173 void setFiffInfo(QSharedPointer<FIFFLIB::FiffInfo>& p_pFiffInfo);
271 void selectRows(
const QList<qint32> &selection);
279 void hideRows(
const QList<qint32> &selection);
301 void setScaling(
const QMap< qint32,float >& p_qMapChScaling);
335 void updateSpharaOptions(
const QString& sSytemType,
int nBaseFctsFirst,
int nBaseFctsSecond);
343 void setFilter(QList<RTPROCESSINGLIB::FilterKernel> filterData);
384 void markChBad(QModelIndex ch,
bool status);
393 void markChBad(QModelIndexList chlist,
bool status);
404 void triggerInfoChanged(
const QMap<double, QColor>& colorMap,
bool active, QString triggerCh,
double threshold);
442 inline const QMap< qint32,float >&
getScaling()
const;
550 std::unique_ptr<std::vector<EVENTSLIB::Event> >
getEventsToDisplay(
int iBegin,
int iEnd)
const;
559 static void doFilterPerChannelRTMSA(QPair<QList<RTPROCESSINGLIB::FilterKernel>,QPair<int,Eigen::RowVectorXd> > &channelDataTime);
565 void filterDataBlock();
574 void filterDataBlock(
const Eigen::MatrixXd &
data,
int iDataIndex);
582 bool m_bProjActivated;
583 bool m_bCompActivated;
584 bool m_bSpharaActivated;
586 bool m_bDrawFilterFront;
587 bool m_bPerformFiltering;
588 bool m_bTriggerDetectionActive;
590 double m_dTriggerThreshold;
592 qint32 m_iDownsampling;
593 qint32 m_iMaxSamples;
594 qint32 m_iCurrentSample;
595 qint32 m_iCurrentStartingSample;
596 qint32 m_iCurrentSampleFreeze;
597 qint32 m_iMaxFilterLength;
598 qint32 m_iCurrentBlockSize;
600 int m_iCurrentTriggerChIndex;
601 int m_iDistanceTimerSpacer;
602 int m_iDetectedTriggers;
604 QString m_sCurrentTriggerCh;
605 QString m_sFilterChannelType;
607 QSharedPointer<FIFFLIB::FiffInfo> m_pFiffInfo;
609 Eigen::RowVectorXi m_vecBadIdcs;
610 Eigen::VectorXd m_vecLastBlockFirstValuesFiltered;
611 Eigen::VectorXd m_vecLastBlockFirstValuesRaw;
617 Eigen::MatrixXd m_matOverlap;
619 Eigen::VectorXi m_vecIndicesFirstVV;
620 Eigen::VectorXi m_vecIndicesSecondVV;
621 Eigen::VectorXi m_vecIndicesFirstBabyMEG;
622 Eigen::VectorXi m_vecIndicesSecondBabyMEG;
623 Eigen::VectorXi m_vecIndicesFirstEEG;
625 Eigen::SparseMatrix<double> m_matSparseSpharaMult;
626 Eigen::SparseMatrix<double> m_matSparseProjCompMult;
627 Eigen::SparseMatrix<double> m_matSparseProjMult;
628 Eigen::SparseMatrix<double> m_matSparseCompMult;
630 Eigen::MatrixXd m_matProj;
631 Eigen::MatrixXd m_matComp;
633 Eigen::MatrixXd m_matSpharaVVGradLoaded;
634 Eigen::MatrixXd m_matSpharaVVMagLoaded;
635 Eigen::MatrixXd m_matSpharaBabyMEGInnerLoaded;
636 Eigen::MatrixXd m_matSpharaBabyMEGOuterLoaded;
637 Eigen::MatrixXd m_matSpharaEEGLoaded;
639 QMap<double, QColor> m_qMapTriggerColor;
640 QMap<int,QList<QPair<int,double> > >m_qMapDetectedTrigger;
641 QList<int> m_lTriggerChannelIndices;
642 QMap<int,QList<QPair<int,double> > >m_qMapDetectedTriggerFreeze;
643 QMap<int,QList<QPair<int,double> > >m_qMapDetectedTriggerOld;
644 QMap<int,QList<QPair<int,double> > >m_qMapDetectedTriggerOldFreeze;
645 QMap<qint32,float> m_qMapChScaling;
646 QList<RTPROCESSINGLIB::FilterKernel>m_filterKernel;
647 QStringList m_filterChannelList;
648 QStringList m_visibleChannelList;
649 QMap<qint32,qint32> m_qMapIdxRowSelection;
651 QColor m_colBackground;
676 void triggerDetected(
int numberDetectedTriggers,
const QMap<
int,QList<QPair<int,double> > >& mapDetectedTriggers);