""" RTX-Neuro Quickstart Guide RTX-Neuro is a high-performance MEG/EEG analysis library implemented in Rust with Python bindings via PyO3. Installation: pip install rtx-neuro Or build from source: cd crates/specialized/rtx-neuro-python maturin develop # For development maturin build # For release wheel """ import rtx_neuro as rtx import numpy as np # Check version print(f"RTX-Neuro version: {rtx.__version__}") # ============================================================ # Available Modules # ============================================================ print("\nAvailable modules:") print("- rtx.io: File format readers") print("- rtx.stats: Statistical analysis") # ============================================================ # Quick Example: Complete Analysis Pipeline # ============================================================ print("\n" + "=" * 50) print("Quick Example: Statistical Analysis") print("=" * 50) # Generate synthetic data (simulating ERP amplitudes) np.random.seed(42) # Control group: N=30 subjects control = np.random.normal(loc=0.0, scale=1.0, size=30) # Treatment group: N=30 subjects with a 0.8 effect treatment = np.random.normal(loc=0.8, scale=1.0, size=30) # Perform statistical test t_stat, p_value = rtx.stats.ttest_ind(control, treatment) print(f"\nIndependent t-test:") print(f" Control mean: {np.mean(control):.3f}") print(f" Treatment mean: {np.mean(treatment):.3f}") print(f" t-statistic: {t_stat:.3f}") print(f" p-value: {p_value:.6f}") print(f" Result: {'Significant' if p_value < 0.05 else 'Not significant'} at alpha=0.05") # ============================================================ # Quick Example: Multiple Comparison Correction # ============================================================ print("\n" + "=" * 50) print("Quick Example: FDR Correction") print("=" * 50) # Simulate p-values from 50 statistical tests p_values = np.concatenate([ np.random.uniform(0.001, 0.01, 5), # 5 true effects np.random.uniform(0.1, 1.0, 45) # 45 null effects ]) np.random.shuffle(p_values) # Apply FDR correction rejected, corrected_p = rtx.stats.fdr_correction(p_values, alpha=0.05) print(f"\n50 statistical tests:") print(f" Uncorrected significant: {np.sum(p_values < 0.05)}") print(f" FDR-corrected significant: {np.sum(rejected)}") print(f" Smallest corrected p-value: {np.min(corrected_p):.6f}") # ============================================================ # API Reference # ============================================================ print("\n" + "=" * 50) print("API Reference") print("=" * 50) print(""" IO Module (rtx.io): read_raw_edf(path) - Read EDF/EDF+ files read_raw_fif(path) - Read Elekta/Neuromag FIF files read_raw_ctf(path) - Read CTF MEG datasets (.ds) read_raw_bti(path) - Read 4D-Neuroimaging/BTi data read_raw_kit(path) - Read Yokogawa/KIT data (.con, .sqd) read_raw_egi(path) - Read EGI data (.raw, .mff) RawData 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 RawData Methods: .get_data(tmin, tmax) - Get numpy array [n_channels x n_samples] .pick_channels(ch_names) - Get indices for specific channels Stats Module (rtx.stats): ttest_1samp(data, popmean=0.0) - One-sample t-test ttest_ind(a, b) - Independent samples t-test ttest_rel(a, b) - Paired samples t-test permutation_t_test(a, b, n_permutations, seed) - Permutation test fdr_correction(p_values, alpha=0.05) - FDR (BH) correction bonferroni_correction(p_values, alpha=0.05) - Bonferroni correction """) print("=" * 50) print("For more examples, see the examples/ directory.")