v2.0.0
Loading...
Searching...
No Matches
rtsensorstreammanager.h
Go to the documentation of this file.
1//=============================================================================================================
34
35#ifndef RTSENSORSTREAMMANAGER_H
36#define RTSENSORSTREAMMANAGER_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
43
44#include <QObject>
45#include <QVector>
46#include <QMap>
47#include <QString>
48#include <Eigen/Core>
49#include <memory>
50
51//=============================================================================================================
52// FORWARD DECLARATIONS
53//=============================================================================================================
54
55class BrainSurface;
58
59//=============================================================================================================
69{
70 Q_OBJECT
71
72public:
73 //=========================================================================================================
79 explicit RtSensorStreamManager(QObject *parent = nullptr);
80
81 //=========================================================================================================
85 ~RtSensorStreamManager() override;
86
87 // ── Streaming control ──────────────────────────────────────────────
88
101 bool startStreaming(const QString &modality,
102 const SensorFieldMapper &fieldMapper,
103 const QMap<QString, std::shared_ptr<BrainSurface>> &surfaces);
104
106 void stopStreaming();
107
109 bool isStreaming() const { return m_isStreaming; }
110
112 QString modality() const { return m_modality; }
113
114 // ── Data input ─────────────────────────────────────────────────────
115
117 void pushData(const Eigen::VectorXf &data);
118
119 // ── Parameter control ──────────────────────────────────────────────
120
122 void setInterval(int msec);
123
125 void setLooping(bool enabled);
126
128 void setAverages(int numAvr);
129
131 void setColormap(const QString &name);
132
133signals:
134 //=========================================================================================================
142 void colorsAvailable(const QString &surfaceKey,
143 const QVector<uint32_t> &colors);
144
145private:
146 std::unique_ptr<RtSensorDataController> m_controller;
147 bool m_isStreaming = false;
148 QString m_modality;
149};
150
151#endif // RTSENSORSTREAMMANAGER_H
disp3D_rhi library export/import macros.
#define DISP3DRHISHARED_EXPORT
Renderable cortical surface mesh with per-vertex color, curvature data, and GPU buffer management.
RtSensorStreamManager(QObject *parent=nullptr)
bool startStreaming(const QString &modality, const SensorFieldMapper &fieldMapper, const QMap< QString, std::shared_ptr< BrainSurface > > &surfaces)
void colorsAvailable(const QString &surfaceKey, const QVector< uint32_t > &colors)
Sensor-to-surface field mapper that interpolates MEG/EEG measurements onto cortical meshes and genera...
Controller for real-time sensor data streaming.