v2.0.0
Loading...
Searching...
No Matches
mne_raw_data.h
Go to the documentation of this file.
1//=============================================================================================================
36
37#ifndef MNERAWDATA_H
38#define MNERAWDATA_H
39
40//=============================================================================================================
41// INCLUDES
42//=============================================================================================================
43
44#include "mne_global.h"
45
46#include <fiff/fiff_dir_node.h>
47#include <fiff/fiff_stream.h>
48#include "mne_raw_info.h"
49#include "mne_raw_buf_def.h"
50#include "mne_proj_op.h"
51#include "mne_sss_data.h"
53#include "mne_deriv.h"
54#include "mne_deriv_set.h"
55#include "mne_types.h"
56
57//=============================================================================================================
58// STL INCLUDES
59//=============================================================================================================
60
61#include <memory>
62#include <vector>
63
64//=============================================================================================================
65// EIGEN INCLUDES
66//=============================================================================================================
67
68#include <Eigen/Core>
69
70//=============================================================================================================
71// QT INCLUDES
72//=============================================================================================================
73
74#include <QSharedPointer>
75#include <QList>
76#include <QFile>
77
78//=============================================================================================================
79// DEFINE NAMESPACE MNELIB
80//=============================================================================================================
81
82namespace MNELIB
83{
84
85//=============================================================================================================
86// FORWARD DECLARATIONS
87//=============================================================================================================
88
89struct RingBuffer;
90struct FilterData;
91
92//=============================================================================================================
99{
100public:
101 typedef QSharedPointer<MNERawData> SPtr;
102 typedef QSharedPointer<const MNERawData> ConstSPtr;
103
104 //=========================================================================================================
109 MNERawData();
110
111 //=========================================================================================================
116 ~MNERawData();
117
124 void add_filter_response(int *highpass_effective);
125
131 void setup_filter_bufs();
132
142
152
166 int firsts,
167 int ns,
168 float **picked);
169
182 int firsts,
183 int ns,
184 float **picked);
185
195
209 int firsts,
210 int ns,
211 float **picked);
212
227 static MNERawData* open_file_comp(const QString& name, int omit_skip, int allow_maxshield, const MNEFilterDef& filter, int comp_set);
228
240 static MNERawData* open_file(const QString& name, int omit_skip, int allow_maxshield, const MNEFilterDef& filter);
241
242public:
243 QString filename;
244 // FIFFLIB::fiffFile file;
245 std::unique_ptr<QFile> file;
247 std::unique_ptr<MNELIB::MNERawInfo> info;
248 QStringList ch_names;
249 QStringList badlist;
250 int nbad;
251 Eigen::VectorXi bad;
252 std::vector<MNELIB::MNERawBufDef> bufs;
253 std::vector<MNELIB::MNERawBufDef> filt_bufs;
258 int nsamp;
259 Eigen::VectorXf first_sample_val;
260 std::unique_ptr<MNELIB::MNEProjOp> proj;
261 std::unique_ptr<MNELIB::MNESssData> sss;
262 std::unique_ptr<MNELIB::MNECTFCompDataSet> comp;
265 std::unique_ptr<MNEFilterDef> filter;
266 std::unique_ptr<FilterData> filter_data;
267 std::unique_ptr<MNEEventList> event_list;
268 unsigned int max_event;
269 QString dig_trigger;
270 unsigned int dig_trigger_mask;
271 Eigen::VectorXf offsets;
272 std::unique_ptr<RingBuffer> ring;
273 std::unique_ptr<RingBuffer> filt_ring;
274 std::unique_ptr<MNELIB::MNEDerivSet> deriv;
275 std::unique_ptr<MNELIB::MNEDeriv> deriv_matched;
276};
277
278//=============================================================================================================
279// INLINE DEFINITIONS
280//=============================================================================================================
281} // NAMESPACE MNELIB
282
283#endif // MNERAWDATA_H
MNECTFCompDataSet class declaration.
Legacy MNE-C constants and common typedefs.
MNE SSS Data (MNESssData) class declaration.
MNEProjOp class declaration.
mne library export/import macros.
#define MNESHARED_EXPORT
Definition mne_global.h:52
MNERawInfo class declaration.
MNE Derivation (MNEDeriv) class declaration.
MNE Derivation Set (MNEDerivSet) class declaration.
MNERawBufDef class declaration.
FiffDirNode class declaration, which provides fiff dir tree processing methods.
FiffStream class declaration.
Core MNE data structures (source spaces, source estimates, hemispheres).
MNEChSelection * mneChSelection
QSharedPointer< FiffStream > SPtr
Definition of one raw data buffer within a FIFF file.
Circular ring buffer for managing raw-data matrix allocations.
Pre-computed frequency-domain filter state used for FFT-based raw data filtering.
int load_one_filt_buf(MNERawBufDef *buf)
QSharedPointer< MNERawData > SPtr
std::unique_ptr< MNELIB::MNEProjOp > proj
std::unique_ptr< QFile > file
std::unique_ptr< MNELIB::MNECTFCompDataSet > comp
std::unique_ptr< FilterData > filter_data
void add_filter_response(int *highpass_effective)
int compensate_buffer(MNERawBufDef *buf)
int pick_data_proj(mneChSelection sel, int firsts, int ns, float **picked)
QSharedPointer< const MNERawData > ConstSPtr
QStringList ch_names
Eigen::VectorXi bad
std::unique_ptr< RingBuffer > filt_ring
std::unique_ptr< MNELIB::MNERawInfo > info
std::unique_ptr< MNELIB::MNEDeriv > deriv_matched
unsigned int dig_trigger_mask
QStringList badlist
Eigen::VectorXf offsets
std::vector< MNELIB::MNERawBufDef > filt_bufs
static MNERawData * open_file_comp(const QString &name, int omit_skip, int allow_maxshield, const MNEFilterDef &filter, int comp_set)
std::unique_ptr< MNEFilterDef > filter
int load_one_buffer(MNERawBufDef *buf)
Eigen::VectorXf first_sample_val
std::unique_ptr< MNEEventList > event_list
std::unique_ptr< MNELIB::MNEDerivSet > deriv
unsigned int max_event
std::vector< MNELIB::MNERawBufDef > bufs
int pick_data(mneChSelection sel, int firsts, int ns, float **picked)
FIFFLIB::FiffStream::SPtr stream
std::unique_ptr< MNELIB::MNESssData > sss
static MNERawData * open_file(const QString &name, int omit_skip, int allow_maxshield, const MNEFilterDef &filter)
int pick_data_filt(mneChSelection sel, int firsts, int ns, float **picked)
std::unique_ptr< RingBuffer > ring