This software is an in-house tool used by the Lilbeth Caberto Kidney Clinical Research Unit (KCRU) at London Health Sciences Centre (LHSC) for semi-automated analysis of CVInsight data. This tool has been minimally tested, but should work as described below.
Compiled versions of the software are provided in compiled/macOS/
. The author uses an M1 MacBook Pro, so only compiled versions are available for macOS arm64 (M1 and M2 MacBooks) and macOS x86_64 (Intel-based MacBooks) architectures. If you are using Windows or Linux, please run the software with your local installation of Python. Double-click on the application corresponding to your machine's architecture to open.
Hit the Browse
button to find the folder containing the CVInsight files for a single subject. The software assumes there is one *_data.txt
file and one *_eventlog.txt
within the folder. An example of a valid CVInsight dataset is shown below:
Hit the Open
button to open the dataset. If successfully read, there will be an indication showing which files are read in and a plot visualizing the % Change in Pulse Strength will be shown.
Plotting is done using matplotlib
and can be manipulated using the matplotlib
toolbar. Several CVInsight metrics may be plotted:
- % Change in Pulse Strength
- Pulse Strength
- Heart Rate
- SpO2
Clicking the corresponding radio button will generate a plot of that metric. The x-axis of the plot is time, while the y-axis is the metric being plotted. Recorded comments/events in the *_eventlog.txt
file is shown with vertical red lines and the corresponding comment.
If the plot is too small, hit the Open in New Window
button to launch the current plot in a larger window.
To analyse the currently loaded file, hit the Analyse Current File and Add to Results
button. This calculates additional measurements from the CVInsight data and adds them to the Results Table on the right. The list of additional measurements this tool calculates is as follows:
- Hemodialysis time (minutes)
- Pulse strength – mean, standard deviation, minimum, maximum
- Percent of hemodialysis time at ≤ -10 ... -60 percent change in pulse strength
- Heart rate – mean, standard deviation, minimum, maximum
- Time to minimum heart rate (minutes)
- Time to maximum heart rate (minutes)
- Minimum SpO2
- Time to minimum SpO2
- Total area under the % change pulse strength curve
- Positive area under the % change pulse strength curve
- Negative area under the % change pulse strength curve
The Results Table shows the results for every file analyzed in a table format. Use your mouse/trackpad to scroll through the full table.
Hit the Save Results Table
button to save the results in a *.csv
format.
A message at the bottom of the screen will let you know if the file is successfully saved and where it is saved.
"CSV" stands for "comma-separated values" which is a format that can be easily imported into Excel or read in by another program for further statistical analysis.
TOAD is written in Python 3 and may be ran directly from the Terminal. Assuming you have the dependencies, running TOAD is easy as it is a one-file, one directory program:
python main.py
The dependencies you will need to run TOAD are the following:
- PySide 6
- Matplotlib
- Numpy
It is easiest to install these using pip
.
Two pre-packaged stand alone application files for macOS (M1 and Intel) are available in the compiled/macOS/
folder. With thse files you can run the application without installing Python or any other dependencies, making it good for distribution.
These files were created using PyInstaller. Since the author wrote this program on an M1 MacBook Pro, only mac versions are available by default. One can conceivably download the code and use PyInstaller to create a Windows or Linux compatible stand alone application file on their own machine. How to do this is beyond the scope of this document.