20#include "ui_averagingsettingsview.h"
46 const QMap<QString, int>& mapStimChsIndexNames,
49,
m_pUi(new Ui::AverageSettingsViewWidget)
55 this->setWindowTitle(
"Averaging Settings");
56 this->setMinimumWidth(330);
75 if (!mapStimChsIndexNames.isEmpty()) {
86 const QSignalBlocker blocker(
m_pUi->m_pComboBoxChSelection);
87 m_pUi->m_pComboBoxChSelection->clear();
92 m_pUi->m_pComboBoxChSelection->addItem(i.key(), i.value());
98 connect(
m_pUi->m_pComboBoxChSelection, &QComboBox::currentTextChanged,
155 return m_pUi->m_pComboBoxChSelection->currentData().toInt();
167 connect(
m_pUi->m_pSpinBoxNumAverages,
static_cast<void (QSpinBox::*)()
>(&QSpinBox::editingFinished),
172 connect(
m_pUi->m_pSpinBoxPreStimMSeconds,
static_cast<void (QSpinBox::*)()
>(&QSpinBox::editingFinished),
176 connect(
m_pUi->m_pSpinBoxPostStimMSeconds,
static_cast<void (QSpinBox::*)()
>(&QSpinBox::editingFinished),
181 connect(
m_pUi->m_pcheckBoxBaselineCorrection, &QCheckBox::clicked,
184 m_pUi->m_pSpinBoxBaselineFromMSeconds->setMinimum(
m_pUi->m_pSpinBoxPreStimMSeconds->value() * -1);
185 m_pUi->m_pSpinBoxBaselineFromMSeconds->setMaximum(
m_pUi->m_pSpinBoxPostStimMSeconds->value());
187 connect(
m_pUi->m_pSpinBoxBaselineFromMSeconds,
static_cast<void (QSpinBox::*)()
>(&QSpinBox::editingFinished),
190 m_pUi->m_pSpinBoxBaselineToMSeconds->setMinimum(
m_pUi->m_pSpinBoxPreStimMSeconds->value() * -1);
191 m_pUi->m_pSpinBoxBaselineToMSeconds->setMaximum(
m_pUi->m_pSpinBoxPostStimMSeconds->value());
193 connect(
m_pUi->m_pSpinBoxBaselineToMSeconds,
static_cast<void (QSpinBox::*)()
>(&QSpinBox::editingFinished),
196 connect(
m_pUi->m_pushButton_reset,
static_cast<void (QPushButton::*)(
bool)
>(&QPushButton::clicked),
199 connect(
m_pUi->m_pushButton_compute,
static_cast<void (QPushButton::*)(
bool)
>(&QPushButton::clicked),
201 connect(
m_pUi->m_checkBox_reject, &QCheckBox::clicked,
204 connect(
m_pUi->checkBox_autoCompute, &QCheckBox::clicked,
207 m_pUi->m_pushButton_compute->hide();
208 m_pUi->m_checkBox_reject->hide();
209 m_pUi->m_pushButton_compute->hide();
211 setWindowFlags(Qt::WindowStaysOnTopHint);
213 m_pUi->m_groupBox_detectedTrials->hide();
220 if (evokedSet.
evoked.isEmpty()) {
221 m_pUi->m_groupBox_detectedTrials->hide();
224 m_pUi->m_groupBox_detectedTrials->show();
227 QGridLayout* topLayout =
static_cast<QGridLayout*
>(
m_pUi->m_groupBox_detectedTrials->layout());
229 topLayout =
new QGridLayout();
233 while ((child = topLayout->takeAt(0)) != 0) {
234 delete child->widget();
238 topLayout->addWidget(
new QLabel(
"Type"), 0, 0);
239 topLayout->addWidget(
new QLabel(
"#"), 0, 1);
241 for (
int i = 0; i < evokedSet.
evoked.size(); i++) {
244 topLayout->addWidget(
new QLabel(evokedSet.
evoked.at(i).comment), i + 1, 0);
245 topLayout->addWidget(
new QLabel(QString::number(evokedSet.
evoked.at(i).nave)), i + 1, 1);
250 m_pUi->m_groupBox_detectedTrials->setLayout(topLayout);
262 QSettings settings(
"MNECPP");
282 QSettings settings(
"MNECPP");
320 m_pUi->m_pSpinBoxNumAverages->hide();
321 m_pUi->m_pComboBoxChSelection->hide();
322 m_pUi->m_pushButton_reset->hide();
323 m_pUi->label->hide();
324 m_pUi->m_label_numberAverages->hide();
325 m_pUi->m_pushButton_compute->show();
326 m_pUi->m_checkBox_reject->show();
327 m_pUi->checkBox_autoCompute->show();
330 m_pUi->m_pSpinBoxNumAverages->show();
331 m_pUi->m_pComboBoxChSelection->show();
332 m_pUi->m_pushButton_reset->show();
333 m_pUi->label->show();
334 m_pUi->m_label_numberAverages->show();
335 m_pUi->m_pushButton_compute->hide();
336 m_pUi->m_checkBox_reject->hide();
337 m_pUi->checkBox_autoCompute->hide();
345 qint32 mSeconds =
m_pUi->m_pSpinBoxPreStimMSeconds->value();
346 m_pUi->m_pSpinBoxBaselineToMSeconds->setMinimum(
m_pUi->m_pSpinBoxPreStimMSeconds->value() * -1);
347 m_pUi->m_pSpinBoxBaselineFromMSeconds->setMinimum(
m_pUi->m_pSpinBoxPreStimMSeconds->value() * -1);
360 qint32 mSeconds =
m_pUi->m_pSpinBoxPostStimMSeconds->value();
361 m_pUi->m_pSpinBoxBaselineToMSeconds->setMaximum(
m_pUi->m_pSpinBoxPostStimMSeconds->value());
362 m_pUi->m_pSpinBoxBaselineFromMSeconds->setMaximum(
m_pUi->m_pSpinBoxPostStimMSeconds->value());
375 qint32 mSeconds =
m_pUi->m_pSpinBoxBaselineFromMSeconds->value();
376 m_pUi->m_pSpinBoxBaselineToMSeconds->setMinimum(mSeconds);
389 qint32 mSeconds =
m_pUi->m_pSpinBoxBaselineToMSeconds->value();
390 m_pUi->m_pSpinBoxBaselineFromMSeconds->setMaximum(mSeconds);
442 return m_pUi->checkBox_autoCompute->isChecked();
Set of averaged evoked responses sharing a FiffInfo, plus the ave-style category / rejection descript...
Settings panel driving the on-line / off-line averaging engine (pre/post stim, baseline,...
FIFF file I/O, in-memory data structures and high-level readers/writers.
2-D display widgets and visualisation helpers (charts, topography, colour maps).
AbstractView(QWidget *parent=0, Qt::WindowFlags f=Qt::Widget)
void changeDropActive(bool state)
void changePreStim(qint32 value)
void changeBaselineFrom(qint32 value)
int getBaselineFromSeconds()
int getPostStimMSeconds()
void resetAverage(bool state)
Ui::AverageSettingsViewWidget * m_pUi
bool getDoBaselineCorrection()
QMap< QString, int > m_mapStimChsIndexNames
void clearSelectionGroup()
void updateGuiMode(GuiMode mode)
void changeBaselineTo(qint32 value)
int m_iBaselineFromSeconds
void onChangeStimChannel()
void calculateAverage(bool state)
void setDetectedEpochs(const FIFFLIB::FiffEvokedSet &evokedSet)
int getBaselineToSeconds()
void changePostStim(qint32 value)
void onChangeNumAverages()
QString getCurrentStimCh()
void changeNumAverages(qint32 value)
void onChangeBaselineActive(bool bActive)
void onChangeBaselineTo()
bool getAutoComputeStatus()
QString m_sCurrentStimChan
void setAutoCompute(bool state)
void changeStimChannel(const QString &sStimName)
AveragingSettingsView(const QString &sSettingsPath="", const QMap< QString, int > &mapStimChsIndexNames=QMap< QString, int >(), QWidget *parent=nullptr)
void setStimChannels(const QMap< QString, int > &mapStimChsIndexNames)
void onChangeBaselineFrom()
QString getCurrentSelectGroup()
void changeBaselineActive(bool state)
bool m_bDoBaselineCorrection
void updateProcessingMode(ProcessingMode mode)
Set of FiffEvoked instances sharing one FiffInfo, plus channel-picking and compensation helpers.
QList< FiffEvoked > evoked