Version: | 2.1 |
---|---|
Author: | Samuel R. Mathias |
Contact: | samuel.mathias@yale.edu |
Github: | http://github.com/sammosummo/Charlie2/ |
License: | MIT |
Charlie2 is a free, open-source, cross-platform neurocognitive test battery written in Python, with a focus on extendability. It will be used to collect data for one of our lab projects, but may be used freely by others.
Like its predecessor, Charlie2 runs neurocognitive tests. There are currently 9 tests in the battery, taking ~30 minutes to complete per proband. Each test has a docstring with citations; have a look in the charlie2/tests folder to see what is available.
- Since Charlie2 is written in Python, it is cross-platform. I have had success running it on various platforms, from tablets running Windows 10 to Raspberry Pis.
- Charlie2 works especially well on touchscreen devices.
- Charlie2 has a GUI which allows the user to store/view proband metadata (e.g., their age, sex, and miscellaneous notes made before or after testing), run tests individually or in pre-defined batches, and back up data to a remote storage server such as Google Drive.
- Modifying or adding new tests to Charlie2 is quick, easy and Pythonic.
- Data are recorded after each trial. This means that you have access to trial-specific data rather than just the summary data. It also means that the tests are resumable; that is, the progress of each proband is retained. This prevents a proband from performing a test twice, and allows them to pick up where they left off, if a test gets interrupted.
- Summary statistics are automatically computed after a proband completes a test. All of the data (summary and trial-specific) are stored within various formats, including human-readable csv files and Python pickles.
Charlie2 has an entirely new code base. Below are the most significant changes.
- Charlie2 is written in/for Python 3.6 or greater. It does not work with Python 2, and probably won't work with earlier versions of Python 3.
- Rather than relying on command-line arguments, Charlie2 is GUI-based.
- Most of the heavy lifting is done by PyQt5, not pygame, which is no longer a dependency.
- Questionnaires have been completely removed.
- Charlie2 is not stand-alone.
- Charlie2 is not currently a regular Python package, so isn't installable via pip. This probably won't ever happen.
Charlie is simply a collection of Python scripts. All functionality is accessed from a PyQt5 application which is launched via main.py. If this is not enough information for you, I recommend performing the following steps:
Download and install Miniconda for your platform from here: https://repo.continuum.io/miniconda/
Create a new conda environment called Charlie2 and activate it.
Run these commands:
conda update conda conda install pip pyqt pandas pip install google-api-python-client oauth2client
Download Charlie2: https://github.com/sammosummo/Charlie2/archive/master.zip
cd to the directory you saved Charlie2 and run python main.py.
2.1: Fixed some bugs which caused crashes during test timeouts.