MNE-CPP  beta 0.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
raplabsetupwidget.cpp
Go to the documentation of this file.
1 //=============================================================================================================
35 //*************************************************************************************************************
36 //=============================================================================================================
37 // INCLUDES
38 //=============================================================================================================
39 
40 #include "raplabsetupwidget.h"
41 #include "raplababoutwidget.h"
42 
43 #include "../raplab.h"
44 
45 #include <fs/annotationset.h>
46 #include <fs/surfaceset.h>
48 
49 
50 //*************************************************************************************************************
51 //=============================================================================================================
52 // QT INCLUDES
53 //=============================================================================================================
54 
55 #include <QDebug>
56 #include <QFileDialog>
57 
58 
59 //*************************************************************************************************************
60 //=============================================================================================================
61 // USED NAMESPACES
62 //=============================================================================================================
63 
64 using namespace RapLabPlugin;
65 
66 
67 //*************************************************************************************************************
68 //=============================================================================================================
69 // DEFINE MEMBER METHODS
70 //=============================================================================================================
71 
72 RapLabSetupWidget::RapLabSetupWidget(RapLab* toolbox, QWidget *parent)
73 : QWidget(parent)
74 , m_pRapLab(toolbox)
75 {
76  ui.setupUi(this);
77 
78  ui.m_qLineEdit_FwdFileName->setText(m_pRapLab->m_qFileFwdSolution.fileName());
79 
80  ui.m_qLineEdit_AtlasDirName->setText(m_pRapLab->m_sAtlasDir);
81  if(m_pRapLab->m_pAnnotationSet->isEmpty())
82  ui.m_qLabel_atlasStat->setText("not loaded");
83  else
84  ui.m_qLabel_atlasStat->setText("loaded");
85 
86  ui.m_qLineEdit_SurfaceDirName->setText(m_pRapLab->m_sSurfaceDir);
87  if(m_pRapLab->m_pSurfaceSet->isEmpty())
88  ui.m_qLabel_surfaceStat->setText("not loaded");
89  else
90  ui.m_qLabel_surfaceStat->setText("loaded");
91 
92  connect(ui.m_qPushButton_About, &QPushButton::released, this, &RapLabSetupWidget::showAboutDialog);
93  connect(ui.m_qPushButton_FwdFileDialog, &QPushButton::released, this, &RapLabSetupWidget::showFwdFileDialog);
94  connect(ui.m_qPushButton_AtlasDirDialog, &QPushButton::released, this, &RapLabSetupWidget::showAtlasDirDialog);
95  connect(ui.m_qPushButton_SurfaceDirDialog, &QPushButton::released, this, &RapLabSetupWidget::showSurfaceDirDialog);
96 }
97 
98 
99 //*************************************************************************************************************
100 
102 {
103 
104 }
105 
106 
107 //*************************************************************************************************************
108 
109 void RapLabSetupWidget::showAboutDialog()
110 {
111  RapLabAboutWidget aboutDialog(this);
112  aboutDialog.exec();
113 }
114 
115 
116 //*************************************************************************************************************
117 
118 void RapLabSetupWidget::showFwdFileDialog()
119 {
120  QString t_sFileName = QFileDialog::getOpenFileName(this,
121  tr("Open Forward Solution"),
122  QString(),
123  tr("Fif Files (*.fif)"));
124 
125  QFile file(t_sFileName);
127 
128  if(!t_pFwd->isEmpty())
129  {
130  ui.m_qLineEdit_FwdFileName->setText(t_sFileName);
131  m_pRapLab->m_qFileFwdSolution.setFileName(t_sFileName);
132  m_pRapLab->m_pFwd = t_pFwd;
133  }
134 }
135 
136 
137 //*************************************************************************************************************
138 
139 void RapLabSetupWidget::showAtlasDirDialog()
140 {
141  QString t_sAtlasDir = QFileDialog::getExistingDirectory(this, tr("Open Atlas Directory"),
142  QString(),
143  QFileDialog::ShowDirsOnly
144  | QFileDialog::DontResolveSymlinks);
145 
146  m_pRapLab->m_sAtlasDir = t_sAtlasDir;
147 
148  ui.m_qLineEdit_AtlasDirName->setText(m_pRapLab->m_sAtlasDir);
149 
150  AnnotationSet::SPtr t_pAnnotationSet = AnnotationSet::SPtr(new AnnotationSet(t_sAtlasDir+"/lh.aparc.a2009s.annot", t_sAtlasDir+"/rh.aparc.a2009s.annot"));
151 
152  if(!t_pAnnotationSet->isEmpty() && t_pAnnotationSet->size() == 2)
153  {
154  m_pRapLab->m_pAnnotationSet = t_pAnnotationSet;
155 
156  m_pRapLab->m_sAtlasDir = t_sAtlasDir;
157 
158  ui.m_qLabel_atlasStat->setText("loaded");
159  }
160  else
161  {
162  m_pRapLab->m_pAnnotationSet = AnnotationSet::SPtr(new AnnotationSet());
163  ui.m_qLabel_atlasStat->setText("not loaded");
164  }
165 }
166 
167 
168 //*************************************************************************************************************
169 
170 void RapLabSetupWidget::showSurfaceDirDialog()
171 {
172  QString t_sSurfaceDir = QFileDialog::getExistingDirectory( this, tr("Open Surface Directory"),
173  QString(),
174  QFileDialog::ShowDirsOnly
175  | QFileDialog::DontResolveSymlinks);
176 
177  SurfaceSet::SPtr t_pSurfaceSet = SurfaceSet::SPtr(new SurfaceSet(t_sSurfaceDir+"/lh.white", t_sSurfaceDir+"/rh.white"));
178 
179  if(!t_pSurfaceSet->isEmpty() && t_pSurfaceSet->size() == 2)
180  {
181  m_pRapLab->m_pSurfaceSet = t_pSurfaceSet;
182 
183  m_pRapLab->m_sSurfaceDir = t_sSurfaceDir;
184 
185  ui.m_qLabel_surfaceStat->setText("loaded");
186  }
187  else
188  {
189  m_pRapLab->m_pSurfaceSet = SurfaceSet::SPtr(new SurfaceSet());
190  ui.m_qLabel_surfaceStat->setText("not loaded");
191  }
192 }
RapLabSetupWidget(RapLab *toolbox, QWidget *parent=0)
SurfaceSet class declaration.
QSharedPointer< MNEForwardSolution > SPtr
The RapLab class provides a dummy algorithm structure.
Definition: raplab.h:110
MNEForwardSolution class declaration, which provides the forward solution including the source space ...
Annotation set.
Definition: annotationset.h:96
QSharedPointer< SurfaceSet > SPtr
Definition: surfaceset.h:86
The RapLabAboutWidget class provides the about dialog for the RapLab.
Contains the declaration of the RapLabSetupWidget class.
QSharedPointer< AnnotationSet > SPtr
Definition: annotationset.h:99
Contains the declaration of the RapLabAboutWidget class.
AnnotationSet class declaration.
A hemisphere set of surfaces.
Definition: surfaceset.h:83