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 (mostly Neuropixels 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.
- [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...
Phy requires a recent GPU and an SSD for storing your data (the GUI may be slow if the data is on an HDD).
-
You need a recent Python distribution.
-
Open a terminal and type:
pip install phy --pre --upgrade
# If you plan to use the Kwik GUI, type the following without the leading hash # character:
# 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/output
phy template-gui params.pyFor your information, here are the Python dependencies of phy (as found in requirements.txt):
phylib
mtscomp
numpy
matplotlib
scipy
h5py
dask
cython
pillow
colorcet
pyopengl
requests
qtconsole
tqdm
joblib
click
mkdocs
- Do not install phy 1 and phy 2 in the same Python environment.
- It is recommended to delete
~/.phy/*GUI/state.jsonwhen upgrading.
To install the development version of phy in a fresh environment, do:
git clone [email protected]:cortex-lab/phy.git
cd phy
pip install -r requirements.txt
pip install -r requirements-dev.txt
pip install -e .
cd ..
git clone [email protected]:cortex-lab/phylib.git
cd phylib
pip install -e . --upgradeIn addition to launching phy from the terminal with the phy 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 new launch.py text file within your data directory:
from phy.apps.template import template_gui
template_gui("params.py")
phy is developed and maintained by Cyrille Rossant.
Contributors to the repository are:
