Skip to content

electronic Visual Analogue Scale (eVAS) is an open source, easy to use and user-friendly slider that records the values and saves them to CSV files.

License

Notifications You must be signed in to change notification settings

gouverneurp/eVAS

Repository files navigation

status License: MIT Supported Platforms


eVAS: A user-friendly electronic Visual Analogue Scale

Overview | Examples | How to use | How to cite | Contributing | Copyright and license | Appendix

Overview

This is the source code of the electronic Visual Analogue Scale (eVAS). It is an open source, easy to use and user-friendly slider that records the slider values and saves them to CSV files. The application is available for Windows, MacOS and Ubuntu (information on how to use). The config.ini file can be edited to customise the eVAS to your needs. Examples of possible configurations can be found in the examples directory. Possible errors are logged in a log.txt file.

Statement of need

Self-report measures are one of the most popular tools used to measure personality because of their practicality and extensive research support. In particular, VASs are used as simple tools to provide single index measures, with the majority of research using VASs focusing on obtaining health states. Examples include the measurement of pain, but also several other applications such as the estimation of hunger or emotions such as anxiety.

While paper-based solutions are easy to implement, they lack the continuity, scalability and automation that are of paramount importance in most areas of research. To overcome these problems, research could benefit from software that implements self-report scales. Electronic versions could help to automate data collection, allow continuous recording with accurate timestamps where reaction times are critical, and be used in large studies.

For example, the inclusion of subjective perceived pain levels from a Computerised Visual Analogue Scale (CoVAS) in the construction of automated pain detection models has been shown to improve classification results.

Although several papers have demonstrated that scores obtained from computer and mobile phone-based platforms and traditional paper-based VAS assessment are not interchangeable, but yield comparable results, electronic implementations of VASs are not commonly used.

More specifically, papers using electronic versions rarely share their software and open source code to implement solutions is rare.

In addition, research articles introducing electronic scales are outdated with broken download links, such as the Adaptive Visual Analog Scales (AVAS), or for specific use cases, such as the Visual Analog Scales Measuring State Anxiety (VAS-A).

Therefore, we present eVAS, an open source Python software to easily implement an electronic VAS. It is available with built-in applications for all operating systems (Windows, Linux, MacOS), highly configurable and easy to use. Configurations for a Numeric Rating Scale (NRS) [1], a Visual Analogue Scale (VRS) [2], a Simplified Faces Pain Scale (SFPS) [3] and a Cold Hot Scale are provided below. A detailed description of the introduced scale can be found in the following sections.

[1] Hartrick, C. T., Kovan, J. P., & Shapiro, S. (2003). The numeric rating scale for clinical pain measurement: a ratio measure?. Pain Practice, 3(4), 310-316.

[2] Langley, G. B., & Sheppeard, H. (1985). The visual analogue scale: its use in pain measurement. Rheumatology international, 5(4), 145-148.

[3] Emmott, A. S., West, N., Zhou, G., Dunsmuir, D., Montgomery, C. J., Lauder, G. R., & Von Baeyer, C. L. (2017). Validity of simplified versus standard self-report measures of pain intensity in preschool-aged children undergoing venipuncture. The Journal of Pain, 18(5), 564-573.

Examples

eVAS is highly configurable. Simply specify the configuration file to suit your needs. Various use cases and configuration files can be found below:

Cold hot scale Custom image scale
Default Simplified faces pain scale
Simple line Numeric rating scale

To apply a specific configuration found here, simply click on the image, download all the files (a 'config.ini' file and any additional image files) and place them in the folder of your eVAS application (overwriting any old 'config.ini' files). Then simply start the application and enjoy the new configuration. The adapted configurations listed can also be used as inspiration for other configurations.

How to use

General information

eVAS is an easy-to-use visual analogue scale. Use the config.ini file to change the behaviour and appearance of the application. On startup, eVAS waits for a specific keystroke (space bar by default) to begin recording the visual analogue scale values continuously. Input can be configured for mouse and keyboard and is recorded at specified time intervals (frequency) or on value change. Values can also be recorded continuously in a range or in specified steps between two anchors with a fixed step size. The application can be exited at any time by pressing Escape. The recorded data stream is automatically saved as a CSV file in the same directory as the application. An example recording may look as follows:

alt text

Standalone

To use eVAS easily, you can download the latest version and run it without any further requirements. Please note that there may be a long startup time (up to 30 seconds on MacOS) for the application as it comes as a single file that is not installed on your system. Just follow the instructions:

  • Just visit the download page or the github page with the latest releases
  • Download the eVAS standalone software ('eVAS.exe' for Windows, 'eVAS_mac.zip' for MacOS, and 'eVAS_ubuntu' for Ubuntu)
  • Launch the application
  • (If you see a message like the one below from Windows Defender, run the software anyway by following these steps: )
First step Second step
  • (On MacOS several additional steps are needed to run the application: follow the tutorials to run and give permissions for the application)

Python

If you want to run eVAS as a Python script in the command line, debug or contribute, please run the following commands:

  • Clone the project

    git clone https://github.com/gouverneurp/eVAS.git
  • Install Python (tested with Python 3.12)

  • Create and activate a Python environment

    Windows:

    python -m venv venv
    .\venv\Scripts\activate

    Linux:

    python3 -m venv venv
    source venv/bin/activate
  • Install the requirements

    pip install -r requirements.txt
  • Run eVAS via Python

    python eVAS.py
  • Optionally configure the config.ini to change the behaviour of the eVAS

Build executables

If you want to build standalone executables based on your own custom code, please run the following script for your operating system. The scripts themselves use pyinstaller internally. Cross-platform building is not supported, so if you want to build the Windows application, run it on Windows.

For Windows use the create_vas_exe.ps1 script:

.\scripts\create_vas_exe.ps1

For Ubuntu use the create_ubuntu_app.sh script:

./scripts/create_ubuntu_app.sh

For MacOS use the create_mac_app.sh script:

./scripts/create_mac_app.sh

How to cite

Contributing

How to contribute to the software

All help is welcome and needed! Feel free to open pull requests and contact us via email at philipgouverneur@gmx.de.

Report issues or problems with the software

You are welcome to open issues here directly on GitHub, or contact us by email at philipgouverneur@gmx.de.

Copyright and license

Copyright 2024 Philip Gouverneur. Licensed under MIT.

Appendix

Known issues

  • Pressing the Caps Lock key may cause the application to crash on certain versions of MacOS. This problem is known for eVAS and is strongly related to tkinter not working properly with pynput. The current solution is to avoid pressing the key on MacOS.

Used resources

The application icon () is free to use and can be found at the following link.

Created by Muhammad_Usman & Designed by Freepik

Notes

While eVAS helps to collect user feedback in a standardised way, the output of eVAS is highly dependent on your study design and standardised instructions to participants. In order to collect valid data that can be used for scientific research, please follow common standards for studies.

About

electronic Visual Analogue Scale (eVAS) is an open source, easy to use and user-friendly slider that records the values and saves them to CSV files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •