
AI-powered CPET interpretation
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.
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.
Intensity Domains
Moderate Domain
Below LTVO₂ reaches steady state within minutes. Blood lactate returns to resting levels. Exercise is fully sustainable.
Heavy Domain
LT → RCPA VO₂ slow component emerges. Lactate rises but stabilises above baseline. Prolonged exercise remains possible.
Severe Domain
Above RCPRespiratory compensation is engaged. Lactate and VO₂ rise continuously toward VO₂max. Exercise tolerance is time-limited.
Based on Keir et al., Sports Medicine (2022)
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
- 1Upload or stream CPET time-series data from your existing system.
- 2Oxynet processes the signals and detects ventilatory thresholds automatically.
- 3Receive structured interpretation outputs — intensity domains, VT1, VT2 — ready for clinical review.
For manufacturers & software partners
API integration
- 1Integrate the Oxynet API into your existing CPET software or device platform.
- 2Send CPET data via standard API calls — no change to your data capture pipeline.
- 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.
API
Send CPET data, receive interpretation outputs. Designed for embedding into existing CPET systems and clinical software.
Request access →Web Platform
Upload and interpret CPET data directly in the browser. Available now via Exercise Thresholds — no installation needed.
Try the demo →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.
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.
Inference Model
Estimates exercise intensity domains from CPET data with high accuracy. Supports VO₂, VCO₂, VE, PetO₂, PetCO₂, VE/VO₂, and VE/VCO₂ inputs.
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.
pip install pyoxynetResearch
Scientific Publications
Peer-reviewed research, reviews, and articles behind the Oxynet project.
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.comPrincipal Investigator
Andrea Zignoli
Research collaborations, academic partnerships, and scientific enquiries.
andrea.zignoli@unitn.it