MNE-CPP  beta 1.0
newbrainview.cpp
Go to the documentation of this file.
1 //=============================================================================================================
36 //*************************************************************************************************************
37 //=============================================================================================================
38 // INCLUDES
39 //=============================================================================================================
40 
41 #include "newbrainview.h"
42 #include "helpers/cluststcmodel.h"
44 
45 
46 //*************************************************************************************************************
47 //=============================================================================================================
48 // QT INCLUDES
49 //=============================================================================================================
50 
51 #include <QMouseEvent>
52 #include <QTableView>
53 #include <QGridLayout>
54 #include <QLabel>
55 #include <QDebug>
56 
57 
58 //*************************************************************************************************************
59 //=============================================================================================================
60 // USED NAMESPACES
61 //=============================================================================================================
62 
63 using namespace DISP3DLIB;
64 //using namespace DISPLIB;
65 
66 
67 //*************************************************************************************************************
68 //=============================================================================================================
69 // DEFINE MEMBER METHODS
70 //=============================================================================================================
71 
72 NewBrainView::NewBrainView(QWidget * parent, Qt::WindowFlags f)
73 : QWidget(parent, f)
74 , m_bShowClustModel(false)
75 {
76 // init();
77 }
78 
79 
80 //*************************************************************************************************************
81 
82 NewBrainView::NewBrainView(const QString &subject_id, qint32 hemi, const QString &surf, const QString &subjects_dir, QWidget * parent, Qt::WindowFlags f)
83 : QWidget(parent, f)
84 , m_SurfaceSet(subject_id, hemi, surf, subjects_dir)
85 , m_bShowClustModel(false)
86 {
87 // init();
88 }
89 
90 
91 //*************************************************************************************************************
92 
93 NewBrainView::NewBrainView(const QString &subject_id, qint32 hemi, const QString &surf, const QString &atlas, const QString &subjects_dir, QWidget * parent, Qt::WindowFlags f)
94 : QWidget(parent, f)
95 , m_SurfaceSet(subject_id, hemi, surf, subjects_dir)
96 , m_AnnotationSet(subject_id, hemi, atlas, subjects_dir)
97 , m_bShowClustModel(false)
98 {
99  init(m_AnnotationSet, m_SurfaceSet);
100 }
101 
102 
103 //*************************************************************************************************************
104 
105 NewBrainView::NewBrainView(const QString& p_sFile, QWidget * parent, Qt::WindowFlags f)
106 : QWidget(parent, f)
107 , m_bShowClustModel(false)
108 {
109  Surface t_Surf(p_sFile);
110  m_SurfaceSet.insert(t_Surf);
111 
112 // init();
113 }
114 
115 
116 //*************************************************************************************************************
117 
119 {
120 }
121 
122 
123 //*************************************************************************************************************
124 
125 void NewBrainView::init(const AnnotationSet &annotationSet, const SurfaceSet &surfSet)
126 {
127  m_pClustStcModel = ClustStcModel::SPtr(new ClustStcModel);
128  m_pClustStcModel->init(annotationSet, surfSet);
129  m_pClustStcModel->setLoop(true);
130 
131  m_bShowClustModel = true;
132 }
133 
134 
135 //*************************************************************************************************************
136 
137 void NewBrainView::showDebugTable()
138 {
139  if(m_bShowClustModel)
140  {
141  //
142  // QDebugTable
143  //
144  if(!m_pWidgetTable)
145  {
146  m_pWidgetTable = QSharedPointer<QWidget>(new QWidget);
147  QGridLayout *mainLayoutTable = new QGridLayout;
148 
149  QTableView* pTableView = new QTableView;
150  if(m_pClustStcTableDelegate.isNull())
151  m_pClustStcTableDelegate = QSharedPointer<ClustStcTableDelegate>(new ClustStcTableDelegate);
152  pTableView->setModel(m_pClustStcModel.data());
153  pTableView->setItemDelegate(m_pClustStcTableDelegate.data());
154  pTableView->setColumnHidden(0,true); //because content is plotted jointly with column=1
155 
156  QLabel * pLabelNorm = new QLabel("Norm");
157  QSlider* pSliderNorm = new QSlider(Qt::Vertical);
158  QObject::connect(pSliderNorm, &QSlider::valueChanged, m_pClustStcModel.data(), &ClustStcModel::setNormalization);
159  pSliderNorm->setMinimum(1);
160  pSliderNorm->setMaximum(100);
161  pSliderNorm->setValue(60);
162 
163  QLabel * pLabelAverage = new QLabel("Average");
164  QSlider* pSliderAverage = new QSlider(Qt::Horizontal);
165  QObject::connect(pSliderAverage, &QSlider::valueChanged, m_pClustStcModel.data(), &ClustStcModel::setAverage);
166  pSliderAverage->setMinimum(1);
167  pSliderAverage->setMaximum(500);
168  pSliderAverage->setValue(100);
169 
170  mainLayoutTable->addWidget(pTableView,0,0,2,2);
171  mainLayoutTable->addWidget(pLabelNorm,0,3);
172  mainLayoutTable->addWidget(pSliderNorm,1,3);
173  mainLayoutTable->addWidget(pLabelAverage,3,0);
174  mainLayoutTable->addWidget(pSliderAverage,3,1);
175 
176  m_pWidgetTable->setLayout(mainLayoutTable);
177  m_pWidgetTable->setWindowTitle("Stc Table View");
178  }
179  m_pWidgetTable->show();
180  m_pWidgetTable->resize(800,600);
181  }
182 }
Table model which prepares source estimate information.
ClustStcModel class declaration.
NewBrainView class declaration.
void insert(const Surface &p_Surface)
Definition: surfaceset.cpp:154
ClustStcTableDelegate class declaration.
Annotation set.
Definition: annotationset.h:96
FreeSurfer surface mesh.
Definition: surface.h:92
NewBrainView(QWidget *parent=0, Qt::WindowFlags f=0)
QSharedPointer< ClustStcModel > SPtr
A hemisphere set of surfaces.
Definition: surfaceset.h:83