eVAS
eVAS: A user-friendly electronic Visual Analogue Scale - Published in JOSS (2025)
Science Score: 95.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
1 of 3 committers (33.3%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Repository
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.
Basic Info
- Host: GitHub
- Owner: gouverneurp
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://gouverneurp.github.io/evas.html
- Size: 100 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 3
Metadata Files
README.md
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. <!---need for VAS (pain) to automate--> 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. <!--- Use case: Can be used for automated pain recognition -> CoVAS is importance--> 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. <!--- eVAS are not freely accessible--> More specifically, papers using electronic versions rarely share their software and open source code to implement solutions is rare. <!--- Available solutions--> 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
:-------------------------:|:-------------------------:






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:

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
bash git clone https://github.com/gouverneurp/eVAS.git - Install Python (tested with Python 3.12)
Create and activate a Python environment
Windows:
bash python -m venv venv .\venv\Scripts\activateLinux:bash python3 -m venv venv source venv/bin/activateInstall the requirements
bash pip install -r requirements.txtRun eVAS via Python
bash python eVAS.pyOptionally 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 createvasexe.ps1 script:
bash
.\scripts\create_vas_exe.ps1
For Ubuntu use the createubuntuapp.sh script:
bash
./scripts/create_ubuntu_app.sh
For MacOS use the createmacapp.sh script:
bash
./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 (
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.
Owner
- Login: gouverneurp
- Kind: user
- Repositories: 1
- Profile: https://github.com/gouverneurp
JOSS Publication
eVAS: A user-friendly electronic Visual Analogue Scale
Authors
Institute of Medical Informatics, University of Lübeck, Ratzeburger Allee 160, 23562 Lübeck, Germany
Institute of Health Sciences, Department of Physiotherapy, Pain and Exercise Research Luebeck (P.E.R.L.), University of Lübeck, 23562 Lübeck, Germany
Institute of Health Sciences, Department of Physiotherapy, Pain and Exercise Research Luebeck (P.E.R.L.), University of Lübeck, 23562 Lübeck, Germany
Institut für experimentelle Psychophysiologie GmbH, 40215 Düsseldorf, Germany
Institut für experimentelle Psychophysiologie GmbH, 40215 Düsseldorf, Germany, Institute of Affective Computing, 40547 Düsseldorf, Kaiser Friedrich Ring 108
Tags
eVAS Visual Analogue Scale Monitoring PainGitHub Events
Total
- Release event: 1
- Push event: 48
Last Year
- Release event: 1
- Push event: 48
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Philip Gouverneur | p****r@g****e | 111 |
| GitHub Action | a****n@g****m | 6 |
| Philip Gouverneur | p****r@s****e | 6 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 7
- Total pull requests: 0
- Average time to close issues: 16 days
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 2.43
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- haoxue-fan (7)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v4 composite
- actions/upload-artifact v1 composite
- openjournals/openjournals-draft-action master composite
- Pillow ==10.1.0
- PyAutoGUI ==0.9.54
- altgraph ==0.17.4
- certifi ==2023.11.17
- charset-normalizer ==3.3.2
- docopt ==0.6.2
- idna ==3.6
- numpy *
- packaging ==23.2
- pefile ==2023.2.7
- pipreqs ==0.4.13
- psutil ==5.9.6
- pyinstaller ==6.2.0
- pyinstaller-hooks-contrib ==2023.10
- pyinstaller_versionfile *
- pynput ==1.7.6
- pyserial ==3.5
- python-dateutil ==2.8.2
- pywin32-ctypes ==0.2.2
- requests ==2.31.0
- screeninfo ==0.8.1
- setuptools ==69.0.2
- sib-api-v3-sdk ==7.6.0
- six ==1.16.0
- urllib3 ==2.1.0
- yarg ==0.1.9
- actions/checkout v3 composite
- actions/setup-python v4 composite