- Notifications
You must be signed in to change notification settings - Fork164
phy: interactive visualization and manual spike sorting of large-scale ephys data
License
cortex-lab/phy
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
phy is an open-source Python library providing a graphical user interface for visualization and manual curation of large-scale electrophysiological data. It is optimized for high-density multielectrode arrays containing hundreds to thousands of recording sites (mostlyNeuropixels probes).
Phy provides two GUIs:
- Template GUI (recommended): for datasets sorted with KiloSort and Spyking Circus,
- Kwik GUI (legacy): for datasets sorted with klusta and klustakwik2.
- [5 June 2024] phy 2.0 beta 6, bug fixes, install work, fixing some deprecations
- [7 Sep 2021] Release of phy 2.0 beta 5, with some install and bug fixes
- [7 Feb 2020] Release of phy 2.0 beta 1, with many new views, new features, various improvements and bug fixes...
It is recommanded to store the data on a SSD for performance reasons.
There are no specific GPU requirements as long as relatively recent graphics and OpenGL drivers are installed on the system.
Run the following commands in a terminal (currently working for Linux machines):
Create a new conda environment with the conda dependencies:
conda create -n phy2 -y python=3.11 cython dask h5py joblib matplotlib numpy pillow pip pyopengl pyqt pyqtwebengine pytest python qtconsole requests responses scikit-learn scipy traitlets
Activate the new conda environment with
conda activate phy2
Install the development version of phy:
pip install git+https://github.com/cortex-lab/phy.git
[OPTIONAL] If you plan to use the Kwik GUI, type
pip install klusta klustakwik2
Phy should now be installed. Open the GUI on a dataset as follows (the phy2 environment should still be activated):
cd path/to/my/spikesorting/outputphy template-gui params.py
- If there are problems with this method we also have an
environment.yml
file which allows forautomatic install of the necessary packages. Give that a try.
In some environments, you might get an error message related to QtWebEngineWidget. Run the commandpip install PyQtWebEngine
and try launching phy again. This command should not run if the error message doesn't appear, as it could break the PyQt5 installation.
- Do not install phy 1 and phy 2 in the same Python environment.
- It is recommended to delete
~/.phy/*GUI/state.json
when upgrading.
To install the development version of phy in a fresh environment, do:
git clone git@github.com:cortex-lab/phy.gitcd phypip install -r requirements.txtpip install -r requirements-dev.txtpip install -e.cd ..git clone git@github.com:cortex-lab/phylib.gitcd phylibpip install -e. --upgrade
Since the switch to M-series chips Mac install for Phy is not being officially supported.Rarely people are able to hack together a version with old versions of python etc.
In addition to launching phy from the terminal with thephy
command, you can also launch it from a Python script or an IPython terminal. This may be useful when debugging or profiling. Here's a code example to copy-paste in a newlaunch.py
text file within your data directory:
from phy.apps.template import template_guitemplate_gui("params.py")
phy is developed and maintained byCyrille Rossant.
Contributors to the repository are:
About
phy: interactive visualization and manual spike sorting of large-scale ephys data