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//=============================================================================================================
63{
64public:
65 typedef QSharedPointer<MnaProject> SPtr;
66 typedef QSharedPointer<const MnaProject> ConstSPtr;
67
68 //=========================================================================================================
72 MnaProject();
73
74 //=========================================================================================================
75
76 static constexpr const char* CURRENT_SCHEMA_VERSION = "1.0";
77
78 QString name;
79 QString description;
80 QString mnaVersion;
81 QDateTime created;
82 QDateTime modified;
83 QList<MnaSubject> subjects;
84 QList<MnaNode> pipeline;
85 QJsonObject extras;
86
87 //=========================================================================================================
91 QJsonObject toJson() const;
92
93 //=========================================================================================================
97 static MnaProject fromJson(const QJsonObject& json);
98
99 //=========================================================================================================
103 QCborMap toCbor() const;
104
105 //=========================================================================================================
109 static MnaProject fromCbor(const QCborMap& cbor);
110
111 //=========================================================================================================
119 static MnaProject read(const QString& path);
120
121 //=========================================================================================================
130 static bool write(const MnaProject& project, const QString& path);
131};
132
133} // namespace MNALIB
134
135#endif // MNA_PROJECT_H
One operation in an MNA graph — opType, typed I/O ports, attributes, execution mode (Batch / Stream /...
Export/import macros, build-info accessors, and MNALIB namespace anchor for the MNE Analysis Containe...
#define MNASHARED_EXPORT
Definition mna_global.h:47
One participant in an MNA project — owner of measurement sessions and link to the FreeSurfer anatomy.
MNE Analysis Container Format (mna/mnx).
QList< MnaSubject > subjects
Definition mna_project.h:83
QJsonObject toJson() const
QSharedPointer< const MnaProject > ConstSPtr
Definition mna_project.h:66
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:85
static constexpr const char * CURRENT_SCHEMA_VERSION
Definition mna_project.h:76
QList< MnaNode > pipeline
Definition mna_project.h:84
QCborMap toCbor() const
QSharedPointer< MnaProject > SPtr
Definition mna_project.h:65