6 releases
0.1.5 | Feb 27, 2024 |
---|---|
0.1.4 | Feb 13, 2024 |
0.1.3 | Jan 5, 2024 |
0.1.1 | Dec 26, 2023 |
#305 in Biology
141 downloads per month
78KB
2K
SLoC
bvreader
This crate provides a basic reader for BrainVision Recorder Files (.vhdr/.vmrk/.eeg)
ONLY FOR HEADER VERSION 1.0
Does not include full list of options but is extendable.
In order to keep it simple all types (FLOAT32, INT16, UINT16) convert to f32.
Only implements processing for Timedomain Data
.
Usage
use crate::bvreader::bv_reader::BVFile;
let headerfile = "src/bv_reader/data/testfiles/01_header.vhdr";
let mut metafile = BVFile::from_header(headerfile).unwrap();
// metafile.bv_header contains the struct with header information
// metafile.bv_data contains the data and some extra information
// metafile.bv_marker contains the marker events
// metafile.bv_data.data contains the sample values in a vec of channels, that each contain a vec of sample values as f32.
// Optionally validate the BVFile struct (checks if number of channels is consistent across all entries)
metafile.validate().unwrap();
// scale data according to the resolution
metafile.bv_data.scale_channels(&metafile.bv_header.channel_info).unwrap();
Future ideas
-
.ini based parser instead of regex?
-
more options from specification / shortend version
Please report any issues you may encounter.
Suggestions and contributions are also welcome!
Dependencies
~8–18MB
~249K SLoC