v2.0.0
Loading...
Searching...
No Matches
fiff_annotations.h
Go to the documentation of this file.
1//=============================================================================================================
24
25#ifndef FIFF_ANNOTATIONS_H
26#define FIFF_ANNOTATIONS_H
27
28//=============================================================================================================
29// INCLUDES
30//=============================================================================================================
31
32#include "fiff_global.h"
33
34//=============================================================================================================
35// QT INCLUDES
36//=============================================================================================================
37
38#include <QSharedPointer>
39#include <QString>
40#include <QStringList>
41#include <QVariantMap>
42#include <QVector>
43
44//=============================================================================================================
45// DEFINE NAMESPACE FIFFLIB
46//=============================================================================================================
47
48namespace FIFFLIB
49{
50
51//=============================================================================================================
62{
63 double onset;
64 double duration;
65 QString description;
66 QStringList channelNames;
67 QString comment;
68 QVariantMap extras;
69};
70
71//=============================================================================================================
83{
84public:
85 typedef QSharedPointer<FiffAnnotations> SPtr;
86 typedef QSharedPointer<const FiffAnnotations> ConstSPtr;
87
88 //=========================================================================================================
93
94 //=========================================================================================================
100 int size() const;
101
102 //=========================================================================================================
108 bool isEmpty() const;
109
110 //=========================================================================================================
117 const FiffAnnotation& operator[](int index) const;
118
119 //=========================================================================================================
126 FiffAnnotation& operator[](int index);
127
128 //=========================================================================================================
134 void append(const FiffAnnotation& annotation);
135
136 //=========================================================================================================
146 void append(double onset, double duration, const QString& description,
147 const QStringList& channelNames = QStringList(),
148 const QString& comment = QString());
149
150 //=========================================================================================================
156 void remove(int index);
157
158 //=========================================================================================================
162 void clear();
163
164 //=========================================================================================================
170 const QVector<FiffAnnotation>& toVector() const;
171
172 //=========================================================================================================
181 int onsetToSample(int index, double sfreq, int firstSample = 0) const;
182
183 //=========================================================================================================
192 int endToSample(int index, double sfreq, int firstSample = 0) const;
193
194 //=========================================================================================================
201 FiffAnnotations select(const QString& descriptionFilter) const;
202
203 //=========================================================================================================
210 FiffAnnotations selectByChannel(const QString& channelName) const;
211
212 //=========================================================================================================
220 FiffAnnotations crop(double tmin, double tmax) const;
221
222 //=========================================================================================================
229 static FiffAnnotations readJson(const QString& path);
230
231 //=========================================================================================================
239 static bool writeJson(const QString& path, const FiffAnnotations& annot);
240
241 //=========================================================================================================
248 static FiffAnnotations readCsv(const QString& path);
249
250 //=========================================================================================================
258 static bool writeCsv(const QString& path, const FiffAnnotations& annot);
259
260 //=========================================================================================================
267 static FiffAnnotations read(const QString& path);
268
269 //=========================================================================================================
277 static bool write(const QString& path, const FiffAnnotations& annot);
278
279private:
280 QVector<FiffAnnotation> m_annotations;
281};
282
283} // namespace FIFFLIB
284
285#endif // FIFF_ANNOTATIONS_H
Export/import macros and build-info accessors for the FIFFLIB shared library.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:44
FIFF file I/O, in-memory data structures and high-level readers/writers.
One FIFF / MNE annotation: onset (s), duration (s) and description string.
int onsetToSample(int index, double sfreq, int firstSample=0) const
static FiffAnnotations readCsv(const QString &path)
const QVector< FiffAnnotation > & toVector() const
FiffAnnotations selectByChannel(const QString &channelName) const
FiffAnnotations select(const QString &descriptionFilter) const
static FiffAnnotations read(const QString &path)
static bool write(const QString &path, const FiffAnnotations &annot)
QSharedPointer< FiffAnnotations > SPtr
static bool writeJson(const QString &path, const FiffAnnotations &annot)
int endToSample(int index, double sfreq, int firstSample=0) const
static bool writeCsv(const QString &path, const FiffAnnotations &annot)
static FiffAnnotations readJson(const QString &path)
void append(const FiffAnnotation &annotation)
FiffAnnotations crop(double tmin, double tmax) const
const FiffAnnotation & operator[](int index) const
QSharedPointer< const FiffAnnotations > ConstSPtr