MNE-CPP  0.1.9
A Framework for Electrophysiology
fiff_raw_data.h
Go to the documentation of this file.
1 //=============================================================================================================
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 
63 //=============================================================================================================
64 // DEFINE NAMESPACE FIFFLIB
65 //=============================================================================================================
66 
67 namespace FIFFLIB
68 {
69 
70 class FiffRawData;
71 
72 //=============================================================================================================
79 {
80 public:
81  typedef QSharedPointer<FiffRawData> SPtr;
82  typedef QSharedPointer<const FiffRawData> ConstSPtr;
84  //=========================================================================================================
88  FiffRawData();
89 
90  //=========================================================================================================
96  FiffRawData(const FiffRawData &p_FiffRawData);
97 
98  //=========================================================================================================
104  FiffRawData(QIODevice &p_IODevice);
105 
106  FiffRawData(QIODevice &p_IODevice, bool b_littleEndian);
107 
108  //=========================================================================================================
112  ~FiffRawData();
113 
114  //=========================================================================================================
118  void clear();
119 
120  //=========================================================================================================
126  inline bool isEmpty() const
127  {
128  return first_samp == -1 && info.isEmpty();
129  }
130 
131  //=========================================================================================================
145  bool read_raw_segment(Eigen::MatrixXd& data,
146  Eigen::MatrixXd& times,
147  fiff_int_t from = -1,
148  fiff_int_t to = -1,
149  const Eigen::RowVectorXi& sel = defaultRowVectorXi,
150  bool do_debug = false) const;
151 
152  //=========================================================================================================
167  bool read_raw_segment(Eigen::MatrixXd& data,
168  Eigen::MatrixXd& times,
169  Eigen::SparseMatrix<double>& multSegment,
170  fiff_int_t from = -1,
171  fiff_int_t to = -1,
172  const Eigen::RowVectorXi& sel = defaultRowVectorXi,
173  bool do_debug = false) const;
174 
175  //=========================================================================================================
189  bool read_raw_segment_times(Eigen::MatrixXd& data,
190  Eigen::MatrixXd& times,
191  float from,
192  float to,
193  const Eigen::RowVectorXi& sel = defaultRowVectorXi) const;
194 
195 public:
198  fiff_int_t first_samp;
199  fiff_int_t last_samp;
200  Eigen::RowVectorXd cals;
201  QList<FiffRawDir> rawdir;
202  Eigen::MatrixXd proj;
205 };
206 } // NAMESPACE
207 
208 #endif // FIFF_RAW_DATA_H
FIFFLIB::FiffRawData::first_samp
fiff_int_t first_samp
Definition: fiff_raw_data.h:198
FIFFLIB::FiffRawData::rawdir
QList< FiffRawDir > rawdir
Definition: fiff_raw_data.h:201
FIFFLIB::FiffRawData
FIFF raw measurement data.
Definition: fiff_raw_data.h:78
FIFFLIB::FiffRawData::SPtr
QSharedPointer< FiffRawData > SPtr
Definition: fiff_raw_data.h:81
FIFFLIB::FiffStream::SPtr
QSharedPointer< FiffStream > SPtr
Definition: fiff_stream.h:107
FIFFLIB::FiffCtfComp
CTF software compensation data.
Definition: fiff_ctf_comp.h:73
FIFFLIB::FiffInfo
FIFF measurement file information.
Definition: fiff_info.h:84
FIFFLIB::FiffRawData::proj
Eigen::MatrixXd proj
Definition: fiff_raw_data.h:202
fiff_stream.h
FiffStream class declaration.
FIFFLIB::FiffRawData::ConstSPtr
QSharedPointer< const FiffRawData > ConstSPtr
Definition: fiff_raw_data.h:82
fiff_raw_dir.h
FiffRawDir class declaration.
FIFFLIB::FiffRawData::isEmpty
bool isEmpty() const
Definition: fiff_raw_data.h:126
FIFFSHARED_EXPORT
#define FIFFSHARED_EXPORT
Definition: fiff_global.h:56
fiff_info.h
FiffInfo class declaration.
fiff_global.h
Fiff library export/import macros.
FIFFLIB::FiffRawData::info
FiffInfo info
Definition: fiff_raw_data.h:197
FIFFLIB::FiffRawData::cals
Eigen::RowVectorXd cals
Definition: fiff_raw_data.h:200
FIFFLIB::FiffRawData::file
FiffStream::SPtr file
Definition: fiff_raw_data.h:196
FIFFLIB::FiffRawData::last_samp
fiff_int_t last_samp
Definition: fiff_raw_data.h:199
FIFFLIB::FiffRawData::comp
FiffCtfComp comp
Definition: fiff_raw_data.h:203