# RTX-Neuro Python High-performance MEG/EEG analysis library with Python bindings. RTX-Neuro provides Rust-powered neuroimaging analysis with a Python-friendly API, offering significant performance improvements over pure Python implementations. ## Installation ### From PyPI (when published) ```bash pip install rtx-neuro ``` ### From Source ```bash cd crates/specialized/rtx-neuro-python # Development build (editable) maturin develop # Release build maturin build --release pip install target/wheels/rtx_neuro-*.whl ``` ## Quick Start ```python import rtx_neuro as rtx import numpy as np # Read MEG/EEG data raw = rtx.io.read_raw_edf("recording.edf") print(f"Channels: {raw.n_channels}, Sample rate: {raw.sfreq} Hz") # Get data as numpy array data = raw.get_data(tmin=0.0, tmax=10.0) # Statistical analysis t_stat, p_value = rtx.stats.ttest_1samp(data[0], popmean=0.0) # Multiple comparison correction p_values = np.array([0.01, 0.04, 0.03, 0.20, 0.001]) rejected, corrected = rtx.stats.fdr_correction(p_values, alpha=0.05) ``` ## Supported File Formats | Format | Function | Description | |--------|----------|-------------| | EDF/EDF+ | `read_raw_edf()` | European Data Format | | FIF | `read_raw_fif()` | Elekta/Neuromag MEG | | CTF | `read_raw_ctf()` | CTF MEG (.ds directories) | | BTi | `read_raw_bti()` | 4D-Neuroimaging/BTi MEG | | KIT | `read_raw_kit()` | Yokogawa/KIT/Ricoh MEG | | EGI | `read_raw_egi()` | EGI (.raw, .mff) | ## Statistical Functions ### Parametric Tests - `ttest_1samp(data, popmean)` - One-sample t-test - `ttest_ind(a, b)` - Independent samples t-test (Welch's) - `ttest_rel(a, b)` - Paired samples t-test ### Non-parametric Tests - `permutation_t_test(a, b, n_permutations, seed)` - Permutation test ### Multiple Comparison Correction - `fdr_correction(p_values, alpha)` - Benjamini-Hochberg FDR - `bonferroni_correction(p_values, alpha)` - Bonferroni correction ## Examples See the `examples/` directory for complete tutorials: - `quickstart.py` - Getting started guide - `reading_data.py` - Reading various file formats - `statistical_tests.py` - Statistical analysis workflows ## Performance RTX-Neuro leverages Rust's performance advantages: - Native compiled code (10-100x faster than pure Python) - Parallel processing with Rayon - Memory-efficient data structures - Zero-copy numpy array transfers where possible ## API Reference ### RawData Object Properties: - `sfreq` - Sampling frequency (Hz) - `n_channels` - Number of channels - `n_samples` - Number of samples - `duration` - Recording duration (seconds) - `ch_names` - List of channel names - `path` - File path Methods: - `get_data(tmin=None, tmax=None)` - Get data as numpy array - `pick_channels(ch_names)` - Get indices for channel names ## Requirements - Python >= 3.8 - NumPy >= 1.20 ## Building from Source Requirements: - Rust >= 1.70 - maturin >= 1.0 - Python development headers ```bash # Install maturin pip install maturin # Build and install cd crates/specialized/rtx-neuro-python maturin develop # Development mode # or maturin build --release # Release wheel ``` ## License MIT OR Apache-2.0