v2.0.0
Loading...
Searching...
No Matches
fiff_annotations.h
Go to the documentation of this file.
1//=============================================================================================================
34
35#ifndef FIFF_ANNOTATIONS_H
36#define FIFF_ANNOTATIONS_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
42#include "fiff_global.h"
43
44//=============================================================================================================
45// QT INCLUDES
46//=============================================================================================================
47
48#include <QSharedPointer>
49#include <QString>
50#include <QStringList>
51#include <QVariantMap>
52#include <QVector>
53
54//=============================================================================================================
55// DEFINE NAMESPACE FIFFLIB
56//=============================================================================================================
57
58namespace FIFFLIB
59{
60
61//=============================================================================================================
66{
67 double onset;
68 double duration;
69 QString description;
70 QStringList channelNames;
71 QString comment;
72 QVariantMap extras;
73};
74
75//=============================================================================================================
80{
81public:
82 typedef QSharedPointer<FiffAnnotations> SPtr;
83 typedef QSharedPointer<const FiffAnnotations> ConstSPtr;
84
85 //=========================================================================================================
90
91 //=========================================================================================================
97 int size() const;
98
99 //=========================================================================================================
105 bool isEmpty() const;
106
107 //=========================================================================================================
114 const FiffAnnotation& operator[](int index) const;
115
116 //=========================================================================================================
123 FiffAnnotation& operator[](int index);
124
125 //=========================================================================================================
131 void append(const FiffAnnotation& annotation);
132
133 //=========================================================================================================
143 void append(double onset, double duration, const QString& description,
144 const QStringList& channelNames = QStringList(),
145 const QString& comment = QString());
146
147 //=========================================================================================================
153 void remove(int index);
154
155 //=========================================================================================================
159 void clear();
160
161 //=========================================================================================================
167 const QVector<FiffAnnotation>& toVector() const;
168
169 //=========================================================================================================
178 int onsetToSample(int index, double sfreq, int firstSample = 0) const;
179
180 //=========================================================================================================
189 int endToSample(int index, double sfreq, int firstSample = 0) const;
190
191 //=========================================================================================================
198 FiffAnnotations select(const QString& descriptionFilter) const;
199
200 //=========================================================================================================
207 FiffAnnotations selectByChannel(const QString& channelName) const;
208
209 //=========================================================================================================
217 FiffAnnotations crop(double tmin, double tmax) const;
218
219 //=========================================================================================================
226 static FiffAnnotations readJson(const QString& path);
227
228 //=========================================================================================================
236 static bool writeJson(const QString& path, const FiffAnnotations& annot);
237
238 //=========================================================================================================
245 static FiffAnnotations readCsv(const QString& path);
246
247 //=========================================================================================================
255 static bool writeCsv(const QString& path, const FiffAnnotations& annot);
256
257 //=========================================================================================================
264 static FiffAnnotations read(const QString& path);
265
266 //=========================================================================================================
274 static bool write(const QString& path, const FiffAnnotations& annot);
275
276private:
277 QVector<FiffAnnotation> m_annotations;
278};
279
280} // namespace FIFFLIB
281
282#endif // FIFF_ANNOTATIONS_H
Fiff library export/import macros.
#define FIFFSHARED_EXPORT
Definition fiff_global.h:52
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
Single annotation entry.
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