AI-powered CPET interpretation

E

Oxynet

Consistent, scalable, system-agnostic.

Oxynet provides a data-driven interpretation layer for cardiopulmonary exercise testing (CPET), enabling consistent detection of thresholds and key markers across protocols, populations, and devices.

12+
Publications
API + Web + Python
Deployment options
Open Source
on GitHub

See how it works

From Raw Data to Clinical Insight

Drag the slider to see how raw CPET measurements are transformed into standardised intensity domains — automatically detecting LT and RCP to classify every breath.

Raw CPET data
Oxynet analysis

Intensity Domains

Moderate Domain

Below LT

VO₂ reaches steady state within minutes. Blood lactate returns to resting levels. Exercise is fully sustainable.

Heavy Domain

LT → RCP

A VO₂ slow component emerges. Lactate rises but stabilises above baseline. Prolonged exercise remains possible.

Severe Domain

Above RCP

Respiratory compensation is engaged. Lactate and VO₂ rise continuously toward VO₂max. Exercise tolerance is time-limited.

Based on Keir et al., Sports Medicine (2022)

Ready to interpret your own CPET data?

Try Oxynet on a real test

Try Oxynet on Exercise Thresholds →

The Problem & Solution

Standardising CPET Interpretation

Problem

Interpretation variability limits clinical utility

CPET interpretation is variable and often requires manual adjustment. Different software tools can produce inconsistent results, increasing clinician workload and introducing uncertainty into clinical decision-making.

Solution

A consistent, data-driven interpretation layer

Oxynet provides a standardised interpretation layer that reduces variability and supports reproducible outputs — operating across protocols, populations, and devices without manual adjustment.

Oxynet is not a replacement for clinical expertise. It is a standardisation engine — a consistency layer designed to reduce interpretation variability and support reproducible outputs across clinical settings and systems.

What Oxynet Produces

Concrete, Standardised Outputs

Every CPET processed by Oxynet returns the same structured set of interpretation results — regardless of the device, protocol, or population.

VT1 · VT2

Ventilatory Thresholds

Automated, consistent detection of the first and second ventilatory thresholds from breath-by-breath CPET data.

📐

Moderate · Heavy · Severe

Exercise Intensity Domains

Every breath classified into a physiologically meaningful intensity domain — no manual adjustment required.

📊

Protocol-agnostic

Standardised Interpretation Metrics

Structured outputs that are consistent across different CPET protocols and ergometer types.

🔁

Across tests and systems

Reproducible Outputs

The same input always produces the same output — enabling longitudinal tracking and reliable system-to-system comparison.

Who it's for

Built for Your Context

Oxynet is available in formats designed for clinical deployment, system integration, and research use.

🏥

For Clinics & Hospitals

Consistent interpretation at scale

Reduce variability across clinicians and sessions. Oxynet provides a standardised interpretation layer you can deploy directly — via web or API — without changing your existing workflow.

Try Oxynet on Exercise Thresholds
⚙️

For CPET Manufacturers

Add AI interpretation to your system

Integrate Oxynet via API to add automated, standardised CPET interpretation to your existing software. Send CPET data, receive structured outputs, display within your platform.

Request API access
🔬

For Researchers

Open tools for CPET science

Use the open-source Python package to run inference, generate synthetic CPET data, and integrate Oxynet into your research pipelines. Well-documented, actively maintained.

Explore the package

How it works

Simple to Use, Simple to Integrate

For clinics & hospitals

Direct use

  1. 1Upload or stream CPET time-series data from your existing system.
  2. 2Oxynet processes the signals and detects ventilatory thresholds automatically.
  3. 3Receive structured interpretation outputs — intensity domains, VT1, VT2 — ready for clinical review.

For manufacturers & software partners

API integration

  1. 1Integrate the Oxynet API into your existing CPET software or device platform.
  2. 2Send CPET data via standard API calls — no change to your data capture pipeline.
  3. 3Receive standardised interpretation outputs and display them within your software.

Deployment

Available in Three Formats

Deploy Oxynet in the way that fits your system — from direct API integration to no-setup web access and open-source research tools.

🔌
Integration-ready

API

Send CPET data, receive interpretation outputs. Designed for embedding into existing CPET systems and clinical software.

Request access
🌐
No setup required

Web Platform

Upload and interpret CPET data directly in the browser. Available now via Exercise Thresholds — no installation needed.

Try the demo
🐍
Open source

Python Package

Full access via the pyoxynet package. Run inference, generate synthetic data, and build custom research pipelines.

Install from PyPI
🔗

Designed to integrate — not replace

Oxynet is built as a modular layer that operates on top of existing CPET systems. It processes CPET time-series data and returns standardised interpretation outputs via API or embedded deployment — without requiring changes to your data capture hardware, clinical workflow, or reporting interface.

Scientific Validation

Validated Against Expert Interpretation

Oxynet has been evaluated against expert-level CPET interpretation, showing strong agreement for key physiological markers such as ventilatory thresholds. Its performance is documented in peer-reviewed publications.

VT1
First Ventilatory Threshold
Strong agreement with expert labelling
VT2
Second Ventilatory Threshold
Validated across multiple populations
3
Intensity Domains
Consistent classification per breath

Oxynet's outputs are not intended to replace clinical judgement. They are designed to reduce variability and provide a reproducible baseline for further clinical review. Over 11 peer-reviewed publications document its methodology and validation.

View publications →

Open Source

The Pyoxynet Package

A comprehensive suite of deep neural network algorithms specifically designed for CPET data analysis. Built with Keras and TensorFlow, models available in efficient TFLite format.

🔬
TFLite

Inference Model

Estimates exercise intensity domains from CPET data with high accuracy. Supports VO₂, VCO₂, VE, PetO₂, PetCO₂, VE/VO₂, and VE/VCO₂ inputs.

⚗️
CGAN

Generator Model

Creates realistic synthetic CPET data for research and validation using a Conditional GAN (CGAN) architecture.

Quick Start

Code Examples

Requires Python 3.8+. Pyoxynet automatically handles data interpolation and supports second-by-second, breath-by-breath, and averaged CPET data formats.

terminal
pip install pyoxynet

Research

Scientific Publications

Peer-reviewed research, reviews, and articles behind the Oxynet project.

Research

AI-Driven Analysis of CPET to Identify Gas Exchange and Ventilatory Thresholds

Evaluates Oxynet for detecting lactate threshold and respiratory compensation points, showing performance comparable to expert evaluators with negligible differences in VO₂ at both thresholds.

Sports Medicine · 2026

Research

AI for CPET Interpretation

Deep learning approach for automatic interpretation of cardiopulmonary exercise test data using neural networks.

Biomedical Signal Processing and Control · 2023

Review

AI Technologies in Exercise Data Processing

Comprehensive review of machine learning and AI techniques applied to exercise physiology data analysis.

Sport Sciences for Health · 2019

Research

LSTM Networks for VO₂ Estimation

Application of long short-term memory recurrent neural networks for estimating oxygen uptake during exercise.

PLOS ONE · 2020

Research

LSTM for Intensity Domain Estimation

Using LSTM neural networks for automatic detection of exercise intensity domains in CPET data.

European Journal of Sport Science · 2019

Research

Crowdsourcing and CNN for Intensity Domain Determination

Combining crowdsourced expert labels with convolutional neural networks for CPET intensity domain classification.

European Journal of Sport Science · 2021

Research

Conditional GANs for Synthetic CPET Data

Generating realistic synthetic cardiopulmonary exercise test data using conditional generative adversarial networks.

Preprint

Research

Regression, Generation, and Explanation

Multi-task deep learning framework combining regression, data generation, and explainability for CPET analysis.

Sensors (MDPI) · 2023

LinkedIn

Oxynet: A Collective Intelligence Approach

Overview of the Oxynet project: how collective intelligence and AI are transforming CPET interpretation.

Blog

AI in CPET Data Interpretation

A deep dive into how AI can be used to automatically interpret cardiopulmonary exercise test data.

Medium

Automatic Interpretation of CPET with Deep Learning

Step-by-step guide to using the Pyoxynet Python package for automatic CPET inference with deep learning.

Medium

Generating Realistic CPET Data with Python

How to use the Pyoxynet CGAN model to generate synthetic but realistic cardiopulmonary exercise test datasets.

Get in Touch

Contact

Interested in collaboration or have questions about the project?

Feedback & Issues

Oxynet Team

Bug reports, feature requests, and general inquiries about the Oxynet project.

oxynetcpetinterpreter@gmail.com

Principal Investigator

Andrea Zignoli

Research collaborations, academic partnerships, and scientific enquiries.

andrea.zignoli@unitn.it