Oxynet is a powerful AI-driven toolset for the automatic interpretation of cardiopulmonary exercise test (CPET) data.
About the Oxynet Project
Universal access to high-quality healthcare remains a global challenge. Oxynet leverages AI and vast data resources to revolutionize the diagnosis of medical conditions through CPET analysis, enabling accurate and timely clinical decisions while reducing costs associated with diagnostic errors and delays.
Oxynet combines three key components:
- A network of CPET experts providing clinical expertise
- A large crowdsourced dataset for comprehensive training
- Advanced AI algorithms that approximate human cognition in CPET analysis
We actively seek collaboration with universities, hospitals, clinics, medical professionals, and companies involved in medical device development and commercialization. Together, we can advance research and development, provide financial support for research initiatives, contribute to scientific publications, share valuable data, develop innovative web applications, conduct comprehensive market analyses, and validate algorithms for clinical implementation.
The Pyoxynet Package
Pyoxynet is a comprehensive suite of deep neural network algorithms specifically designed for CPET data analysis. Built using Keras and TensorFlow, the models are available in efficient TFLite format, with direct TensorFlow model usage supported from version 11.6 onward.
The package includes two primary models:
- Inference Model: Estimates exercise intensity domains from CPET data with high accuracy
- Generator Model: Creates realistic synthetic CPET data for research and validation purposes
🐍 Install the Python package
📁 Read the docs
Installation
Pyoxynet requires Python 3.8 or higher. To install the package, run:
pip install pyoxynet
Or:
pip install git+https://github.com/andreazignoli/pyoxynet.git#subdirectory=pyoxynet
Usage
To use the inference model, provide CPET data including VO₂, VCO₂, VE, PetO₂, PetCO₂, VE/VO₂, and VE/VCO₂. Pyoxynet automatically handles data interpolation and supports multiple data formats: second-by-second, breath-by-breath, and averaged data.
Basic Example
import pyoxynet
# Load the TFL model
tfl_model = pyoxynet.load_tf_model()
# Make inference on a random input
test_tfl_model(tfl_model)
# Plot the inference on a test dataset
pyoxynet.test_pyoxynet()
Data Generation
Pyoxynet includes a Conditional Generative Adversarial Network (CGAN) capable of generating realistic CPET data for research and testing purposes.
Generation Example
from pyoxynet import *
# Call the generator
generator = load_tf_generator()
# Generate a Pandas df with fake CPET data
df = generate_CPET(generator, plot=True)
# Call Oxynet for inference on fake data
test_pyoxynet(input_df=df)
The generated synthetic data includes all essential CPET parameters: VO₂, VCO₂, VE, HR, RF, PetO₂, and PetCO₂.
Contact Information
📧 Feedback & Issues: oxynetcpetinterpreter@gmail.com
📧 Principal Investigator: Andrea Zignoli (andrea.zignoli@unitn.it)
Scientific Publications
Explore the peer-reviewed research and publications behind Oxynet:
- Research: AI for CPET interpretation
- Review: AI technologies in exercise data processing
- Research: LSTM networks for VO2 estimation
- Research: LSTM for intensity domain estimation
- Research: Crowdsourcing and CNN for intensity domain determination
- Research: Conditional GANs for synthetic CPET data
- Research: Regression, generation, and explanation
- LinkedIn: Oxynet project overview
- Blog: AI in CPET data interpretation
- Medium: Using the Python package for CPET inference
- Medium: Generating realistic CPET data with Python
Acknowledgments
We extend our gratitude to the following resources and contributors:
- TFLite Inference
- Amazon Lightsail
- Flask
- Uniplot Python library
- Machine Learning Mastery cGAN
- Exercise Threshold
- Header photo by Pawel Czerwinski on Unsplash
Disclaimer
All content on this website, including text, images, tables, and other materials, is provided for informational purposes only. The information and software tools provided here are not substitutes for professional medical advice, diagnosis, or treatment. Always consult your physician or other qualified healthcare provider with any questions regarding a medical condition. Never disregard professional medical advice or delay seeking it based on information provided by this software.