1 unstable release
| 0.1.0 | Jul 2, 2025 |
|---|
#1569 in Parser implementations
180KB
1.5K
SLoC
EDF+ Library for Rust
一个纯Rust实现的EDF+(欧洲数据格式增强版)文件读写库,专注于提供安全、高效的API。
📖 完整文档
文档包含:
- 🚀 快速开始指南
- 📚 详细API参考
- 💡 最佳实践和常见陷阱
- 🧪 经过编译验证的代码示例
- 🔧 高级用法和性能优化
快速预览
use edfplus::{EdfReader, EdfWriter, SignalParam};
// 读取EDF+文件
let mut reader = EdfReader::open("data.edf")?;
let samples = reader.read_physical_samples(0, 1000)?;
// 创建EDF+文件
let mut writer = EdfWriter::create("output.edf")?;
writer.add_signal(SignalParam::new_eeg("EEG Fp1", 256))?;
writer.write_samples(&[samples])?;
writer.finalize()?;
- 使用reader查看文件的详细写法请参考EdfReader
- 使用writer写入文件的详细写法请参考EdfWriter
- 写入注释(事件标记)请参考add_annotation
- 常用的写入样本方法与其限制请参考write_samples
安装
[dependencies]
edfplus = "0.1.0"
特性
- ✅ 完整的EDF+读写支持
- ✅ 类型安全的API设计
- ✅ 内存高效的流式处理
- ✅ 丰富的元数据支持
- ✅ 时间精确的注释系统
示例
查看 examples/ 目录:
# 生成测试文件
cargo run --example generate_test_file
# 基本读取示例
cargo run --example basic_example
# 注释使用最佳实践
cargo run --example annotation_best_practices
⚠️ 重要提醒
- 注释限制: 描述最多40字符,且必须在数据时间范围内,具体限制请参考add_annotation
- 写入限制: 不支持回溯修改已写入的数据,原因请参考write_samples
许可证
本项目采用 BSD-3-Clause 许可证。
贡献
欢迎提交issue和pull request!
致谢
本库参考了原始的EDFlib C库的设计思想,但采用了现代Rust的最佳实践重新实现。
💡 提示: 本README仅提供快速概览。完整的使用指南、API文档和最佳实践请访问在线文档。
Dependencies
~1.1–1.8MB
~32K SLoC