Skip to content

Kernel236/fastEIT

fastEIT

Status Pre-Alpha
License Apache 2.0
Python Python
Coverage codecov
CI / CD Tests Lint Build deploy

Python library for parsing Electrical Impedance Tomography (EIT) data from the Dräger PulmoVista 500. Provides structured data containers for research in mechanical ventilation and lung monitoring.

Installation

Users:

pip install git+https://github.com/Kernel236/fastEIT.git

Developers:

git clone https://github.com/Kernel236/fastEIT.git
cd fastEIT
pip install -e ".[dev]"

Quick start

from fasteit.parsers.loader import load_data

# Dräger .bin — reconstructed 32×32 frames + Medibus signals
data = load_data("patient01.bin")
print(data.n_frames, data.fs)       # e.g. 11500, 50.0
print(data.pixels.shape)            # (11500, 32, 32)
print(data.global_signal[:10])      # first 10 frames global EIT signal

# Dräger .eit — raw transimpedances for pyEIT reconstruction
data = load_data("patient01.eit")
print(data.n_frames, data.fs)          # e.g. 11500, 50.0
print(data.measurements.shape)        # (11500, 208) — 208 = 16 inj × 13 meas
print(list(data.aux_signals.keys()))   # timestamp, I_real, V_diff, medibus, ...

# Dräger .asc — continuous frame-by-frame signal export
data = load_data("patient01.asc")
print(data.n_frames, data.fs)       # e.g. 11500, 50.0
print(data.table.columns.tolist())  # all available signal columns

# Timpel .csv — reconstructed frames + aux signals
data = load_data("recording.csv")
print(data.n_frames, data.fs)       # e.g. 9000, 50.0
print(data.pixels.shape)            # (9000, 32, 32)

Project status

Pre-alpha. Data model and parsing layer implemented.

Data model (models/):

Class Content Produced by
ReconstructedFrameData 32×32 pixel matrices + synchronized signals .bin, .txt
ContinuousSignalData Signal table, one row per frame .asc
RawImpedanceData Calibrated transimpedances + aux signals for pyEIT .eit

Parsers (parsers/):

Parser Status Formats
DragerBinParser Implemented .bin — base frame (4358 b) and PressurePod frame (4382 b); registry-driven, new frame sizes require only a dtype + one entry
DragerAscParser Implemented .asc, .txt, .csv — continuous waveform export
DragerEitParser Implemented .eit — ASCII header + binary frames (5495 b/frame); 208 calibrated transimpedances + Medibus aux signals
TimpelTabularParser Implemented .csv, .txt — reconstructed frame export

All parsers are accessible via the single entry point load_data(path), which auto-detects vendor and format.

RawImpedanceData from .eit files can be reconstructed to 32×32 pixel images via which is an example of pyEIT wrapping reconstruct_greit() (optional dependency: pip install fasteit[pyeit]; implements GREIT — Adler et al., Physiol. Meas. 2009, DOI: 10.1088/0967-3334/30/6/S03):

from fasteit.parsers.draeger.eit.eit_pyeit_bridge import reconstruct_greit

data = load_data("patient01.eit")
images = reconstruct_greit(data.measurements)  # (N_frames, 32, 32)

Documentation

Contributing

Contributions are welcome. See CONTRIBUTING.md for how to report bugs, request features, and submit pull requests.

This project follows the Contributor Covenant code of conduct.

Disclaimer

This software is for research purposes only. It is not a medical device and has not been validated for clinical decision-making. Use in clinical settings requires independent validation.

License

Apache License 2.0 — see LICENSE.

About

Python library for parsing Electrical Impedance Tomography data from different vendor and file format.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages