Installing
Psiexperiment is a Python-based framework. It is recommended to install it within a virtual environment (such as conda or venv) to manage dependencies effectively.
Supported Hardware
Psiexperiment provides drivers and interfaces for a variety of hardware platforms:
National Instruments: Supported via NIDAQmx drivers (requires
pyDAQmx).Tucker-Davis Technologies (TDT): Supported via ActiveX drivers (requires
tdtpy).Sound Cards: Basic support for system sound cards via
sounddevice.Biosemi: Supported via a custom interface.
Installation
The easiest way to install psiexperiment is via pip:
pip install psiexperiment
If you need support for specific hardware, you can install the optional dependencies:
# For National Instruments support
pip install psiexperiment[ni]
# For TDT support
pip install psiexperiment[tdt]
# For standard soundcard support
pip install psiexperiment[soundcard]
Dependencies
Psiexperiment requires Python >= 3.7. The core dependencies include:
enaml: The declarative UI and plugin framework.
numpy and scipy: For signal processing and math.
pandas: For data management.
pyqtgraph: For high-performance real-time plotting.
psidata and psiaudio: Core libraries for data I/O and auditory signals.
Configuring Psiexperiment
Before running your first experiment, you must create a configuration file. This file tells psiexperiment where to store logs, data, calibration files, and user preferences.
1. Create the configuration
Use the psi-config tool to initialize your environment. In the example below, PATH is the root directory where all experiment-related files will be stored.
psi-config create --base-directory PATH
For example:
psi-config create --base-directory C:/psiexperiment_data
2. Standard Hardware Templates
Psiexperiment ships with several standard hardware templates. You can use these as a starting point for your own IO manifest:
Biosemi32 / Biosemi64: Biosemi EEG systems.
Medusa4ZTDT / RA4PATDT: TDT RZ6 configurations.
PXIe-1062: National Instruments PXIe chassis with PXI-4461 cards.
You can create a skeleton IO manifest based on one of these templates:
psi-config create-io PXIe-1062
This will create an .enaml file in your IO_ROOT that you can then customize.
3. Finalizing Folders
Once your configuration is created, ensure all required subdirectories exist:
psi-config create-folders
4. Verifying the Configuration
To see the current location of your configuration file and its settings:
psi-config show
You can open the generated config.py file in any text editor to fine-tune the paths for LOG_ROOT, DATA_ROOT, CAL_ROOT, etc.