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
77//=============================================================================================================
78// DEFINE NAMESPACE MNELIB
79//=============================================================================================================
80
81namespace MNELIB
82{
83
84//=============================================================================================================
85// FORWARD DECLARATIONS
86//=============================================================================================================
87
88struct RingBuffer;
89struct FilterData;
90
91//=============================================================================================================
98{
99public:
100 typedef QSharedPointer<MNERawData> SPtr;
101 typedef QSharedPointer<const MNERawData> ConstSPtr;
102
103 //=========================================================================================================
108 MNERawData();
109
110 //=========================================================================================================
115 ~MNERawData();
116
123 void add_filter_response(int *highpass_effective);
124
130 void setup_filter_bufs();
131
141
151
165 int firsts,
166 int ns,
167 float **picked);
168
181 int firsts,
182 int ns,
183 float **picked);
184
194
208 int firsts,
209 int ns,
210 float **picked);
211
226 static MNERawData* open_file_comp(const QString& name, int omit_skip, int allow_maxshield, const MNEFilterDef& filter, int comp_set);
227
239 static MNERawData* open_file(const QString& name, int omit_skip, int allow_maxshield, const MNEFilterDef& filter);
240
241public:
242 QString filename;
243 // FIFFLIB::fiffFile file;
245 std::unique_ptr<MNELIB::MNERawInfo> info;
246 QStringList ch_names;
247 QStringList badlist;
248 int nbad;
249 Eigen::VectorXi bad;
250 std::vector<MNELIB::MNERawBufDef> bufs;
251 std::vector<MNELIB::MNERawBufDef> filt_bufs;
256 int nsamp;
257 Eigen::VectorXf first_sample_val;
258 std::unique_ptr<MNELIB::MNEProjOp> proj;
259 std::unique_ptr<MNELIB::MNESssData> sss;
260 std::unique_ptr<MNELIB::MNECTFCompDataSet> comp;
263 std::unique_ptr<MNEFilterDef> filter;
264 std::unique_ptr<FilterData> filter_data;
265 std::unique_ptr<MNEEventList> event_list;
266 unsigned int max_event;
267 QString dig_trigger;
268 unsigned int dig_trigger_mask;
269 Eigen::VectorXf offsets;
270 std::unique_ptr<RingBuffer> ring;
271 std::unique_ptr<RingBuffer> filt_ring;
272 std::unique_ptr<MNELIB::MNEDerivSet> deriv;
273 std::unique_ptr<MNELIB::MNEDeriv> deriv_matched;
274};
275
276//=============================================================================================================
277// INLINE DEFINITIONS
278//=============================================================================================================
279} // NAMESPACE MNELIB
280
281#endif // MNERAWDATA_H
FiffStream class declaration.
FiffDirNode class declaration, which provides fiff dir tree processing methods.
MNECTFCompDataSet class declaration.
MNEProjOp class declaration.
mne library export/import macros.
#define MNESHARED_EXPORT
Definition mne_global.h:52
MNERawBufDef class declaration.
Legacy MNE-C constants and common typedefs.
MNE Derivation (MNEDeriv) class declaration.
MNE Derivation Set (MNEDerivSet) class declaration.
MNERawInfo class declaration.
MNE SSS Data (MNESssData) 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< 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