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// DEFINE NAMESPACE FIFFLIB
66//=============================================================================================================
67
68namespace FIFFLIB
69{
70
71//=============================================================================================================
75class FIFFSHARED_EXPORT FiffIO : public QObject
76{
77public:
78// enum Type {
79// _RAW = FIFFB_RAW_DATA, //102
80// _EVOKED = FIFFB_EVOKED, //104
81// _PROJ = FIFFB_PROJ, //313
82// _FWD = FIFFB_MNE_FORWARD_SOLUTION, //352
83// _COV = FIFFB_MNE_COV, //355
84// _NAMED_MATRIX = FIFFB_MNE_NAMED_MATRIX //357
85// };
86
87 //=========================================================================================================
92 FiffIO();
93
94 //=========================================================================================================
98 ~FiffIO();
99
100 //=========================================================================================================
106 FiffIO(QIODevice& pIODevice);
107
108 //=========================================================================================================
114 FiffIO(QList<QIODevice*>& p_qlistIODevices);
115
116 //=========================================================================================================
122 FiffIO(const FiffIO& p_FiffIO);
123
124 //=========================================================================================================
134 static bool setup_read(QIODevice& pIODevice,
135 FiffInfo& info,
136 FiffDirNode::SPtr& dirTree);
137
138 //=========================================================================================================
144 bool read(QIODevice& pIODevice);
145
146 //=========================================================================================================
152 bool read(QList<QIODevice>& p_qlistIODevices);
153
154 //=========================================================================================================
164 bool write(QIODevice& pIODevice,
165 const fiff_int_t type,
166 const fiff_int_t idx) const;
167
168 //=========================================================================================================
178 bool write(QFile& p_QFile,
179 const fiff_int_t type,
180 const fiff_int_t idx) const;
181
182 //=========================================================================================================
191 bool write_raw(QIODevice& pIODevice,
192 const fiff_int_t idx) const;
193
194 //=========================================================================================================
203
204 friend std::ostream& operator<<(std::ostream& out,
205 const FiffIO &p_fiffIO) {
206 out << "\n\n---------------------- Fiff data read summary ---------------------- " << std::endl;
207 out << "fiff data contains" << std::endl;
208 out << p_fiffIO.m_qlistRaw.size() << " raw data sets" << std::endl;
209 out << p_fiffIO.m_qlistEvoked.size() << " evoked sets" << std::endl;
210// out << p_fiffIO.m_qlistFwd.size() << " forward solutions" << std::endl;
211 return out;
212 }
213
214public:
215 QList<QSharedPointer<FiffRawData> > m_qlistRaw;
216 QList<QSharedPointer<FiffEvoked> > m_qlistEvoked;
217// QList<QSharedPointer<MNEForwardSolution> > m_qlistFwd;
218 //FiffCov, MNEInverseOperator, FsAnnotationSet,
219};
220
221//=============================================================================================================
222// INLINE DEFINITIONS
223//=============================================================================================================
224
225} // NAMESPACE
226
227#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
QSharedPointer< FiffDirNode > SPtr
FIFF measurement file information.
Definition fiff_info.h:86
QList< QSharedPointer< FiffRawData > > m_qlistRaw
Definition fiff_io.h:215
bool write(QIODevice &pIODevice, const fiff_int_t type, const fiff_int_t idx) const
Definition fiff_io.cpp:186
FiffIO(const FiffIO &p_FiffIO)
bool read(QList< QIODevice > &p_qlistIODevices)
bool read(QIODevice &pIODevice)
Definition fiff_io.cpp:116
friend std::ostream & operator<<(std::ostream &out, const FiffIO &p_fiffIO)
Definition fiff_io.h:204
bool write_raw(QIODevice &pIODevice, const fiff_int_t idx) const
Definition fiff_io.cpp:243
QList< QSharedPointer< FiffEvoked > > m_qlistEvoked
Definition fiff_io.h:216
static bool setup_read(QIODevice &pIODevice, FiffInfo &info, FiffDirNode::SPtr &dirTree)
Definition fiff_io.cpp:94