v2.0.0
Loading...
Searching...
No Matches
dataloader.h
Go to the documentation of this file.
1//=============================================================================================================
34
35#ifndef DATALOADER_H
36#define DATALOADER_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
43
44#include <QStringList>
45#include <QList>
46#include <QStandardItem>
47#include <QVector3D>
48#include <QMatrix4x4>
49#include <memory>
50
51#include <fiff/fiff_info.h>
52#include <fiff/fiff_evoked.h>
54#include <fiff/fiff_dig_point.h>
57
58//=============================================================================================================
59// FORWARD DECLARATIONS
60//=============================================================================================================
61
62class BrainSurface;
63class SensorTreeItem;
64
65//=============================================================================================================
75{
76public:
77 DataLoader() = delete; // all-static class
78
79 // ── Result structs ────────────────────────────────────────────────
80
87 {
88 bool hasInfo = false;
89 bool hasDigitizer = false;
90
92 QList<QStandardItem*> megGradItems;
93 QList<QStandardItem*> megMagItems;
94 QList<QStandardItem*> eegItems;
95 QList<FIFFLIB::FiffDigPoint> digitizerPoints;
96
97 std::shared_ptr<BrainSurface> helmetSurface;
98
99 QMatrix4x4 devHeadTrans;
100 bool hasDevHead = false;
101 };
102
103 // ── Static I/O methods ────────────────────────────────────────────
104
112 static SensorLoadResult loadSensors(const QString &fifPath,
113 const QString &megHelmetOverridePath = {});
114
123 static std::shared_ptr<BrainSurface> loadHelmetSurface(
124 const QString &helmetFilePath,
125 const QMatrix4x4 &devHeadTrans = QMatrix4x4(),
126 bool applyTrans = false);
127
134 static INVERSELIB::ECDSet loadDipoles(const QString &dipPath);
135
142 static MNELIB::MNESourceSpaces loadSourceSpace(const QString &fwdPath);
143
152 static bool loadHeadToMriTransform(const QString &transPath,
154
162 static FIFFLIB::FiffEvoked loadEvoked(const QString &evokedPath, int aveIndex = 0);
163
170 static QStringList probeEvokedSets(const QString &evokedPath);
171};
172
173#endif // DATALOADER_H
FiffInfo class declaration.
FiffEvoked class declaration.
FiffCoordTrans class declaration.
FiffDigPoint class declaration.
disp3D_rhi library export/import macros.
#define DISP3DRHISHARED_EXPORT
MNESourceSpaces class declaration.
FiffDigPointSet class declaration.
static SensorLoadResult loadSensors(const QString &fifPath, const QString &megHelmetOverridePath={})
DataLoader()=delete
Return value bundling loaded sensor geometry, labels, and channel-to-sensor mapping.
Definition dataloader.h:87
std::shared_ptr< BrainSurface > helmetSurface
May be null.
Definition dataloader.h:97
QList< QStandardItem * > megGradItems
Ownership passes to caller.
Definition dataloader.h:92
FIFFLIB::FiffInfo info
Channel / dig info.
Definition dataloader.h:91
QMatrix4x4 devHeadTrans
Device→Head transform (identity if absent).
Definition dataloader.h:99
QList< QStandardItem * > eegItems
Definition dataloader.h:94
bool hasDevHead
Whether a valid dev→head transform was found.
Definition dataloader.h:100
QList< FIFFLIB::FiffDigPoint > digitizerPoints
Definition dataloader.h:95
QList< QStandardItem * > megMagItems
Definition dataloader.h:93
Tree item representing MEG or EEG sensor positions in the 3-D scene hierarchy.
Renderable cortical surface mesh with per-vertex color, curvature data, and GPU buffer management.
Coordinate transformation description.
FIFF measurement file information.
Definition fiff_info.h:85
Holds a set of Electric Current Dipoles.
Definition ecd_set.h:81
Source Space descritpion.