Ventilatory thresholds · COSMED
VT1 and VT2 from a COSMED Omnia export
Export the test from Omnia, COSMED's CPET software, and hand Oxynet the file. Oxynet reads the layout, the clock and the channels the way Omnia writes them, and returns VT1 and VT2 located by models trained on tests that experts labelled.
Which COSMED exports
COSMED Omnia export, exercise phase only, with the subject block stripped.
A site-specific export profile of Omnia.
COSMED Omnia export, subject block in the leading columns.
The format is detected automatically. The parser was built on exports from specific software versions, and another version may lay the file out differently: the reliable test is one real file. If yours is refused, send one de-identified export.
What Oxynet deals with in the file
Send the export unchanged. These are the things that go wrong when a file is converted by hand, and the parser handles them itself:
- The clock as Omnia wrote it: an Excel time of day, a fraction of a day, or plain seconds where the column was rebuilt in Excel. The unit is decided once for the whole column, never cell by cell.
- Channel names that differ between Omnia revisions and languages: heart rate as HR, HF or HR (bpm), respiratory rate as Rf, F.R or Af.
- The external load under the name the installation was configured with: Power or Carico1 for a cycle ergometer in watts, Speed and Grade for a treadmill. Second and third ergometer channels, speed markers and GPS speed are ignored, because in real exports they are empty or measure something other than the ergometer.
- SpO2 when the export carries it. When the column is missing it is reported as absent, not as zero.
- The full export with the subject block in the leading columns, and an exercise-only export with the subject block stripped.
Three ways to run it
In an AI assistant
Connect Oxynet once, attach the Omnia export and ask for VT1 and VT2. The assistant hands the file to Oxynet and explains what comes back; Oxynet's models locate the thresholds.
In Claude, Oxynet is in the connector directory. For ChatGPT, Claude Code, Gemini CLI and other clients, see connecting an assistant. Either way you need a free API key.
In the browser
Drop the Omnia export on app.oxynet.net. No account is needed. The app shows what the file contains, then offers thresholds, oscillation and substrate analysis, with the intensity domains drawn on the chart.
From code
Upload the file to the REST API and ask for the vt analysis; the answer is JSON. The quick start has the calls in curl and Python. A free key covers research and testing.
Before you upload
On a free key, upload only de-identified data: remove names, dates of birth and record numbers from the file and the filename. Blank those cells rather than deleting rows or columns, so the layout stays as the software wrote it. Oxynet is research software, not a medical device, and its results are not a diagnosis (terms).
What comes back
| Ventilatory thresholds | VT1 and VT2, each as a time from the start of the test and an oxygen uptake in mL/min, with the model and version that produced them. |
|---|---|
| Intensity domains | Moderate, heavy and severe, second by second, drawn in the web app. The thresholds are where they cross. |
| CPET metrics | Peak VO2, VE and RER, O2 pulse, the VE/VCO2 slope, test phases and classical landmarks. |
| Substrate use | Fat and carbohydrate oxidation, FATMAX, the crossover and gross efficiency. |
| Signal quality | Whether the gas analysis, the sampling and the clock can support a measurement at all. |
| Oscillatory ventilation | Beta. Developed on one heart failure cohort; its transportability to other populations is untested. |
No result carries a confidence score. The agreement with expert raters is published; nothing is calibrated against clinical outcomes. Every analysis and its limits are in the analysis catalogue.
COSMED is a trademark of its owner, named here only to describe the files Oxynet reads. Oxynet is not affiliated with or endorsed by COSMED.