v2.0.0
Loading...
Searching...
No Matches
surfacekeys.h
Go to the documentation of this file.
1//=============================================================================================================
34
35#ifndef SURFACEKEYS_H
36#define SURFACEKEYS_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
43
44#include <QLatin1String>
45#include <QHash>
46#include <QString>
47#include <QMatrix4x4>
48#include <Eigen/Core>
49
50//=============================================================================================================
60namespace SURFACEKEYS
61{
62 // ── Hemisphere prefixes ────────────────────────────────────────────
63 inline constexpr QLatin1String kLhPrefix {"lh_"};
64 inline constexpr QLatin1String kRhPrefix {"rh_"};
65
66 // ── BEM ────────────────────────────────────────────────────────────
67 inline constexpr QLatin1String kBemPrefix {"bem_"};
68 inline constexpr QLatin1String kBemHead {"bem_head"};
69
70 // ── Sensors ────────────────────────────────────────────────────────
71 inline constexpr QLatin1String kSensPrefix {"sens_"};
72 inline constexpr QLatin1String kSensMegGrad {"sens_meg_grad_"};
73 inline constexpr QLatin1String kSensMegMag {"sens_meg_mag_"};
74 inline constexpr QLatin1String kSensMeg {"sens_meg_"};
75 inline constexpr QLatin1String kSensEeg {"sens_eeg_"};
76 inline constexpr QLatin1String kSensDig {"sens_dig_"};
77 inline constexpr QLatin1String kHelmet {"sens_surface_meg"};
78
79 // ── Digitiser ──────────────────────────────────────────────────────
80 inline constexpr QLatin1String kDigPrefix {"dig_"};
81 inline constexpr QLatin1String kDigCardinal {"dig_cardinal"};
82 inline constexpr QLatin1String kDigHpi {"dig_hpi"};
83 inline constexpr QLatin1String kDigEeg {"dig_eeg"};
84 inline constexpr QLatin1String kDigExtra {"dig_extra"};
85
86 // ── Source space ───────────────────────────────────────────────────
87 inline constexpr QLatin1String kSrcSpPrefix {"srcsp_"};
88
89 // ── Contour overlays ───────────────────────────────────────────────
90 inline constexpr QLatin1String kContourMeg {"sens_contour_meg"};
91 inline constexpr QLatin1String kContourEeg {"sens_contour_eeg"};
92
93 // ── Inflated surface keys ──────────────────────────────────────────
94 inline constexpr QLatin1String kLhInflated {"lh_inflated"};
95 inline constexpr QLatin1String kRhInflated {"rh_inflated"};
96
97//=============================================================================================================
107inline QString sensorTypeToObjectKey(const QString &uiType)
108{
109 static const QHash<QString, QString> map = {
110 { QStringLiteral("MEG"), QStringLiteral("sens_meg") },
111 { QStringLiteral("MEG/Grad"), QStringLiteral("sens_meg_grad") },
112 { QStringLiteral("MEG/Mag"), QStringLiteral("sens_meg_mag") },
113 { QStringLiteral("MEG Helmet"), QStringLiteral("sens_meg_helmet") },
114 { QStringLiteral("EEG"), QStringLiteral("sens_eeg") },
115 { QStringLiteral("Digitizer"), QStringLiteral("dig") },
116 { QStringLiteral("Digitizer/Cardinal"), QStringLiteral("dig_cardinal") },
117 { QStringLiteral("Digitizer/HPI"), QStringLiteral("dig_hpi") },
118 { QStringLiteral("Digitizer/EEG"), QStringLiteral("dig_eeg") },
119 { QStringLiteral("Digitizer/Extra"), QStringLiteral("dig_extra") },
120 };
121 return map.value(uiType, QString());
122}
123
124//=============================================================================================================
132inline QString sensorParentToKeyPrefix(const QString &parentText)
133{
134 if (parentText.contains(QLatin1String("MEG/Grad"))) return QStringLiteral("sens_meg_grad_");
135 if (parentText.contains(QLatin1String("MEG/Mag"))) return QStringLiteral("sens_meg_mag_");
136 if (parentText.contains(QLatin1String("MEG"))) return QStringLiteral("sens_meg_");
137 if (parentText.contains(QLatin1String("EEG"))) return QStringLiteral("sens_eeg_");
138 if (parentText.contains(QLatin1String("Digitizer"))) return QStringLiteral("sens_dig_");
139 return QStringLiteral("sens_");
140}
141
142//=============================================================================================================
152inline QMatrix4x4 toQMatrix4x4(const Eigen::Matrix4f &m)
153{
154 QMatrix4x4 q;
155 for (int r = 0; r < 4; ++r)
156 for (int c = 0; c < 4; ++c)
157 q(r, c) = m(r, c);
158 return q;
159}
160
161} // namespace SURFACEKEYS
162
163#endif // SURFACEKEYS_H
disp3D_rhi library export/import macros.
Centralised string constants for surface map keys.
QString sensorParentToKeyPrefix(const QString &parentText)
constexpr QLatin1String kContourEeg
Definition surfacekeys.h:91
constexpr QLatin1String kSrcSpPrefix
Definition surfacekeys.h:87
constexpr QLatin1String kSensDig
Definition surfacekeys.h:76
constexpr QLatin1String kSensMeg
Definition surfacekeys.h:74
constexpr QLatin1String kSensPrefix
Definition surfacekeys.h:71
constexpr QLatin1String kLhPrefix
Definition surfacekeys.h:63
constexpr QLatin1String kDigPrefix
Definition surfacekeys.h:80
constexpr QLatin1String kSensEeg
Definition surfacekeys.h:75
constexpr QLatin1String kDigEeg
Definition surfacekeys.h:83
constexpr QLatin1String kDigExtra
Definition surfacekeys.h:84
constexpr QLatin1String kHelmet
Definition surfacekeys.h:77
constexpr QLatin1String kSensMegGrad
Definition surfacekeys.h:72
constexpr QLatin1String kRhPrefix
Definition surfacekeys.h:64
constexpr QLatin1String kRhInflated
Definition surfacekeys.h:95
QString sensorTypeToObjectKey(const QString &uiType)
constexpr QLatin1String kDigCardinal
Definition surfacekeys.h:81
constexpr QLatin1String kDigHpi
Definition surfacekeys.h:82
constexpr QLatin1String kBemHead
Definition surfacekeys.h:68
QMatrix4x4 toQMatrix4x4(const Eigen::Matrix4f &m)
constexpr QLatin1String kBemPrefix
Definition surfacekeys.h:67
constexpr QLatin1String kSensMegMag
Definition surfacekeys.h:73
constexpr QLatin1String kContourMeg
Definition surfacekeys.h:90
constexpr QLatin1String kLhInflated
Definition surfacekeys.h:94