v2.0.0
Loading...
Searching...
No Matches
surfacekeys.h
Go to the documentation of this file.
1//=============================================================================================================
24
25#ifndef SURFACEKEYS_H
26#define SURFACEKEYS_H
27
28//=============================================================================================================
29// INCLUDES
30//=============================================================================================================
31
32#include "../disp3D_global.h"
33
34#include <QLatin1String>
35#include <QHash>
36#include <QString>
37#include <QMatrix4x4>
38#include <Eigen/Core>
39
40//=============================================================================================================
50namespace SURFACEKEYS
51{
52// ── Hemisphere prefixes ────────────────────────────────────────────
53inline constexpr QLatin1String kLhPrefix{"lh_"};
54inline constexpr QLatin1String kRhPrefix{"rh_"};
55
56// ── BEM ────────────────────────────────────────────────────────────
57inline constexpr QLatin1String kBemPrefix{"bem_"};
58inline constexpr QLatin1String kBemHead{"bem_head"};
59
60// ── Sensors ────────────────────────────────────────────────────────
61inline constexpr QLatin1String kSensPrefix{"sens_"};
62inline constexpr QLatin1String kSensMegGrad{"sens_meg_grad_"};
63inline constexpr QLatin1String kSensMegMag{"sens_meg_mag_"};
64inline constexpr QLatin1String kSensMeg{"sens_meg_"};
65inline constexpr QLatin1String kSensEeg{"sens_eeg_"};
66inline constexpr QLatin1String kSensDig{"sens_dig_"};
67inline constexpr QLatin1String kHelmet{"sens_surface_meg"};
68
69// ── Digitiser ──────────────────────────────────────────────────────
70inline constexpr QLatin1String kDigPrefix{"dig_"};
71inline constexpr QLatin1String kDigCardinal{"dig_cardinal"};
72inline constexpr QLatin1String kDigHpi{"dig_hpi"};
73inline constexpr QLatin1String kDigEeg{"dig_eeg"};
74inline constexpr QLatin1String kDigExtra{"dig_extra"};
75
76// ── Source space ───────────────────────────────────────────────────
77inline constexpr QLatin1String kSrcSpPrefix{"srcsp_"};
78
79// ── Contour overlays ───────────────────────────────────────────────
80inline constexpr QLatin1String kContourMeg{"sens_contour_meg"};
81inline constexpr QLatin1String kContourEeg{"sens_contour_eeg"};
82
83// ── Inflated surface keys ──────────────────────────────────────────
84inline constexpr QLatin1String kLhInflated{"lh_inflated"};
85inline constexpr QLatin1String kRhInflated{"rh_inflated"};
86
87//=============================================================================================================
97inline QString sensorTypeToObjectKey(const QString& uiType)
98{
99 static const QHash<QString, QString> map = {
100 {QStringLiteral("MEG"), QStringLiteral("sens_meg")},
101 {QStringLiteral("MEG/Grad"), QStringLiteral("sens_meg_grad")},
102 {QStringLiteral("MEG/Mag"), QStringLiteral("sens_meg_mag")},
103 {QStringLiteral("MEG Helmet"), QStringLiteral("sens_meg_helmet")},
104 {QStringLiteral("EEG"), QStringLiteral("sens_eeg")},
105 {QStringLiteral("Digitizer"), QStringLiteral("dig")},
106 {QStringLiteral("Digitizer/Cardinal"), QStringLiteral("dig_cardinal")},
107 {QStringLiteral("Digitizer/HPI"), QStringLiteral("dig_hpi")},
108 {QStringLiteral("Digitizer/EEG"), QStringLiteral("dig_eeg")},
109 {QStringLiteral("Digitizer/Extra"), QStringLiteral("dig_extra")},
110 };
111 return map.value(uiType, QString());
112}
113
114//=============================================================================================================
122inline QString sensorParentToKeyPrefix(const QString& parentText)
123{
124 if (parentText.contains(QLatin1String("MEG/Grad")))
125 return QStringLiteral("sens_meg_grad_");
126 if (parentText.contains(QLatin1String("MEG/Mag")))
127 return QStringLiteral("sens_meg_mag_");
128 if (parentText.contains(QLatin1String("MEG")))
129 return QStringLiteral("sens_meg_");
130 if (parentText.contains(QLatin1String("EEG")))
131 return QStringLiteral("sens_eeg_");
132 if (parentText.contains(QLatin1String("Digitizer")))
133 return QStringLiteral("sens_dig_");
134 return QStringLiteral("sens_");
135}
136
137//=============================================================================================================
147inline QMatrix4x4 toQMatrix4x4(const Eigen::Matrix4f& m)
148{
149 QMatrix4x4 q;
150 for (int r = 0; r < 4; ++r)
151 for (int c = 0; c < 4; ++c)
152 q(r, c) = m(r, c);
153 return q;
154}
155
156} // namespace SURFACEKEYS
157
158#endif // SURFACEKEYS_H
Library export/import macros and namespace marker for the disp3D library.
Centralised string constants for surface map keys.
QString sensorParentToKeyPrefix(const QString &parentText)
constexpr QLatin1String kContourEeg
Definition surfacekeys.h:81
constexpr QLatin1String kSrcSpPrefix
Definition surfacekeys.h:77
constexpr QLatin1String kSensDig
Definition surfacekeys.h:66
constexpr QLatin1String kSensMeg
Definition surfacekeys.h:64
constexpr QLatin1String kSensPrefix
Definition surfacekeys.h:61
constexpr QLatin1String kLhPrefix
Definition surfacekeys.h:53
constexpr QLatin1String kDigPrefix
Definition surfacekeys.h:70
constexpr QLatin1String kSensEeg
Definition surfacekeys.h:65
constexpr QLatin1String kDigEeg
Definition surfacekeys.h:73
constexpr QLatin1String kDigExtra
Definition surfacekeys.h:74
constexpr QLatin1String kHelmet
Definition surfacekeys.h:67
constexpr QLatin1String kSensMegGrad
Definition surfacekeys.h:62
constexpr QLatin1String kRhPrefix
Definition surfacekeys.h:54
constexpr QLatin1String kRhInflated
Definition surfacekeys.h:85
QString sensorTypeToObjectKey(const QString &uiType)
Definition surfacekeys.h:97
constexpr QLatin1String kDigCardinal
Definition surfacekeys.h:71
constexpr QLatin1String kDigHpi
Definition surfacekeys.h:72
constexpr QLatin1String kBemHead
Definition surfacekeys.h:58
QMatrix4x4 toQMatrix4x4(const Eigen::Matrix4f &m)
constexpr QLatin1String kBemPrefix
Definition surfacekeys.h:57
constexpr QLatin1String kSensMegMag
Definition surfacekeys.h:63
constexpr QLatin1String kContourMeg
Definition surfacekeys.h:80
constexpr QLatin1String kLhInflated
Definition surfacekeys.h:84