20#include "ui_dipolefitview.h"
42, m_pUi(new Ui::DipoleFitViewWidget)
45 this->setMinimumWidth(330);
90 m_pUi->comboBox_bem->addItem(sFileName);
97 m_pUi->comboBox_mri->addItem(sFileName);
104 m_pUi->comboBox_noise->addItem(sFileName);
112 m_pUi->spinBox_tmax->value(),
113 m_pUi->spinBox_tstep->value(),
114 m_pUi->spinBox_tint->value());
116 emit
modalityChanged(m_pUi->checkBox_EEG->isChecked(), m_pUi->checkBox_MEG->isChecked());
119 m_pUi->doubleSpinBox_grid->value());
121 if (m_pUi->spinBox_bmin->value() != m_pUi->spinBox_bmax->value()) {
123 m_pUi->spinBox_bmax->value());
128 emit
noiseChanged(m_pUi->doubleSpinBox_gradnoise->value(),
129 m_pUi->doubleSpinBox_magnoise->value(),
130 m_pUi->doubleSpinBox_eegnoise->value());
132 emit
regChanged(m_pUi->doubleSpinBox_gradreg->value(),
133 m_pUi->doubleSpinBox_magreg->value(),
134 m_pUi->doubleSpinBox_eegreg->value());
137 m_pUi->doubleSpinBox_orgy->value(),
138 m_pUi->doubleSpinBox_orgz->value(),
139 m_pUi->doubleSpinBox_rad->value());
144void DipoleFitView::initGui()
147 m_pUi->comboBox_bem->addItem(
"None");
148 m_pUi->comboBox_noise->addItem(
"None");
149 m_pUi->comboBox_mri->addItem(
"None");
150 m_pUi->comboBox_meas->addItem(
"None");
153 connect(m_pUi->pushButton_fit, &QPushButton::clicked, [=,
this] {
154 emit performDipoleFit(m_pUi->lineEdit_name->text());
157 connect(m_pUi->spinBox_set, QOverload<int>::of(&QSpinBox::valueChanged),
161 connect(m_pUi->spinBox_tmin, QOverload<int>::of(&QSpinBox::valueChanged), [=,
this](
int iValue) {
162 emit timeChanged(iValue,
163 m_pUi->spinBox_tmax->value(),
164 m_pUi->spinBox_tstep->value(),
165 m_pUi->spinBox_tint->value());
167 connect(m_pUi->spinBox_tmax, QOverload<int>::of(&QSpinBox::valueChanged), [=,
this](
int iValue) {
168 emit timeChanged(m_pUi->spinBox_tmin->value(),
170 m_pUi->spinBox_tstep->value(),
171 m_pUi->spinBox_tint->value());
173 connect(m_pUi->spinBox_tstep, QOverload<int>::of(&QSpinBox::valueChanged), [=,
this](
int iValue) {
174 emit timeChanged(m_pUi->spinBox_tmin->value(),
175 m_pUi->spinBox_tmax->value(),
177 m_pUi->spinBox_tint->value());
179 connect(m_pUi->spinBox_tint, QOverload<int>::of(&QSpinBox::valueChanged), [=,
this](
int iValue) {
180 emit timeChanged(m_pUi->spinBox_tmin->value(),
181 m_pUi->spinBox_tmax->value(),
182 m_pUi->spinBox_tstep->value(),
187 connect(m_pUi->spinBox_bmin, QOverload<int>::of(&QSpinBox::valueChanged), [=,
this](
int iValue) {
188 if (iValue != m_pUi->spinBox_bmax->value()) {
189 emit baselineChanged(iValue,
190 m_pUi->spinBox_bmax->value());
192 emit baselineChanged(1e6, 1e6);
195 connect(m_pUi->spinBox_bmax, QOverload<int>::of(&QSpinBox::valueChanged), [=,
this](
int iValue) {
196 if (iValue != m_pUi->spinBox_bmin->value()) {
197 emit baselineChanged(m_pUi->spinBox_bmin->value(),
200 emit baselineChanged(1e6, 1e6);
205 connect(m_pUi->checkBox_EEG, &QCheckBox::toggled, [=,
this](
bool bChecked) {
206 emit modalityChanged(bChecked, m_pUi->checkBox_MEG->isChecked());
208 connect(m_pUi->checkBox_MEG, &QCheckBox::toggled, [=,
this](
bool bChecked) {
209 emit modalityChanged(m_pUi->checkBox_EEG->isChecked(), bChecked);
213 connect(m_pUi->doubleSpinBox_dist, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [=,
this](
double dValue) {
214 emit fittingChanged(dValue,
215 m_pUi->doubleSpinBox_grid->value());
217 connect(m_pUi->doubleSpinBox_grid, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [=,
this](
double dValue) {
218 emit fittingChanged(m_pUi->doubleSpinBox_dist->value(),
223 connect(m_pUi->doubleSpinBox_gradnoise, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [=,
this](
double dValue) {
224 emit noiseChanged(dValue,
225 m_pUi->doubleSpinBox_magnoise->value(),
226 m_pUi->doubleSpinBox_eegnoise->value());
228 connect(m_pUi->doubleSpinBox_magnoise, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [=,
this](
double dValue) {
229 emit noiseChanged(m_pUi->doubleSpinBox_gradnoise->value(),
231 m_pUi->doubleSpinBox_eegnoise->value());
233 connect(m_pUi->doubleSpinBox_eegnoise, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [=,
this](
double dValue) {
234 emit noiseChanged(m_pUi->doubleSpinBox_gradnoise->value(),
235 m_pUi->doubleSpinBox_magnoise->value(),
240 connect(m_pUi->doubleSpinBox_gradreg, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [=,
this](
double dValue) {
241 emit regChanged(dValue,
242 m_pUi->doubleSpinBox_magreg->value(),
243 m_pUi->doubleSpinBox_eegreg->value());
245 connect(m_pUi->doubleSpinBox_magreg, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [=,
this](
double dValue) {
246 emit regChanged(m_pUi->doubleSpinBox_gradreg->value(),
248 m_pUi->doubleSpinBox_eegreg->value());
250 connect(m_pUi->doubleSpinBox_eegreg, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [=,
this](
double dValue) {
251 emit regChanged(m_pUi->doubleSpinBox_gradreg->value(),
252 m_pUi->doubleSpinBox_magreg->value(),
257 connect(m_pUi->doubleSpinBox_orgx, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [=,
this](
double dValue) {
258 emit sphereChanged(dValue,
259 m_pUi->doubleSpinBox_orgy->value(),
260 m_pUi->doubleSpinBox_orgz->value(),
261 m_pUi->doubleSpinBox_rad->value());
263 connect(m_pUi->doubleSpinBox_orgy, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [=,
this](
double dValue) {
264 emit sphereChanged(m_pUi->doubleSpinBox_orgx->value(),
266 m_pUi->doubleSpinBox_orgz->value(),
267 m_pUi->doubleSpinBox_rad->value());
269 connect(m_pUi->doubleSpinBox_orgz, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [=,
this](
double dValue) {
270 emit sphereChanged(m_pUi->doubleSpinBox_orgx->value(),
271 m_pUi->doubleSpinBox_orgy->value(),
273 m_pUi->doubleSpinBox_rad->value());
275 connect(m_pUi->doubleSpinBox_rad, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [=,
this](
double dValue) {
276 emit sphereChanged(m_pUi->doubleSpinBox_orgx->value(),
277 m_pUi->doubleSpinBox_orgy->value(),
278 m_pUi->doubleSpinBox_orgz->value(),
283 connect(m_pUi->comboBox_bem, &QComboBox::currentTextChanged,
285 connect(m_pUi->comboBox_noise, &QComboBox::currentTextChanged,
287 connect(m_pUi->comboBox_mri, &QComboBox::currentTextChanged,
289 connect(m_pUi->comboBox_meas, &QComboBox::currentTextChanged, [=,
this](
const QString& sFileName) {
290#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
291 auto skip = QString::SkipEmptyParts;
293 auto skip = Qt::SkipEmptyParts;
296 const QStringList parts = sFileName.split(
".", skip);
297 if (parts.isEmpty()) {
298 m_pUi->lineEdit_name->clear();
299 emit selectedMeas(sFileName);
302 QString sName = parts.at(0);
303 if (sName.endsWith(
"-ave") || sName.endsWith(
"_ave") || sName.endsWith(
"-raw") || sName.endsWith(
"_raw")) {
306 m_pUi->lineEdit_name->setText(
"Dipole Fit - " + sName +
" - " + QDateTime::currentDateTime().toString(
"MMMM d yyyy hh:mm:ss"));
307 emit selectedMeas(sFileName);
315 m_pUi->comboBox_meas->addItem(sFileName);
329 m_pUi->comboBox_meas->clear();
330 m_pUi->comboBox_bem->clear();
331 m_pUi->comboBox_mri->clear();
332 m_pUi->comboBox_noise->clear();
341 int iIndex = m_pUi->comboBox_meas->findText(sModelName);
343 m_pUi->comboBox_meas->removeItem(iIndex);
348 int iIndex = m_pUi->comboBox_bem->findText(sModelName);
350 m_pUi->comboBox_bem->removeItem(iIndex);
355 int iIndex = m_pUi->comboBox_mri->findText(sModelName);
357 m_pUi->comboBox_mri->removeItem(iIndex);
362 int iIndex = m_pUi->comboBox_noise->findText(sModelName);
364 m_pUi->comboBox_noise->removeItem(iIndex);
369 qWarning() <<
"[DipoleFitView::removeModel] Model type not recognized";
Input / output panel for the single-equivalent-current-dipole fit tool.
2-D display widgets and visualisation helpers (charts, topography, colour maps).
AbstractView(QWidget *parent=0, Qt::WindowFlags f=Qt::Widget)
void addNoise(const QString &sFileName)
void addMri(const QString &sFileName)
void noiseChanged(double dGrad, double dMag, double dEeg)
void sphereChanged(double dX, double dY, double dZ, double dRadius)
void updateGuiMode(GuiMode mode)
void addBem(const QString &sFileName)
void selectedNoise(const QString &sName)
void regChanged(double dRegGrad, double dRegMag, double dRegEeg)
void removeModel(const QString &sModelName, int iType)
void updateProcessingMode(ProcessingMode mode)
void selectedMri(const QString &sName)
void addMeas(const QString &sFileName)
void timeChanged(int iMin, int iMax, int iStep, int iInt)
void selectedBem(const QString &sName)
void baselineChanged(int iBMin, int iBMax)
void modalityChanged(bool bEEG, bool bMEG)
void setChanged(int iSet)
DipoleFitView(QWidget *parent=0, Qt::WindowFlags f=Qt::Widget)
void fittingChanged(int iMinDistance, int iSize)