Skip to content

Commit

Permalink
updates for PR
Browse files Browse the repository at this point in the history
  • Loading branch information
vncntprvst committed Feb 1, 2024
1 parent 50df770 commit 6ff51d0
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 14 deletions.
20 changes: 10 additions & 10 deletions full-binary-pursuit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,39 +20,39 @@ sudo gpasswd -a $USER video
Then log out and back in to apply the changes: `su - $USER`

Check fullpursuit version:
docker run --rm -it wanglabneuro/fullpursuit-base:latest bash -c "python -c 'import spikesorting_fullpursuit; print(spikesorting_fullpursuit.__version__)'"
docker run --rm -it spikeinterface/fullpursuit-base:latest bash -c "python -c 'import spikesorting_fullpursuit; print(spikesorting_fullpursuit.__version__)'"

Check that pyopencl can detect your graphics card:
docker run --rm -it --gpus all wanglabneuro/fullpursuit-base:latest bash -c "python -c 'import pyopencl as cl; platforms = cl.get_platforms(); print(platforms[0].get_devices(cl.device_type.GPU))'"
docker run --rm -it --gpus all spikeinterface/fullpursuit-base:latest bash -c "python -c 'import pyopencl as cl; platforms = cl.get_platforms(); print(platforms[0].get_devices(cl.device_type.GPU))'"

### Test
Adapted from the readme file's instructions.

First make the voltage data and save ground truth (mounting the host data folder to the docker data folder):
```bash
docker run --rm -it -v <host-data-folder>:<docker-data-folder> --gpus all wanglabneuro/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/make_and_save_voltage.py <docker-data-folder>/test_voltage.npy <docker-data-folder>/test_ground_truth.pickle"
docker run --rm -it -v <host-data-folder>:<docker-data-folder> --gpus all spikeinterface/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/make_and_save_voltage.py <docker-data-folder>/test_voltage.npy <docker-data-folder>/test_ground_truth.pickle"
```
e.g.:
Create the data folder: `mkdir -p /home/$USER/data/fullpursuit_data`
Then create the groundtruth data: `docker run --rm -it -v /home/$USER/data/fullpursuit_data:/data --gpus all wanglabneuro/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/make_and_save_voltage.py /data/test_voltage.npy /data/test_ground_truth.pickle"`
Then create the groundtruth data: `docker run --rm -it -v /home/$USER/data/fullpursuit_data:/data --gpus all spikeinterface/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/make_and_save_voltage.py /data/test_voltage.npy /data/test_ground_truth.pickle"`

Then run the sorting algorithm on the generated synthetic data:
```bash
docker run --rm -it -v <host-data-folder>:<docker-data-folder> --gpus all wanglabneuro/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/test_demo_run_sort.py <docker-data-folder>/test_voltage.npy <docker-data-folder>/sorted_demo.pickle"
docker run --rm -it -v <host-data-folder>:<docker-data-folder> --gpus all spikeinterface/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/test_demo_run_sort.py <docker-data-folder>/test_voltage.npy <docker-data-folder>/sorted_demo.pickle"
```
e.g.:
`docker run --rm -it -v /home/$USER/data/fullpursuit_data:/data --gpus all wanglabneuro/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/test_demo_run_sort.py /data/test_voltage.npy /data/sorted_demo.pickle"`
`docker run --rm -it -v /home/$USER/data/fullpursuit_data:/data --gpus all spikeinterface/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/test_demo_run_sort.py /data/test_voltage.npy /data/sorted_demo.pickle"`

Run automated postprocessing to place sorter output into a dictionary sorted neurons:
```bash
docker run --rm -it -v <host-data-folder>:<docker-data-folder> --gpus all wanglabneuro/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/test_demo_postprocessing.py <docker-data-folder>/sorted_demo.pickle <docker-data-folder>/sorted_neurons.pickle"
docker run --rm -it -v <host-data-folder>:<docker-data-folder> --gpus all spikeinterface/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/test_demo_postprocessing.py <docker-data-folder>/sorted_demo.pickle <docker-data-folder>/sorted_neurons.pickle"
```
e.g.:
`docker run --rm -it -v /home/$USER/data/fullpursuit_data:/data --gpus all wanglabneuro/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/test_demo_postprocessing.py /data/sorted_demo.pickle /data/sorted_neurons.pickle"`
`docker run --rm -it -v /home/$USER/data/fullpursuit_data:/data --gpus all spikeinterface/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/test_demo_postprocessing.py /data/sorted_demo.pickle /data/sorted_neurons.pickle"`

Finally run a quick script that compares sorted results to the ground truth generated data and make a couple figures:
```bash
docker run --rm -it -v <host-data-folder>:<docker-data-folder> --gpus all wanglabneuro/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/test_demo_results.py <docker-data-folder>/sorted_neurons.pickle <docker-data-folder>/test_ground_truth.pickle"
docker run --rm -it -v <host-data-folder>:<docker-data-folder> --gpus all spikeinterface/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/test_demo_results.py <docker-data-folder>/sorted_neurons.pickle <docker-data-folder>/test_ground_truth.pickle"
```
e.g.:
`docker run --rm -it -v /home/$USER/data/fullpursuit_data:/data --gpus all wanglabneuro/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/test_demo_results.py /data/sorted_neurons.pickle /data/test_ground_truth.pickle"`
`docker run --rm -it -v /home/$USER/data/fullpursuit_data:/data --gpus all spikeinterface/fullpursuit-base:latest bash -c "python /src/fullpursuit/demos/test_demo_results.py /data/sorted_neurons.pickle /data/test_ground_truth.pickle"`
3 changes: 1 addition & 2 deletions full-binary-pursuit/build.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#!/bin/bash

# docker build -t spikeinterface/fullpursuit-base:latest -t spikeinterface/fullpursuit-base:1.1.0_cuda-11.7.1 .
docker build -t wanglabneuro/fullpursuit-base:latest -t wanglabneuro/fullpursuit-base:1.1.0_cuda-11.7.1 .
docker build -t spikeinterface/fullpursuit-base:latest -t spikeinterface/fullpursuit-base:1.1.0_cuda-11.7.1 .

# version info
# 01/31/2024 - FBP 1.1.0 CUDA 11.7.1 Ubuntu 22.04
3 changes: 1 addition & 2 deletions full-binary-pursuit/push.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#!/bin/bash

# docker push --all-tags spikeinterface/fullpursuit-base
docker push --all-tags wanglabneuro/fullpursuit-base
docker push --all-tags spikeinterface/fullpursuit-base

0 comments on commit 6ff51d0

Please sign in to comment.