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 ────────────────────────────────────────────
53 inline constexpr QLatin1String kLhPrefix {"lh_"};
54 inline constexpr QLatin1String kRhPrefix {"rh_"};
55
56 // ── BEM ────────────────────────────────────────────────────────────
57 inline constexpr QLatin1String kBemPrefix {"bem_"};
58 inline constexpr QLatin1String kBemHead {"bem_head"};
59
60 // ── Sensors ────────────────────────────────────────────────────────
61 inline constexpr QLatin1String kSensPrefix {"sens_"};
62 inline constexpr QLatin1String kSensMegGrad {"sens_meg_grad_"};
63 inline constexpr QLatin1String kSensMegMag {"sens_meg_mag_"};
64 inline constexpr QLatin1String kSensMeg {"sens_meg_"};
65 inline constexpr QLatin1String kSensEeg {"sens_eeg_"};
66 inline constexpr QLatin1String kSensDig {"sens_dig_"};
67 inline constexpr QLatin1String kHelmet {"sens_surface_meg"};
68
69 // ── Digitiser ──────────────────────────────────────────────────────
70 inline constexpr QLatin1String kDigPrefix {"dig_"};
71 inline constexpr QLatin1String kDigCardinal {"dig_cardinal"};
72 inline constexpr QLatin1String kDigHpi {"dig_hpi"};
73 inline constexpr QLatin1String kDigEeg {"dig_eeg"};
74 inline constexpr QLatin1String kDigExtra {"dig_extra"};
75
76 // ── Source space ───────────────────────────────────────────────────
77 inline constexpr QLatin1String kSrcSpPrefix {"srcsp_"};
78
79 // ── Contour overlays ───────────────────────────────────────────────
80 inline constexpr QLatin1String kContourMeg {"sens_contour_meg"};
81 inline constexpr QLatin1String kContourEeg {"sens_contour_eeg"};
82
83 // ── Inflated surface keys ──────────────────────────────────────────
84 inline constexpr QLatin1String kLhInflated {"lh_inflated"};
85 inline 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"))) return QStringLiteral("sens_meg_grad_");
125 if (parentText.contains(QLatin1String("MEG/Mag"))) return QStringLiteral("sens_meg_mag_");
126 if (parentText.contains(QLatin1String("MEG"))) return QStringLiteral("sens_meg_");
127 if (parentText.contains(QLatin1String("EEG"))) return QStringLiteral("sens_eeg_");
128 if (parentText.contains(QLatin1String("Digitizer"))) return QStringLiteral("sens_dig_");
129 return QStringLiteral("sens_");
130}
131
132//=============================================================================================================
142inline QMatrix4x4 toQMatrix4x4(const Eigen::Matrix4f &m)
143{
144 QMatrix4x4 q;
145 for (int r = 0; r < 4; ++r)
146 for (int c = 0; c < 4; ++c)
147 q(r, c) = m(r, c);
148 return q;
149}
150
151} // namespace SURFACEKEYS
152
153#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