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//=============================================================================================================
60{
61 double onset;
62 double duration;
63 QString description;
64 QStringList channelNames;
65 QString comment;
66 QVariantMap extras;
67};
68
69//=============================================================================================================
79{
80public:
81 typedef QSharedPointer<FiffAnnotations> SPtr;
82 typedef QSharedPointer<const FiffAnnotations> ConstSPtr;
83
84 //=========================================================================================================
89
90 //=========================================================================================================
96 int size() const;
97
98 //=========================================================================================================
104 bool isEmpty() const;
105
106 //=========================================================================================================
113 const FiffAnnotation& operator[](int index) const;
114
115 //=========================================================================================================
122 FiffAnnotation& operator[](int index);
123
124 //=========================================================================================================
130 void append(const FiffAnnotation& annotation);
131
132 //=========================================================================================================
142 void append(double onset, double duration, const QString& description,
143 const QStringList& channelNames = QStringList(),
144 const QString& comment = QString());
145
146 //=========================================================================================================
152 void remove(int index);
153
154 //=========================================================================================================
158 void clear();
159
160 //=========================================================================================================
166 const QVector<FiffAnnotation>& toVector() const;
167
168 //=========================================================================================================
177 int onsetToSample(int index, double sfreq, int firstSample = 0) const;
178
179 //=========================================================================================================
188 int endToSample(int index, double sfreq, int firstSample = 0) const;
189
190 //=========================================================================================================
197 FiffAnnotations select(const QString& descriptionFilter) const;
198
199 //=========================================================================================================
206 FiffAnnotations selectByChannel(const QString& channelName) const;
207
208 //=========================================================================================================
216 FiffAnnotations crop(double tmin, double tmax) const;
217
218 //=========================================================================================================
225 static FiffAnnotations readJson(const QString& path);
226
227 //=========================================================================================================
235 static bool writeJson(const QString& path, const FiffAnnotations& annot);
236
237 //=========================================================================================================
244 static FiffAnnotations readCsv(const QString& path);
245
246 //=========================================================================================================
254 static bool writeCsv(const QString& path, const FiffAnnotations& annot);
255
256 //=========================================================================================================
263 static FiffAnnotations read(const QString& path);
264
265 //=========================================================================================================
273 static bool write(const QString& path, const FiffAnnotations& annot);
274
275private:
276 QVector<FiffAnnotation> m_annotations;
277};
278
279} // namespace FIFFLIB
280
281#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