-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathElectrodePositions.h
More file actions
29 lines (22 loc) · 874 Bytes
/
ElectrodePositions.h
File metadata and controls
29 lines (22 loc) · 874 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef EGIAMP_ELECTRODEPOSITIONS_H
#define EGIAMP_ELECTRODEPOSITIONS_H
#include <cstddef>
namespace egiamp {
// 3D electrode position (x, y, z in head coordinates from .sfp files)
// Coordinates follow standard EEG conventions:
// X: positive toward right ear (T8)
// Y: positive toward nose (Nasion)
// Z: positive toward vertex (Cz)
struct ElectrodePosition {
float x;
float y;
float z;
};
// Get electrode position for a given net size and channel index
// Returns nullptr if the channel index is out of range for the net size
const ElectrodePosition* getElectrodePosition(int netSize, int channelIndex);
// Get the full position array for a given net size
// Returns nullptr if the net size is not supported
const ElectrodePosition* getElectrodePositions(int netSize, size_t& count);
} // namespace egiamp
#endif // EGIAMP_ELECTRODEPOSITIONS_H