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//=============================================================================================================
73class FIFFSHARED_EXPORT FiffIO : public QObject
74{
75public:
76 // enum Type {
77 // _RAW = FIFFB_RAW_DATA, //102
78 // _EVOKED = FIFFB_EVOKED, //104
79 // _PROJ = FIFFB_PROJ, //313
80 // _FWD = FIFFB_MNE_FORWARD_SOLUTION, //352
81 // _COV = FIFFB_MNE_COV, //355
82 // _NAMED_MATRIX = FIFFB_MNE_NAMED_MATRIX //357
83 // };
84
85 //=========================================================================================================
90 FiffIO();
91
92 //=========================================================================================================
96 ~FiffIO();
97
98 //=========================================================================================================
104 FiffIO(QIODevice& pIODevice);
105
106 //=========================================================================================================
112 FiffIO(QList<QIODevice*>& p_qlistIODevices);
113
114 //=========================================================================================================
120 FiffIO(const FiffIO& p_FiffIO);
121
122 //=========================================================================================================
132 static bool setup_read(QIODevice& pIODevice,
133 FiffInfo& info,
134 FiffDirNode::SPtr& dirTree);
135
136 //=========================================================================================================
144 bool read(QIODevice& pIODevice);
145
146 //=========================================================================================================
154 bool read(QList<QIODevice>& p_qlistIODevices);
155
156 //=========================================================================================================
166 bool write(QIODevice& pIODevice,
167 const fiff_int_t type,
168 const fiff_int_t idx) const;
169
170 //=========================================================================================================
180 bool write(QFile& p_QFile,
181 const fiff_int_t type,
182 const fiff_int_t idx) const;
183
184 //=========================================================================================================
193 bool write_raw(QIODevice& pIODevice,
194 const fiff_int_t idx) const;
195
196 //=========================================================================================================
205
206 friend std::ostream& operator<<(std::ostream& out,
207 const FiffIO& p_fiffIO)
208 {
209 out << "\n\n---------------------- Fiff data read summary ---------------------- " << std::endl;
210 out << "fiff data contains" << std::endl;
211 out << p_fiffIO.m_qlistRaw.size() << " raw data sets" << std::endl;
212 out << p_fiffIO.m_qlistEvoked.size() << " evoked sets" << std::endl;
213 // out << p_fiffIO.m_qlistFwd.size() << " forward solutions" << std::endl;
214 return out;
215 }
216
217public:
218 QList<QSharedPointer<FiffRawData>> m_qlistRaw;
219 QList<QSharedPointer<FiffEvoked>> m_qlistEvoked;
220 // QList<QSharedPointer<MNEForwardSolution> > m_qlistFwd;
221 //FiffCov, MNEInverseOperator, FsAnnotationSet,
222};
223
224//=============================================================================================================
225// INLINE DEFINITIONS
226//=============================================================================================================
227
228} // NAMESPACE
229
230#endif // FIFF_IO_H
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,...
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
FIFF continuous raw recording: FiffInfo plus a directory of FIFF_DATA_BUFFER tags for random-access s...
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.
qint32 fiff_int_t
Definition fiff_types.h:86
QSharedPointer< FiffDirNode > SPtr
Full FIFF measurement info: per-channel descriptors, sampling and filter setup, projectors,...
Definition fiff_info.h:90
QList< QSharedPointer< FiffRawData > > m_qlistRaw
Definition fiff_io.h:218
bool write(QIODevice &pIODevice, const fiff_int_t type, const fiff_int_t idx) const
Definition fiff_io.cpp:183
FiffIO(const FiffIO &p_FiffIO)
bool read(QList< QIODevice > &p_qlistIODevices)
bool read(QIODevice &pIODevice)
Definition fiff_io.cpp:103
friend std::ostream & operator<<(std::ostream &out, const FiffIO &p_fiffIO)
Definition fiff_io.h:206
bool write_raw(QIODevice &pIODevice, const fiff_int_t idx) const
Definition fiff_io.cpp:241
QList< QSharedPointer< FiffEvoked > > m_qlistEvoked
Definition fiff_io.h:219
static bool setup_read(QIODevice &pIODevice, FiffInfo &info, FiffDirNode::SPtr &dirTree)
Definition fiff_io.cpp:81