50#include <QRegularExpression>
69: QAbstractTableModel(parent)
70, m_pFiffInfo(pFiffInfo)
72 setFiffInfo(m_pFiffInfo);
78: QAbstractTableModel(parent)
105 if(role != Qt::DisplayRole && role != Qt::TextAlignmentRole)
110 case Qt::TextAlignmentRole:
111 a = Qt::AlignHCenter | Qt::AlignVCenter;
114 case Qt::DisplayRole: {
116 if(orientation == Qt::Vertical)
117 if(section<m_pFiffInfo->chs.size())
118 return QString(
"Ch %1").arg(section);
121 if(orientation == Qt::Horizontal) {
124 return QString(
"%1").arg(
"Data number");
128 return QString(
"%1").arg(
"Original name");
132 return QString(
"%1").arg(
"Alias");
136 return QString(
"%1").arg(
"Mapped layout name");
140 return QString(
"%1").arg(
"Channel kind");
144 return QString(
"%1").arg(
"MEG type");
148 return QString(
"%1").arg(
"Unit");
152 return QString(
"%1").arg(
"Position");
156 return QString(
"%1").arg(
"Digitizer (cm)");
160 return QString(
"%1").arg(
"Active filter");
164 return QString(
"%1").arg(
"Coil Type");
168 return QString(
"%1").arg(
"Bad channel");
172 return QString(
"%1").arg(
"# of Compensators");
189 if (index.isValid()) {
191 if(index.column()==0) {
195 case Qt::DisplayRole:
196 v.setValue(index.row());
200 v.setValue(index.row());
203 case Qt::TextAlignmentRole:
204 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
210 if(index.column()==1) {
214 case Qt::DisplayRole:
215 v.setValue(QString(
"%1").arg(
m_pFiffInfo->chs.at(index.row()).ch_name));
219 v.setValue(QString(
"%1").arg(
m_pFiffInfo->chs.at(index.row()).ch_name));
222 case Qt::TextAlignmentRole:
223 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
229 if(index.column()==2) {
233 case Qt::DisplayRole:
235 v.setValue(QString(
"%1").arg(
m_aliasNames.at(index.row())));
240 v.setValue(QString(
"%1").arg(
m_aliasNames.at(index.row())));
243 case Qt::TextAlignmentRole:
244 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
250 if(index.column()==3) {
254 case Qt::DisplayRole:
264 case Qt::TextAlignmentRole:
265 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
271 if(index.column()==4) {
275 case Qt::DisplayRole:
276 v.setValue(QString(
"%1").arg(
m_pFiffInfo->chs.at(index.row()).kind));
283 case Qt::TextAlignmentRole:
284 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
290 if(index.column()==5) {
293 v.setValue(QString(
"%1").arg(
"non_MEG"));
296 qint32 unit =
m_pFiffInfo->chs.at(index.row()).unit;
298 v.setValue(QString(
"MEG_grad"));
300 v.setValue(QString(
"MEG_mag"));
304 case Qt::DisplayRole:
310 case Qt::TextAlignmentRole:
311 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
317 if(index.column()==6) {
321 case Qt::DisplayRole:
322 v.setValue(QString(
"%1").arg(
m_pFiffInfo->chs.at(index.row()).unit));
329 case Qt::TextAlignmentRole:
330 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
336 if(index.column()==7) {
342 case Qt::DisplayRole:
343 v.setValue(QString(
"(%1|%2)").arg(point.x()).arg(point.y()));
350 case Qt::TextAlignmentRole:
351 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
357 if(index.column()==8) {
360 QVector3D point3D(
m_pFiffInfo->chs.at(index.row()).chpos.r0[0] * 100,
361 m_pFiffInfo->chs.at(index.row()).chpos.r0[1] * 100,
362 m_pFiffInfo->chs.at(index.row()).chpos.r0[2] * 100 );
365 case Qt::DisplayRole:
366 v.setValue(QString(
"(%1|%2|%3)").arg(point3D.x()).arg(point3D.y()).arg(point3D.z()));
373 case Qt::TextAlignmentRole:
374 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
380 if(index.column()==9) {
388 case Qt::DisplayRole: {
441 case Qt::TextAlignmentRole:
442 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
448 if(index.column()==10) {
452 case Qt::DisplayRole:
453 v.setValue(QString(
"%1").arg(
m_pFiffInfo->chs.at(index.row()).chpos.coil_type));
457 v.setValue(
m_pFiffInfo->chs.at(index.row()).chpos.coil_type);
460 case Qt::TextAlignmentRole:
461 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
467 if(index.column()==11) {
470 QString chName =
m_pFiffInfo->chs.at(index.row()).ch_name;
473 case Qt::DisplayRole:
483 case Qt::TextAlignmentRole:
484 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
490 if(index.column()==12) {
494 case Qt::DisplayRole:
498 case Qt::TextAlignmentRole:
499 Qt::Alignment a = Qt::AlignHCenter | Qt::AlignVCenter;
535 return Qt::ItemIsEnabled | Qt::ItemIsSelectable ;
631 for(
int i = 0; i<channelList.size(); i++) {
634 QString chName = chInfo.
ch_name;
635 QRegularExpression regExpRemove;
638 switch(chInfo.
kind) {
641 regExpRemove = QRegularExpression(
"(MEG|-|_|/|\\| )");
642 chName.remove(regExpRemove);
652 regExpRemove = QRegularExpression(
"(EEG|-|_|/|\\| )");
653 chName.remove(regExpRemove);
680 qDebug(
"ChannelInfoModel cleared.");
Declaration of the MNEOperator Class.
The declaration for ChannelInfoModel..
FiffInfo class declaration.
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
2-D display widgets and visualisation helpers (charts, topography, colour maps).
void channelsMappedToLayout(const QStringList &mappedLayoutChNames)
ChannelInfoModel(QSharedPointer< FIFFLIB::FiffInfo > &pFiffInfo, QObject *parent=0)
virtual QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
void setFiffInfo(QSharedPointer< FIFFLIB::FiffInfo > &pFiffInfo)
void assignedOperatorsChanged(const QMultiMap< int, QSharedPointer< MNEOperator > > &assignedOperators)
QMultiMap< int, QSharedPointer< MNEOperator > > m_assignedOperators
virtual bool insertRows(int position, int span, const QModelIndex &parent=QModelIndex())
QStringList getBadChannelList()
QSharedPointer< FIFFLIB::FiffInfo > m_pFiffInfo
QSharedPointer< ChannelInfoModel > SPtr
void mapLayoutToChannels()
int getIndexFromMappedChName(QString chName)
virtual QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
void layoutChanged(const QMap< QString, QPointF > &layoutMap)
virtual bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
int getIndexFromOrigChName(QString chName)
const QStringList & getMappedChannelsList()
QMap< QString, QPointF > m_layoutMap
virtual Qt::ItemFlags flags(const QModelIndex &index) const
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
virtual bool removeRows(int position, int span, const QModelIndex &parent=QModelIndex())
QStringList m_mappedLayoutChNames
virtual int columnCount(const QModelIndex &parent=QModelIndex()) const
FIFF measurement file information.
QSharedPointer< FiffInfo > SPtr