viewephys
Neuropixel raw data viewer
Installation
pip install viewephys
Alternatively, in development mode:
git clone https://github.com/int-brain-lab/viewephys.git
cd viewephys
pip install -e .
Supported environments
This is compatible with the IBL environment
Otherwise, you can create a new environment as such:
conda create -n viewephys python=3.12
conda activate viewephys
And then follow the install instructions above.
Controls
ctrl + z: -3dB gainctrl + a: +3dB gainctrl + p: in multi-windows mode, link the displays (pan, zoom and gain)
Pick spikes
When the picking mode is enabled (menu pick)
- left button click sets a point
- shift + left button removes a point
- control + left does not wrap on maximum around pick
- space increments the spike group number
Examples
Visualize raw binary file through the command line
Activate your environment and type viewephys, you can then load a neuropixel binary file using the file menu.
Alternatively you can point the viewer to a specific file using the command line:
viewphys -f /path/to/raw.bin
Load in a numpy array or slice
viewephys can be used through the Python console or iPython, allowing you to create
multiple instances of the viewer at once.
# if running ipython, you may have to use the `%gui qt` magic command
import numpy as np
from viewephys.gui import viewephys
nc, ns, fs = (384, 50000, 30000) # this mimics one second of neuropixel data
data = np.random.randn(nc, ns) / 1e6 # volts by default
ve = viewephys(data, fs=fs)
# We can open multiple windows at once, but they must have different titles
data2 = data * 50
ve2 = viewephys(data, fs=fs, title="plot 2")
Note if you are running through a script, you need to instantiate the Qt application yourself:
Opening a binary file through a script
from viewephys.gui import EphysBinViewer, create_app
app = create_app()
viewer = EphysBinViewer(r"C:\Users\Joe\Desktop\1119617_LSE1_shank12_g0_imec0\1119617_LSE1_shank12_g0_t0.imec0.ap.bin")
app.exec()
Load in a numpy array or slice through a script
import numpy as np
from viewephys.gui import viewephys, create_app
app = create_app()
nc, ns, fs = (384, 50000, 30000) # this mimics one second of neuropixel data
data = np.random.randn(nc, ns) / 1e6 # volts by default
ve = viewephys(data, fs=fs)
ve2 = viewephys(data * 50, fs=fs, title="plot 2")
app.exec()
Contribution
Fork and PR.
Pypi Release checklist:
ruff check
rm -fR dist
rm -fR .pdm-build
pdm publish
#twine upload --repository-url https://test.pypi.org/legacy/ dist/*
Metadata
Release files for viewephys 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| viewephys-1.3.0.tar.gz | 58.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| viewephys-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 121.3 kB
Release files / viewephys-1.3.0.tar.gz
| Download URL | viewephys-1.3.0.tar.gz |
|---|---|
| Size | 58.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
31eb261dc174864a361cffbda41a6b1b58c5ced630c981f814c340f2f187fa6b
|
|
BLAKE2b-256 checksum How to use checksums |
1d149a58cd0598d75b1c1c99ad7ae1b077d69def4db38227a8a9397eeb263283
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
pdm/2.28.0 CPython/3.11.15 Linux/6.17.0-1018-azure
|
Release files / viewephys-1.3.0-py3-none-any.whl
| Download URL | viewephys-1.3.0-py3-none-any.whl |
|---|---|
| Size | 63.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
470d6a7527ef1c285f0f6332e49531098d19e145cc622435a195fdbd2a2f3a2a
|
|
BLAKE2b-256 checksum How to use checksums |
ecdabbb3dc3ce7ea9f9be1a1b202af0d339bd0c9a19d1049fbaed52706dc329d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
pdm/2.28.0 CPython/3.11.15 Linux/6.17.0-1018-azure
|