96 typedef QSharedPointer<RtFiffRawViewModel>
SPtr;
97 typedef QSharedPointer<const RtFiffRawViewModel>
ConstSPtr;
122 virtual int rowCount(
const QModelIndex &parent = QModelIndex())
const ;
132 virtual int columnCount(
const QModelIndex &parent = QModelIndex())
const;
143 virtual QVariant
data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const;
155 virtual QVariant
headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const;
163 void setFiffInfo(QSharedPointer<FIFFLIB::FiffInfo>& p_pFiffInfo);
199 FIFFLIB::fiff_int_t
getKind(qint32 row)
const;
209 FIFFLIB::fiff_int_t
getUnit(qint32 row)
const;
219 FIFFLIB::fiff_int_t
getCoil(qint32 row)
const;
261 void selectRows(
const QList<qint32> &selection);
269 void hideRows(
const QList<qint32> &selection);
291 void setScaling(
const QMap< qint32,float >& p_qMapChScaling);
325 void updateSpharaOptions(
const QString& sSytemType,
int nBaseFctsFirst,
int nBaseFctsSecond);
333 void setFilter(QList<UTILSLIB::FilterKernel> filterData);
374 void markChBad(QModelIndex ch,
bool status);
383 void markChBad(QModelIndexList chlist,
bool status);
394 void triggerInfoChanged(
const QMap<double, QColor>& colorMap,
bool active, QString triggerCh,
double threshold);
432 inline const QMap< qint32,float >&
getScaling()
const;
550 std::function<std::vector<int>(
int,
int)> getFn);
559 static void doFilterPerChannelRTMSA(QPair<QList<UTILSLIB::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<UTILSLIB::FilterKernel>m_filterKernel;
647 QStringList m_filterChannelList;
648 QStringList m_visibleChannelList;
649 QMap<qint32,qint32> m_qMapIdxRowSelection;
651 QColor m_colBackground;
653 std::function<void(
int)> m_fnAddEvent;
654 std::function<std::vector<int>(
int,
int)> m_fnGetEventSamples;
677 void triggerDetected(
int numberDetectedTriggers,
const QMap<
int,QList<QPair<int,double> > >& mapDetectedTriggers);