Initial commit

This commit is contained in:
redclawsystems
2026-03-04 00:08:42 +00:00
commit 4d88dc0584
4449 changed files with 1556714 additions and 0 deletions
@@ -0,0 +1,35 @@
//! 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};