56#include <QGraphicsView>
57#include <QSvgGenerator>
59#include <QGraphicsItem>
83 this->setWindowTitle(
"Average Layout");
87 auto *rhiViewport =
new QRhiWidget;
88#if defined(WASMBUILD) || defined(__EMSCRIPTEN__)
89 rhiViewport->setApi(QRhiWidget::Api::OpenGL);
90#elif defined(Q_OS_MACOS) || defined(Q_OS_IOS)
91 rhiViewport->setApi(QRhiWidget::Api::Metal);
92#elif defined(Q_OS_WIN)
93 rhiViewport->setApi(QRhiWidget::Api::Direct3D11);
95 rhiViewport->setApi(QRhiWidget::Api::OpenGL);
108 QVBoxLayout *neLayout =
new QVBoxLayout(
this);
109 neLayout->setContentsMargins(0,0,0,0);
111 this->setLayout(neLayout);
127 auto *rhiViewport =
new QRhiWidget;
128#if defined(WASMBUILD) || defined(__EMSCRIPTEN__)
129 rhiViewport->setApi(QRhiWidget::Api::OpenGL);
130#elif defined(Q_OS_MACOS) || defined(Q_OS_IOS)
131 rhiViewport->setApi(QRhiWidget::Api::Metal);
132#elif defined(Q_OS_WIN)
133 rhiViewport->setApi(QRhiWidget::Api::Direct3D11);
135 rhiViewport->setApi(QRhiWidget::Api::OpenGL);
152 if (pEvokedSetModel){
153 connect(pEvokedSetModel.data(), &EvokedSetModel::dataChanged,
165 qDebug() <<
"AverageLayoutView::setBackgroundColor - m_pAverageScene is NULL. Returning. ";
170 backgroundBrush.setColor(backgroundColor);
179 qDebug() <<
"AverageLayoutView::getBackgroundColor - m_pAverageScene is NULL. Returning. ";
191 qDebug() <<
"AverageLayoutView::takeScreenshot - m_pAverageScene is NULL. Returning. ";
195 if(fileName.contains(
".svg", Qt::CaseInsensitive))
198 QSvgGenerator svgGen;
199 svgGen.setFileName(fileName);
201 svgGen.setSize(QSize(rect.width(), rect.height()));
203 QPainter painter(&svgGen);
207 if(fileName.contains(
".png", Qt::CaseInsensitive))
210 QPixmap pixMap = QWidget::grab(rect);
211 pixMap.save(fileName);
220 qDebug() <<
"AverageLayoutView::setScaleMap - m_pAverageScene is NULL. Returning. ";
250 qDebug() <<
"AverageLayoutView::setAverageColor - m_pAverageScene is NULL. Returning. ";
275 qDebug() <<
"AverageLayoutView::setAverageActivation - m_pAverageScene is NULL. Returning. ";
288 qDebug() <<
"AverageLayoutView::channelSelectionManagerChanged - m_pAverageScene is NULL. Returning. ";
304 qDebug() <<
"AverageLayoutView::channelSelectionManagerChanged - m_pAverageScene is NULL. Returning. ";
323 QList<QGraphicsItem *> currentAverageSceneItems =
m_pAverageScene->items();
326 for(
int i = 0; i < currentAverageSceneItems.size(); i++) {
338 if(channelNumber != -1) {
343 if(!averageData.isEmpty()) {
359 qDebug() <<
"AverageLayoutView::updateData - m_pAverageScene, m_pEvokedSetModel or m_pChannelInfoModel are NULL. Returning. ";
363 QList<QGraphicsItem *> currentAverageSceneItems =
m_pAverageScene->items();
366 for(
int i = 0; i < currentAverageSceneItems.size(); i++) {
377 if(channelNumber != -1) {
384 if(!averageData.isEmpty()) {
406 QSettings settings(
"MNECPP");
417 QSettings settings(
"MNECPP");
Declaration of the AverageLayoutView Class.
Contains the declaration of the AverageScene class.
Declaration of the EvokedSetModel Class.
Contains the declaration of the AverageSceneItem class.
The declaration for ChannelInfoModel..
Contains the declaration of the SelectionSceneItem class.
FiffInfo class declaration.
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
2-D display widgets and visualisation helpers (charts, topography, colour maps).
AbstractView(QWidget *parent=0, Qt::WindowFlags f=Qt::Widget)
void setBackgroundColor(const QColor &backgroundColor)
void updateGuiMode(GuiMode mode)
QMap< qint32, float > m_scaleMap
void setEvokedSetModel(QSharedPointer< EvokedSetModel > pEvokedSetModel)
void channelSelectionChanged(const QVariant &data)
void setChannelInfoModel(QSharedPointer< ChannelInfoModel > &pChannelInfoModel)
QSharedPointer< QMap< QString, bool > > getAverageActivation() const
QSharedPointer< FIFFLIB::FiffInfo > m_pFiffInfo
QSharedPointer< DISPLIB::EvokedSetModel > m_pEvokedSetModel
void setAverageColor(const QSharedPointer< QMap< QString, QColor > > qMapAverageColor)
QPointer< QGraphicsView > m_pAverageLayoutView
QSharedPointer< AverageScene > m_pAverageScene
QSharedPointer< QMap< QString, QColor > > m_qMapAverageColor
QSharedPointer< QMap< QString, QColor > > getAverageColor() const
QSharedPointer< QMap< QString, bool > > m_qMapAverageActivation
void setScaleMap(const QMap< qint32, float > &scaleMap)
void takeScreenshot(const QString &fileName)
void setAverageActivation(const QSharedPointer< QMap< QString, bool > > qMapAverageActivation)
QSharedPointer< DISPLIB::ChannelInfoModel > m_pChannelInfoModel
void setFiffInfo(const QSharedPointer< FIFFLIB::FiffInfo > pFiffInfo)
AverageLayoutView(const QString &sSettingsPath="", QWidget *parent=0, Qt::WindowFlags f=Qt::Widget)
void updateProcessingMode(ProcessingMode mode)
void channelSelectionManagerChanged(const QList< QGraphicsItem * > &selectedChannelItems)
void setSingleAverageColor(const QColor &avgColor)
QColor getBackgroundColor()
QSharedPointer< EvokedSetModel > getEvokedSetModel()
The AverageScene class provides a reimplemented QGraphicsScene for 2D layout plotting.
QSharedPointer< AverageScene > SPtr
The AverageSceneItem class provides a new data structure for visualizing averages in a 2D layout.
QList< QPair< QString, RowVectorPair > > m_lAverageData
QPair< int, int > m_firstLastSample
int m_iTotalNumberChannels
The SelectionSceneItem class provides a new data structure for visualizing channels in a 2D layout.