v2.0.0
Loading...
Searching...
No Matches
fiff_raw_data.h
Go to the documentation of this file.
1//=============================================================================================================
36
37#ifndef FIFF_RAW_DATA_H
38#define FIFF_RAW_DATA_H
39
40//=============================================================================================================
41// INCLUDES
42//=============================================================================================================
43
44#include "fiff_global.h"
45#include "fiff_info.h"
46#include "fiff_raw_dir.h"
47#include "fiff_stream.h"
48
49//=============================================================================================================
50// EIGEN INCLUDES
51//=============================================================================================================
52
53#include <Eigen/Core>
54#include <Eigen/SparseCore>
55
56//=============================================================================================================
57// QT INCLUDES
58//=============================================================================================================
59
60#include <QList>
61#include <QSharedPointer>
62#include <QString>
63
64//=============================================================================================================
65// DEFINE NAMESPACE FIFFLIB
66//=============================================================================================================
67
68namespace FIFFLIB
69{
70
71class FiffRawData;
72
73//=============================================================================================================
80{
81public:
82 typedef QSharedPointer<FiffRawData> SPtr;
83 typedef QSharedPointer<const FiffRawData> ConstSPtr;
84
85 //=========================================================================================================
90
91 //=========================================================================================================
97 FiffRawData(const FiffRawData &p_FiffRawData);
98
99 //=========================================================================================================
105 FiffRawData(QIODevice &p_IODevice);
106
107 //=========================================================================================================
114 FiffRawData(QIODevice &p_IODevice, bool b_littleEndian);
115
116 //=========================================================================================================
120 ~FiffRawData();
121
122 //=========================================================================================================
126 void clear();
127
128 //=========================================================================================================
134 inline bool isEmpty() const
135 {
136 return first_samp == -1 && info.isEmpty();
137 }
138
139 //=========================================================================================================
151 bool read_raw_segment(Eigen::MatrixXd& data,
152 Eigen::MatrixXd& times,
153 fiff_int_t from = -1,
154 fiff_int_t to = -1,
155 const Eigen::RowVectorXi& sel = defaultRowVectorXi,
156 bool do_debug = false) const;
157
158 //=========================================================================================================
171 bool read_raw_segment(Eigen::MatrixXd& data,
172 Eigen::MatrixXd& times,
173 Eigen::SparseMatrix<double>& multSegment,
174 fiff_int_t from = -1,
175 fiff_int_t to = -1,
176 const Eigen::RowVectorXi& sel = defaultRowVectorXi,
177 bool do_debug = false) const;
178
179 //=========================================================================================================
191 bool read_raw_segment_times(Eigen::MatrixXd& data,
192 Eigen::MatrixXd& times,
193 float from,
194 float to,
195 const Eigen::RowVectorXi& sel = defaultRowVectorXi) const;
196
197 //=========================================================================================================
210 bool save(QIODevice &p_IODevice,
211 const Eigen::RowVectorXi &picks = Eigen::RowVectorXi(),
212 int decim = 1,
213 int from = -1,
214 int to = -1) const;
215
216public:
221 Eigen::RowVectorXd cals;
222 QList<FiffRawDir> rawdir;
223 Eigen::MatrixXd proj;
225
226};
227} // NAMESPACE
228
229#endif // FIFF_RAW_DATA_H
FiffInfo class declaration.
Fiff library export/import macros.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:52
FiffStream class declaration.
FiffRawDir class declaration.
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
qint32 fiff_int_t
Definition fiff_types.h:89
CTF software compensation data.
FIFF measurement file information.
Definition fiff_info.h:85
FIFF raw measurement data.
Eigen::RowVectorXd cals
QSharedPointer< FiffRawData > SPtr
bool read_raw_segment(Eigen::MatrixXd &data, Eigen::MatrixXd &times, fiff_int_t from=-1, fiff_int_t to=-1, const Eigen::RowVectorXi &sel=defaultRowVectorXi, bool do_debug=false) const
FiffStream::SPtr file
bool save(QIODevice &p_IODevice, const Eigen::RowVectorXi &picks=Eigen::RowVectorXi(), int decim=1, int from=-1, int to=-1) const
Eigen::MatrixXd proj
bool read_raw_segment_times(Eigen::MatrixXd &data, Eigen::MatrixXd &times, float from, float to, const Eigen::RowVectorXi &sel=defaultRowVectorXi) const
QList< FiffRawDir > rawdir
bool read_raw_segment(Eigen::MatrixXd &data, Eigen::MatrixXd &times, Eigen::SparseMatrix< double > &multSegment, fiff_int_t from=-1, fiff_int_t to=-1, const Eigen::RowVectorXi &sel=defaultRowVectorXi, bool do_debug=false) const
QSharedPointer< const FiffRawData > ConstSPtr
QSharedPointer< FiffStream > SPtr