v2.0.0
Loading...
Searching...
No Matches
fiff_io.h
Go to the documentation of this file.
1//=============================================================================================================
37
38#ifndef FIFF_IO_H
39#define FIFF_IO_H
40
41//=============================================================================================================
42// INCLUDES
43//=============================================================================================================
44
45#include "fiff_global.h"
46#include "fiff_info.h"
47#include "fiff_types.h"
48
49#include "fiff_raw_data.h"
50#include "fiff_evoked.h"
51
52#include "fiff_stream.h"
53
54//=============================================================================================================
55// QT INCLUDES
56//=============================================================================================================
57
58#include <QList>
59#include <QFile>
60#include <QIODevice>
61#include <QSharedPointer>
62#include <QDebug>
63
64//=============================================================================================================
65// FORWARD DECLARATIONS
66//=============================================================================================================
67
68namespace RTPROCESSINGLIB
69{
70 class FilterKernel;
71}
72
73//=============================================================================================================
74// DEFINE NAMESPACE FIFFLIB
75//=============================================================================================================
76
77namespace FIFFLIB
78{
79
80//=============================================================================================================
84class FIFFSHARED_EXPORT FiffIO : public QObject
85{
86public:
87// enum Type {
88// _RAW = FIFFB_RAW_DATA, //102
89// _EVOKED = FIFFB_EVOKED, //104
90// _PROJ = FIFFB_PROJ, //313
91// _FWD = FIFFB_MNE_FORWARD_SOLUTION, //352
92// _COV = FIFFB_MNE_COV, //355
93// _NAMED_MATRIX = FIFFB_MNE_NAMED_MATRIX //357
94// };
95
96 //=========================================================================================================
101 FiffIO();
102
103 //=========================================================================================================
107 ~FiffIO();
108
109 //=========================================================================================================
115 FiffIO(QIODevice& pIODevice);
116
117 //=========================================================================================================
123 FiffIO(QList<QIODevice*>& p_qlistIODevices);
124
125 //=========================================================================================================
131 FiffIO(const FiffIO& p_FiffIO);
132
133 //=========================================================================================================
143 static bool setup_read(QIODevice& pIODevice,
144 FiffInfo& info,
145 FiffDirNode::SPtr& dirTree);
146
147 //=========================================================================================================
153 bool read(QIODevice& pIODevice);
154
155 //=========================================================================================================
161 bool read(QList<QIODevice>& p_qlistIODevices);
162
163 //=========================================================================================================
173 bool write(QIODevice& pIODevice,
174 const fiff_int_t type,
175 const fiff_int_t idx) const;
176
177 //=========================================================================================================
187 bool write(QFile& p_QFile,
188 const fiff_int_t type,
189 const fiff_int_t idx) const;
190
191 //=========================================================================================================
200 bool write_raw(QIODevice& pIODevice,
201 const fiff_int_t idx) const;
202
203 //=========================================================================================================
212
213 friend std::ostream& operator<<(std::ostream& out,
214 const FiffIO &p_fiffIO) {
215 out << "\n\n---------------------- Fiff data read summary ---------------------- " << std::endl;
216 out << "fiff data contains" << std::endl;
217 out << p_fiffIO.m_qlistRaw.size() << " raw data sets" << std::endl;
218 out << p_fiffIO.m_qlistEvoked.size() << " evoked sets" << std::endl;
219// out << p_fiffIO.m_qlistFwd.size() << " forward solutions" << std::endl;
220 return out;
221 }
222
223public:
224 QList<QSharedPointer<FiffRawData> > m_qlistRaw;
225 QList<QSharedPointer<FiffEvoked> > m_qlistEvoked;
226// QList<QSharedPointer<MNEForwardSolution> > m_qlistFwd;
227 //FiffCov, MNEInverseOperator, AnnotationSet,
228};
229
230//=============================================================================================================
231// INLINE DEFINITIONS
232//=============================================================================================================
233
234} // NAMESPACE
235
236#endif // FIFF_IO_H
FiffInfo class declaration.
Fiff library export/import macros.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:52
FiffStream class declaration.
FiffRawData class declaration.
FiffEvoked class declaration.
Old fiff_type declarations - replace them.
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
qint32 fiff_int_t
Definition fiff_types.h:89
Real-time signal processing (filtering, averaging, HPI fitting, noise reduction).
QSharedPointer< FiffDirNode > SPtr
FIFF measurement file information.
Definition fiff_info.h:85
QList< QSharedPointer< FiffRawData > > m_qlistRaw
Definition fiff_io.h:224
bool write(QIODevice &pIODevice, const fiff_int_t type, const fiff_int_t idx) const
Definition fiff_io.cpp:189
FiffIO(const FiffIO &p_FiffIO)
bool read(QList< QIODevice > &p_qlistIODevices)
bool read(QIODevice &pIODevice)
Definition fiff_io.cpp:119
friend std::ostream & operator<<(std::ostream &out, const FiffIO &p_fiffIO)
Definition fiff_io.h:213
bool write_raw(QIODevice &pIODevice, const fiff_int_t idx) const
Definition fiff_io.cpp:246
QList< QSharedPointer< FiffEvoked > > m_qlistEvoked
Definition fiff_io.h:225
static bool setup_read(QIODevice &pIODevice, FiffInfo &info, FiffDirNode::SPtr &dirTree)
Definition fiff_io.cpp:97
The FilterKernel class provides methods to create/design a FIR filter kernel.