MNE-CPP  0.1.9
A Framework for Electrophysiology
fiff_io.h
Go to the documentation of this file.
1 //=============================================================================================================
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 
68 namespace RTPROCESSINGLIB
69 {
70  class FilterKernel;
71 }
72 
73 //=============================================================================================================
74 // DEFINE NAMESPACE FIFFLIB
75 //=============================================================================================================
76 
77 namespace FIFFLIB
78 {
79 
80 class FIFFSHARED_EXPORT FiffIO : public QObject
81 {
82 public:
83 // enum Type {
84 // _RAW = FIFFB_RAW_DATA, //102
85 // _EVOKED = FIFFB_EVOKED, //104
86 // _PROJ = FIFFB_PROJ, //313
87 // _FWD = FIFFB_MNE_FORWARD_SOLUTION, //352
88 // _COV = FIFFB_MNE_COV, //355
89 // _NAMED_MATRIX = FIFFB_MNE_NAMED_MATRIX //357
90 // };
91 
92  //=========================================================================================================
97  FiffIO();
98 
99  //=========================================================================================================
103  ~FiffIO();
104 
105  //=========================================================================================================
111  FiffIO(QIODevice& pIODevice);
112 
113  //=========================================================================================================
119  FiffIO(QList<QIODevice*>& p_qlistIODevices);
120 
121  //=========================================================================================================
127  FiffIO(const FiffIO& p_FiffIO);
128 
129  //=========================================================================================================
139  static bool setup_read(QIODevice& pIODevice,
140  FiffInfo& info,
141  FiffDirNode::SPtr& dirTree);
142 
143  //=========================================================================================================
149  bool read(QIODevice& pIODevice);
150 
151  //=========================================================================================================
157  bool read(QList<QIODevice>& p_qlistIODevices);
158 
159  //=========================================================================================================
168  bool write(QIODevice& pIODevice,
169  const fiff_int_t type,
170  const fiff_int_t idx) const;
171 
172  //=========================================================================================================
180  bool write(QFile& p_QFile,
181  const fiff_int_t type,
182  const fiff_int_t idx) const;
183 
184  //=========================================================================================================
192  bool write_raw(QIODevice& pIODevice,
193  const fiff_int_t idx) const;
194 
195  //=========================================================================================================
202  friend std::ostream& operator<<(std::ostream& out,
203  const FiffIO &p_fiffIO) {
204  out << "\n\n---------------------- Fiff data read summary ---------------------- " << std::endl;
205  out << "fiff data contains" << std::endl;
206  out << p_fiffIO.m_qlistRaw.size() << " raw data sets" << std::endl;
207  out << p_fiffIO.m_qlistEvoked.size() << " evoked sets" << std::endl;
208 // out << p_fiffIO.m_qlistFwd.size() << " forward solutions" << std::endl;
209  return out;
210  }
211 
212 public:
213  QList<QSharedPointer<FiffRawData> > m_qlistRaw;
214  QList<QSharedPointer<FiffEvoked> > m_qlistEvoked;
215 // QList<QSharedPointer<MNEForwardSolution> > m_qlistFwd;
216  //FiffCov, MNEInverseOperator, AnnotationSet,
217 };
218 
219 //=============================================================================================================
220 // INLINE DEFINITIONS
221 //=============================================================================================================
222 
223 } // NAMESPACE
224 
225 #endif // FIFF_IO_H
FIFFLIB::FiffIO
Definition: fiff_io.h:80
FIFFLIB::FiffInfo
FIFF measurement file information.
Definition: fiff_info.h:84
FIFFLIB::FiffDirNode::SPtr
QSharedPointer< FiffDirNode > SPtr
Definition: fiff_dir_node.h:76
fiff_stream.h
FiffStream class declaration.
FIFFLIB::FiffIO::operator<<
friend std::ostream & operator<<(std::ostream &out, const FiffIO &p_fiffIO)
Definition: fiff_io.h:202
fiff_evoked.h
FiffEvoked class declaration.
FIFFSHARED_EXPORT
#define FIFFSHARED_EXPORT
Definition: fiff_global.h:56
fiff_info.h
FiffInfo class declaration.
fiff_global.h
Fiff library export/import macros.
fiff_types.h
Definitions for describing the objects in a FIFF file.
fiff_raw_data.h
FiffRawData class declaration.