v2.0.0
Loading...
Searching...
No Matches
mna_file_ref.h File Reference

Reference to a file inside an MNA project — relative path, semantic role, SHA-256 hash, and optional embedded payload. More...

#include "mna_global.h"
#include "mna_types.h"
#include <QString>
#include <QByteArray>
#include <QJsonObject>
#include <QCborMap>
#include <QSet>
Include dependency graph for mna_file_ref.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MNALIB::MnaFileRef

Namespaces

namespace  MNALIB
 MNE Analysis Container Format (mna/mnx).

Detailed Description

Reference to a file inside an MNA project — relative path, semantic role, SHA-256 hash, and optional embedded payload.

SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors

Author
Christoph Dinh chris.nosp@m.toph.nosp@m..dinh.nosp@m.@mne.nosp@m.-cpp..nosp@m.org
Since
2.2.0
Date
April 2026

MnaFileRef is the leaf node of an MNA project tree. Every raw recording, forward/inverse operator, covariance matrix, BEM model or annotation that belongs to a subject is recorded as one of these structures, never as a bare path string, so the container always knows what the file is (via MnaFileRole), what format it carries (FIFF, MGH, STC, …), how big it is, and whether its bytes have changed since the project was last saved.

The sha256 field is the contract that makes pipelines reproducible: the graph executor refuses to consume an input whose digest no longer matches and downstream cached results are invalidated automatically. The embedded flag plus inline data buffer let a project be self-contained when shipped to a collaborator (think "single-file analysis bundle"), at the cost of larger container size. extras preserves any keys produced by newer tooling so old readers can still round-trip projects without dropping unknown metadata.

Definition in file mna_file_ref.h.