v2.0.0
Loading...
Searching...
No Matches
fiff_io.h
Go to the documentation of this file.
1//=============================================================================================================
27
28#ifndef FIFF_IO_H
29#define FIFF_IO_H
30
31//=============================================================================================================
32// INCLUDES
33//=============================================================================================================
34
35#include "fiff_global.h"
36#include "fiff_info.h"
37#include "fiff_types.h"
38
39#include "fiff_raw_data.h"
40#include "fiff_evoked.h"
41
42#include "fiff_stream.h"
43
44//=============================================================================================================
45// QT INCLUDES
46//=============================================================================================================
47
48#include <QList>
49#include <QFile>
50#include <QIODevice>
51#include <QSharedPointer>
52#include <QDebug>
53
54//=============================================================================================================
55// DEFINE NAMESPACE FIFFLIB
56//=============================================================================================================
57
58namespace FIFFLIB
59{
60
61//=============================================================================================================
71class FIFFSHARED_EXPORT FiffIO : public QObject
72{
73public:
74// enum Type {
75// _RAW = FIFFB_RAW_DATA, //102
76// _EVOKED = FIFFB_EVOKED, //104
77// _PROJ = FIFFB_PROJ, //313
78// _FWD = FIFFB_MNE_FORWARD_SOLUTION, //352
79// _COV = FIFFB_MNE_COV, //355
80// _NAMED_MATRIX = FIFFB_MNE_NAMED_MATRIX //357
81// };
82
83 //=========================================================================================================
88 FiffIO();
89
90 //=========================================================================================================
94 ~FiffIO();
95
96 //=========================================================================================================
102 FiffIO(QIODevice& pIODevice);
103
104 //=========================================================================================================
110 FiffIO(QList<QIODevice*>& p_qlistIODevices);
111
112 //=========================================================================================================
118 FiffIO(const FiffIO& p_FiffIO);
119
120 //=========================================================================================================
130 static bool setup_read(QIODevice& pIODevice,
131 FiffInfo& info,
132 FiffDirNode::SPtr& dirTree);
133
134 //=========================================================================================================
140 bool read(QIODevice& pIODevice);
141
142 //=========================================================================================================
148 bool read(QList<QIODevice>& p_qlistIODevices);
149
150 //=========================================================================================================
160 bool write(QIODevice& pIODevice,
161 const fiff_int_t type,
162 const fiff_int_t idx) const;
163
164 //=========================================================================================================
174 bool write(QFile& p_QFile,
175 const fiff_int_t type,
176 const fiff_int_t idx) const;
177
178 //=========================================================================================================
187 bool write_raw(QIODevice& pIODevice,
188 const fiff_int_t idx) const;
189
190 //=========================================================================================================
199
200 friend std::ostream& operator<<(std::ostream& out,
201 const FiffIO &p_fiffIO) {
202 out << "\n\n---------------------- Fiff data read summary ---------------------- " << std::endl;
203 out << "fiff data contains" << std::endl;
204 out << p_fiffIO.m_qlistRaw.size() << " raw data sets" << std::endl;
205 out << p_fiffIO.m_qlistEvoked.size() << " evoked sets" << std::endl;
206// out << p_fiffIO.m_qlistFwd.size() << " forward solutions" << std::endl;
207 return out;
208 }
209
210public:
211 QList<QSharedPointer<FiffRawData> > m_qlistRaw;
212 QList<QSharedPointer<FiffEvoked> > m_qlistEvoked;
213// QList<QSharedPointer<MNEForwardSolution> > m_qlistFwd;
214 //FiffCov, MNEInverseOperator, FsAnnotationSet,
215};
216
217//=============================================================================================================
218// INLINE DEFINITIONS
219//=============================================================================================================
220
221} // NAMESPACE
222
223#endif // FIFF_IO_H
FIFF continuous raw recording: FiffInfo plus a directory of FIFF_DATA_BUFFER tags for random-access s...
Full FIFF measurement metadata: everything from FIFFB_MEAS / FIFFB_MEAS_INFO needed to interpret a re...
Export/import macros and build-info accessors for the FIFFLIB shared library.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:44
Single averaged evoked response: time axis, samples, baseline, channel info and processing history.
FIFF binary tag-stream layer: wraps a QIODevice to read and write FIFF tags, directories,...
Primitive scalar typedefs and forward-compatible aliases backing the FIFF type system.
FIFF file I/O, in-memory data structures and high-level readers/writers.
bool write(QIODevice &pIODevice, const fiff_int_t type, const fiff_int_t idx) const
Definition fiff_io.cpp:183
QList< QSharedPointer< FiffEvoked > > m_qlistEvoked
Definition fiff_io.h:212
bool read(QIODevice &pIODevice)
Definition fiff_io.cpp:103
friend std::ostream & operator<<(std::ostream &out, const FiffIO &p_fiffIO)
Definition fiff_io.h:200
bool write_raw(QIODevice &pIODevice, const fiff_int_t idx) const
Definition fiff_io.cpp:240
FiffIO(const FiffIO &p_FiffIO)
bool read(QList< QIODevice > &p_qlistIODevices)
static bool setup_read(QIODevice &pIODevice, FiffInfo &info, FiffDirNode::SPtr &dirTree)
Definition fiff_io.cpp:81
FiffIO()
Definition fiff_io.cpp:51
QList< QSharedPointer< FiffRawData > > m_qlistRaw
Definition fiff_io.h:211