| Status | |
| License | |
| Python | |
| Coverage | |
| CI / CD |
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.
Users:
pip install git+https://github.com/Kernel236/fastEIT.gitDevelopers:
git clone https://github.com/Kernel236/fastEIT.git
cd fastEIT
pip install -e ".[dev]"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)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)docs/data_model.md— data container field specificationsdocs/parsers.md— parser reference: formats, calibration, GREIT bridge, loader utilitiesdocs/parsing_layer.md— architecture and extension recipes
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.
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.
Apache License 2.0 — see LICENSE.