MNE-CPP  beta 1.0
fiff_raw_data.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef FIFF_RAW_DATA_H
37 #define FIFF_RAW_DATA_H
38 
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 //*************************************************************************************************************
51 //=============================================================================================================
52 // Eigen INCLUDES
53 //=============================================================================================================
54 
55 #include <Eigen/Core>
56 #include <Eigen/SparseCore>
57 
58 
59 //*************************************************************************************************************
60 //=============================================================================================================
61 // Qt INCLUDES
62 //=============================================================================================================
63 
64 #include <QFile>
65 #include <QList>
66 #include <QSharedPointer>
67 
68 
69 //*************************************************************************************************************
70 //=============================================================================================================
71 // DEFINE NAMESPACE FIFFLIB
72 //=============================================================================================================
73 
74 namespace FIFFLIB
75 {
76 
77 class FiffRawData;
78 
79 
80 //*************************************************************************************************************
81 //=============================================================================================================
82 // USED NAMESPACES
83 //=============================================================================================================
84 
85 using namespace Eigen;
86 
87 
88 //=============================================================================================================
95 {
96 public:
97  typedef QSharedPointer<FiffRawData> SPtr;
98  typedef QSharedPointer<const FiffRawData> ConstSPtr;
100  //=========================================================================================================
104  FiffRawData();
105 
106  //=========================================================================================================
112  FiffRawData(const FiffRawData &p_FiffRawData);
113 
114  //=========================================================================================================
120  FiffRawData(QIODevice &p_IODevice);
121 
122  //=========================================================================================================
126  ~FiffRawData();
127 
128  //=========================================================================================================
132  void clear();
133 
134  //=========================================================================================================
140  inline bool isEmpty() const
141  {
142  return first_samp == -1 && info.isEmpty();
143  }
144 
145  //=========================================================================================================
159  bool read_raw_segment(MatrixXd& data, MatrixXd& times, fiff_int_t from = -1, fiff_int_t to = -1, const RowVectorXi& sel = defaultRowVectorXi);
160 
161  //=========================================================================================================
176  bool read_raw_segment(MatrixXd& data, MatrixXd& times, SparseMatrix<double>& multSegment, fiff_int_t from = -1, fiff_int_t to = -1, const RowVectorXi& sel = defaultRowVectorXi);
177 
178  //=========================================================================================================
192  bool read_raw_segment_times(MatrixXd& data, MatrixXd& times, float from, float to, const RowVectorXi& sel = defaultRowVectorXi);
193 
194 public:
197  fiff_int_t first_samp;
198  fiff_int_t last_samp;
199  RowVectorXd cals;
200  QList<FiffRawDir> rawdir;
201  MatrixXd proj;
203 };
204 
205 } // NAMESPACE
206 
207 #endif // FIFF_RAW_DATA_H
bool isEmpty() const
FIFF measurement file information.
Definition: fiff_info.h:96
QSharedPointer< const FiffRawData > ConstSPtr
Definition: fiff_raw_data.h:98
FiffRawDir class declaration.
QList< FiffRawDir > rawdir
QSharedPointer< FiffStream > SPtr
Definition: fiff_stream.h:132
FIFF raw measurement data.
Definition: fiff_raw_data.h:94
FiffInfo class declaration.
FiffStream::SPtr file
#define FIFFSHARED_EXPORT
Definition: fiff_global.h:58
FiffStream class declaration.
Fiff library export/import macros.
Definition: fiff.h:98
QSharedPointer< FiffRawData > SPtr
Definition: fiff_raw_data.h:97
CTF software compensation data.
Definition: fiff_ctf_comp.h:87