Skip to content

Repository files navigation

fastEIT

StatusPre-Alpha
LicenseApache 2.0
PythonPython
Coveragecodecov
CI / CDTestsLintBuilddeploy

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

fromfasteit.parsers.loaderimportload_data# Dräger .bin — reconstructed 32×32 frames + Medibus signalsdata=load_data("patient01.bin")
print(data.n_frames, data.fs) # e.g. 11500, 50.0print(data.pixels.shape) # (11500, 32, 32)print(data.global_signal[:10]) # first 10 frames global EIT signal# Dräger .eit — raw transimpedances for pyEIT reconstructiondata=load_data("patient01.eit")
print(data.n_frames, data.fs) # e.g. 11500, 50.0print(data.measurements.shape) # (11500, 208) — 208 = 16 inj × 13 measprint(list(data.aux_signals.keys())) # timestamp, I_real, V_diff, medibus, ...# Dräger .asc — continuous frame-by-frame signal exportdata=load_data("patient01.asc")
print(data.n_frames, data.fs) # e.g. 11500, 50.0print(data.table.columns.tolist()) # all available signal columns# Timpel .csv — reconstructed frames + aux signalsdata=load_data("recording.csv")
print(data.n_frames, data.fs) # e.g. 9000, 50.0print(data.pixels.shape) # (9000, 32, 32)

Project status

Pre-alpha. Data model and parsing layer implemented.

Data model (models/):

ClassContentProduced by
ReconstructedFrameData32×32 pixel matrices + synchronized signals.bin, .txt
ContinuousSignalDataSignal table, one row per frame.asc
RawImpedanceDataCalibrated transimpedances + aux signals for pyEIT.eit

Parsers (parsers/):

ParserStatusFormats
DragerBinParserImplemented.bin — base frame (4358 b) and PressurePod frame (4382 b); registry-driven, new frame sizes require only a dtype + one entry
DragerAscParserImplemented.asc, .txt, .csv — continuous waveform export
DragerEitParserImplemented.eit — ASCII header + binary frames (5495 b/frame); 208 calibrated transimpedances + Medibus aux signals
TimpelTabularParserImplemented.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):

fromfasteit.parsers.draeger.eit.eit_pyeit_bridgeimportreconstruct_greitdata=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

Code of conduct

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages