22#include "QtWidgets/qspinbox.h"
23#include "ui_fwdsettingsview.h"
60,
m_pUi(std::make_unique<Ui::FwdSettingsViewWidget>())
66 m_pUi->m_checkBox_bDoRecomputation->setChecked(
false);
67 m_pUi->m_checkBox_bDoClustering->setChecked(
true);
68 m_pUi->m_lineEdit_iNChan->setText(QString::number(0));
69 m_pUi->m_lineEdit_iNSourceSpace->setText(QString::number(0));
70 m_pUi->m_lineEdit_iNDipole->setText(QString::number(0));
71 m_pUi->m_lineEdit_sSourceOri->setText(
"fixed");
72 m_pUi->m_lineEdit_sCoordFrame->setText(
"Head Space");
73 m_pUi->m_lineEdit_iNDipoleClustered->setText(
"Not Clustered");
74 m_pUi->m_spinBox_iNDipoleClustered->setValue(200);
75 m_pUi->m_spinBox_iNDipoleClustered->setKeyboardTracking(
false);
78 QString t_sAtlasDir = QCoreApplication::applicationDirPath() +
"/../resources/data/MNE-sample-data/subjects/sample/label";
79 m_pUi->m_qLineEdit_AtlasDirName->setText(t_sAtlasDir);
84 if (!t_pAnnotationSet->isEmpty() && t_pAnnotationSet->size() == 2) {
85 m_pUi->m_qLabel_atlasStat->setText(
"loaded");
88 m_pUi->m_qLabel_atlasStat->setText(
"not loaded");
92 connect(
m_pUi->m_checkBox_bDoRecomputation, &QCheckBox::clicked,
94 connect(
m_pUi->m_qPushButton_AtlasDirDialog, &QPushButton::released,
96 connect(
m_pUi->m_checkBox_bDoClustering, &QCheckBox::clicked,
98 connect(
m_pUi->m_qPushButton_ComputeForward, &QPushButton::clicked,
100 connect(
m_pUi->m_spinBox_iNDipoleClustered, QOverload<int>::of(&QSpinBox::valueChanged),
122 QSettings settings(
"MNECPP");
133 QSettings settings(
"MNECPP");
134 QVariant defaultData;
165 return m_pUi->m_checkBox_bDoRecomputation->isChecked();
173 m_pUi->m_label_recomputationFeedback->setText(
"Initializing");
174 m_pUi->m_label_recomputationFeedback->setStyleSheet(
"QLabel { background-color : red;}");
175 }
else if (iStatus == 1) {
176 m_pUi->m_label_recomputationFeedback->setText(
"Computing");
177 m_pUi->m_label_recomputationFeedback->setStyleSheet(
"QLabel { background-color : red;}");
178 }
else if (iStatus == 2) {
179 m_pUi->m_label_recomputationFeedback->setText(
"Recomputing");
180 m_pUi->m_label_recomputationFeedback->setStyleSheet(
"QLabel { background-color : red;}");
181 }
else if (iStatus == 3) {
182 m_pUi->m_label_recomputationFeedback->setText(
"Clustering");
183 m_pUi->m_label_recomputationFeedback->setStyleSheet(
"QLabel { background-color : red;}");
184 }
else if (iStatus == 4) {
185 m_pUi->m_label_recomputationFeedback->setText(
"Not Computed");
186 m_pUi->m_label_recomputationFeedback->setStyleSheet(
"QLabel { background-color : red;}");
187 }
else if (iStatus == 5) {
188 m_pUi->m_label_recomputationFeedback->setText(
"Not Clustered");
189 m_pUi->m_label_recomputationFeedback->setStyleSheet(
"QLabel { background-color : yellow;}");
191 m_pUi->m_label_recomputationFeedback->setText(
"Finished");
192 m_pUi->m_label_recomputationFeedback->setStyleSheet(
"QLabel { background-color : green;}");
205 if (iSourceOri == 0) {
206 m_pUi->m_lineEdit_sSourceOri->setText(
"fixed");
208 m_pUi->m_lineEdit_sSourceOri->setText(
"free");
213 m_pUi->m_lineEdit_sCoordFrame->setText(
"Head Space");
215 m_pUi->m_lineEdit_sCoordFrame->setText(
"MRI Space");
217 m_pUi->m_lineEdit_sCoordFrame->setText(
"Unknown");
221 m_pUi->m_lineEdit_iNDipole->setText(QString::number(iNSource));
224 m_pUi->m_lineEdit_iNDipoleClustered->setText(
"Not clustered");
227 m_pUi->m_lineEdit_iNChan->setText(QString::number(iNChan));
230 m_pUi->m_lineEdit_iNSourceSpace->setText(QString::number(iNSpaces));
237 return m_pUi->m_checkBox_bDoClustering->isChecked();
244 return m_pUi->m_spinBox_iNDipoleClustered->value();
253 msgBox.setText(
"Please load an annotation set before clustering.");
255 m_pUi->m_checkBox_bDoClustering->setChecked(
false);
267 m_pUi->m_lineEdit_iNDipoleClustered->setText(QString::number(iNSources));
274 QString t_sAtlasDir = QFileDialog::getExistingDirectory(
this, tr(
"Open Atlas Directory"),
275 QCoreApplication::applicationDirPath(),
276 QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
278 m_pUi->m_qLineEdit_AtlasDirName->setText(t_sAtlasDir);
282 if (!t_pAnnotationSet->isEmpty() && t_pAnnotationSet->size() == 2) {
284 m_pUi->m_qLabel_atlasStat->setText(
"loaded");
287 m_pUi->m_qLabel_atlasStat->setText(
"not loaded");
constexpr auto FIFFV_COORD_HEAD
constexpr auto FIFFV_COORD_MRI
Forward-solution computation controls (BEM / source space / EEG sphere model selectors).
Bi-hemispheric pair of FreeSurfer annotations (lh + rh) for one parcellation atlas.
FreeSurfer surface, annotation and parcellation I/O for mne-cpp.
2-D display widgets and visualisation helpers (charts, topography, colour maps).
AbstractView(QWidget *parent=0, Qt::WindowFlags f=Qt::Widget)
void setSolutionInformation(FIFFLIB::fiff_int_t iSourceOri, FIFFLIB::fiff_int_t iCoordFrame, int iNSource, int iNChan, int iNSpaces)
void showAtlasDirDialog()
void setClusteredInformation(int iNSource)
std::unique_ptr< Ui::FwdSettingsViewWidget > m_pUi
void doForwardComputation()
bool getRecomputationStatusChanged()
void clusterNumberChanged(int iNCluster)
void setRecomputationStatus(int iStatus)
void atlasDirChanged(const QString &sDirPath, const FSLIB::FsAnnotationSet::SPtr pAnnotationSet)
void updateProcessingMode(ProcessingMode mode)
void clusteringStatusChanged(bool bChecked)
void recompStatusChanged(bool bChecked)
void onClusteringStatusChanged(bool bChecked)
void updateGuiMode(GuiMode mode)
FwdSettingsView(const QString &sSettingsPath="", QWidget *parent=0, Qt::WindowFlags f=Qt::Widget)
bool getClusteringStatusChanged()
Container holding the lh and/or rh FsAnnotation for one parcellation atlas.
QSharedPointer< FsAnnotationSet > SPtr