36 lines
1015 B
Rust
36 lines
1015 B
Rust
//! FIF (FIFF - Functional Imaging File Format) reader.
|
|
//!
|
|
//! FIF is the native format for Elekta/Neuromag MEG systems.
|
|
//! It uses a tag-based hierarchical structure with blocks containing
|
|
//! measurement info, raw data, and various metadata.
|
|
//!
|
|
//! ## Format Overview
|
|
//!
|
|
//! - **Tag-Based**: Data organized as Type-Length-Value (TLV) tags
|
|
//! - **Hierarchical**: Nested blocks (MEAS_INFO, RAW_DATA, etc.)
|
|
//! - **Binary**: Little-endian, multiple data types
|
|
//! - **Split Files**: Large recordings split across multiple files
|
|
//!
|
|
//! ## Usage
|
|
//!
|
|
//! ```rust,ignore
|
|
//! use rtx_neuro_io::fif::FifReader;
|
|
//!
|
|
//! let reader = FifReader::open("sample_raw.fif")?;
|
|
//! let info = reader.info();
|
|
//! let data = reader.read_raw_data(0.0, 10.0)?;
|
|
//! ```
|
|
//!
|
|
//! ## References
|
|
//!
|
|
//! - MNE-Python FIFF implementation
|
|
//! - <https://github.com/mne-tools/fiff-constants>
|
|
|
|
mod constants;
|
|
mod reader;
|
|
mod tag;
|
|
|
|
pub use constants::*;
|
|
pub use reader::{FifChannel, FifInfo, FifReader};
|
|
pub use tag::{FifDataType, FifTag};
|