vitabelΒΆ
vitabel is an open-source Python framework for post-hoc loading, visualizing,
aligning, and annotating high-resolution physiological time series.
It is designed for retrospective critical care and perioperative research, where
recordings are often heterogeneous, noisy, and distributed across multiple devices
and file formats. vitabel helps turn these data into curated, analysis-ready
datasets by combining interactive visualization, manual annotation, timeline
alignment, and reusable processing workflows in a single Jupyter-based environment.
The framework provides sensible defaults for common use cases while remaining
flexible and extensible for project-specific analysis and annotation pipelines.
Data can be added, for example, via Vitals.add_defibrillator_recording or
Vitals.add_vital_db_recording; multiple defibrillator formats and VitalDB-based
workflows are supported.

A typical use of this package reads as follows:
from vitabel import Vitals, Label
# create case and load data
case = Vitals()
case.add_defibrillator_recording("path/to/ZOLL_data_file.json")
# use in-built methods for processing available data, compute etco2
# and predict circulatory state
case.compute_etco2_and_ventilations()
case.predict_circulation()
# create a new label for ROSC events
ROSC_label = Label('ROSC', plotstyle={'marker': '$\u2665$', 'color': 'red', 'ms': 10, 'linestyle': ''})
case.add_global_label(ROSC_label)
# display an interactive plot that allows annotations and further data adjustments
case.plot_interactive(
channels=[['cpr_acceleration'], ['capnography'], ['ecg_pads'], []],
labels = [['ROSC'], ['etco2_from_capnography', 'ROSC'], ['ROSC'], ['ROSC', 'rosc_probability']],
channel_overviews=[['cpr_acceleration']],
time_unit='s',
subplots_kwargs={'figsize': (22, 9)}
)
- Quickstart
- Examples
- Development
- Bibliography
- API Reference