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
FiffDirNode class declaration, which provides fiff dir tree processing methods.
FiffStream class declaration.
Legacy MNE-C constants and common typedefs.
MNE SSS Data (MNESssData) class declaration.
MNE Derivation Set (MNEDerivSet) class declaration.
mne library export/import macros.
#define MNESHARED_EXPORT
Definition mne_global.h:52
MNERawInfo class declaration.
MNE Derivation (MNEDeriv) class declaration.
MNEProjOp class declaration.
MNECTFCompDataSet class declaration.
MNERawBufDef 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