v2.0.0
Loading...
Searching...
No Matches
rtsensorstreammanager.h
Go to the documentation of this file.
1//=============================================================================================================
19
20#ifndef RTSENSORSTREAMMANAGER_H
21#define RTSENSORSTREAMMANAGER_H
22
23//=============================================================================================================
24// INCLUDES
25//=============================================================================================================
26
27#include "../disp3D_global.h"
28
29#include <QObject>
30#include <QVector>
31#include <QMap>
32#include <QString>
33#include <Eigen/Core>
34#include <memory>
35
36//=============================================================================================================
37// FORWARD DECLARATIONS
38//=============================================================================================================
39
40class BrainSurface;
43
44//=============================================================================================================
54{
55 Q_OBJECT
56
57public:
58 //=========================================================================================================
64 explicit RtSensorStreamManager(QObject *parent = nullptr);
65
66 //=========================================================================================================
70 ~RtSensorStreamManager() override;
71
72 // ── Streaming control ──────────────────────────────────────────────
73
86 bool startStreaming(const QString &modality,
87 const SensorFieldMapper &fieldMapper,
88 const QMap<QString, std::shared_ptr<BrainSurface>> &surfaces);
89
91 void stopStreaming();
92
94 bool isStreaming() const { return m_isStreaming; }
95
97 QString modality() const { return m_modality; }
98
99 // ── Data input ─────────────────────────────────────────────────────
100
102 void pushData(const Eigen::VectorXf &data);
103
104 // ── Parameter control ──────────────────────────────────────────────
105
107 void setInterval(int msec);
108
110 void setLooping(bool enabled);
111
113 void setAverages(int numAvr);
114
116 void setColormap(const QString &name);
117
118signals:
119 //=========================================================================================================
127 void colorsAvailable(const QString &surfaceKey,
128 const QVector<uint32_t> &colors);
129
130private:
131 std::unique_ptr<RtSensorDataController> m_controller;
132 bool m_isStreaming = false;
133 QString m_modality;
134};
135
136#endif // RTSENSORSTREAMMANAGER_H
Library export/import macros and namespace marker for the disp3D library.
#define DISP3DSHARED_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.