v2.0.0
Loading...
Searching...
No Matches
mna_project.h
Go to the documentation of this file.
1//=============================================================================================================
29
30#ifndef MNA_PROJECT_H
31#define MNA_PROJECT_H
32
33//=============================================================================================================
34// INCLUDES
35//=============================================================================================================
36
37#include "mna_global.h"
38#include "mna_subject.h"
39#include "mna_node.h"
40
41//=============================================================================================================
42// QT INCLUDES
43//=============================================================================================================
44
45#include <QString>
46#include <QList>
47#include <QDateTime>
48#include <QSharedPointer>
49#include <QJsonObject>
50#include <QCborMap>
51
52//=============================================================================================================
53// DEFINE NAMESPACE MNALIB
54//=============================================================================================================
55
56namespace MNALIB
57{
58
59//=============================================================================================================
66{
67public:
68 typedef QSharedPointer<MnaProject> SPtr;
69 typedef QSharedPointer<const MnaProject> ConstSPtr;
70
71 //=========================================================================================================
75 MnaProject();
76
77 //=========================================================================================================
78
79 static constexpr const char* CURRENT_SCHEMA_VERSION = "1.0";
80
81 QString name;
82 QString description;
83 QString mnaVersion;
84 QDateTime created;
85 QDateTime modified;
86 QList<MnaSubject> subjects;
87 QList<MnaNode> pipeline;
88 QJsonObject extras;
89
90 //=========================================================================================================
96 QJsonObject toJson() const;
97
98 //=========================================================================================================
106 static MnaProject fromJson(const QJsonObject& json);
107
108 //=========================================================================================================
114 QCborMap toCbor() const;
115
116 //=========================================================================================================
124 static MnaProject fromCbor(const QCborMap& cbor);
125
126 //=========================================================================================================
134 static MnaProject read(const QString& path);
135
136 //=========================================================================================================
145 static bool write(const MnaProject& project, const QString& path);
146};
147
148} // namespace MNALIB
149
150#endif // MNA_PROJECT_H
One participant in an MNA project — owner of measurement sessions and link to the FreeSurfer anatomy.
Export/import macros, build-info accessors, and MNALIB namespace anchor for the MNE Analysis Containe...
#define MNASHARED_EXPORT
Definition mna_global.h:47
One operation in an MNA graph — opType, typed I/O ports, attributes, execution mode (Batch / Stream /...
MNE Analysis Container Format (mna/mnx).
QList< MnaSubject > subjects
Definition mna_project.h:86
QJsonObject toJson() const
QSharedPointer< const MnaProject > ConstSPtr
Definition mna_project.h:69
static bool write(const MnaProject &project, const QString &path)
static MnaProject fromJson(const QJsonObject &json)
static MnaProject read(const QString &path)
static MnaProject fromCbor(const QCborMap &cbor)
QJsonObject extras
Definition mna_project.h:88
static constexpr const char * CURRENT_SCHEMA_VERSION
Definition mna_project.h:79
QList< MnaNode > pipeline
Definition mna_project.h:87
QCborMap toCbor() const
QSharedPointer< MnaProject > SPtr
Definition mna_project.h:68