|
1 | 1 | Probeinterface public library |
2 | 2 | ============================= |
3 | 3 |
|
4 | | -Probeinterface also handles a collection of probe descriptions on the |
5 | | -`GitHub platform <https://github.com/SpikeInterface/probeinterface_library>`_ |
| 4 | +Probeinterface also handles a collection of probe descriptions in the |
| 5 | +`ProbeInterface library <https://github.com/SpikeInterface/probeinterface_library>`_ |
6 | 6 |
|
7 | | -The python module has a simple function to download and cache locally by using `get_probe(...)` :: |
| 7 | +The python module has a simple function to download and cache locally by using ``get_probe(...)``: |
| 8 | + |
| 9 | + |
| 10 | +.. code-block:: python |
8 | 11 |
|
9 | 12 | from probeinterface import get_probe |
10 | | - probe = get_probe(manufacturer='neuronexus', |
11 | | - probe_name='A1x32-Poly3-10mm-50-177') |
| 13 | + probe = get_probe( |
| 14 | + manufacturer='neuronexus', |
| 15 | + probe_name='A1x32-Poly3-10mm-50-177' |
| 16 | + ) |
| 17 | +
|
| 18 | +
|
| 19 | +Once a probe is downloaded, it is cached locally for future use. |
| 20 | + |
| 21 | +There are several helper functions to explore the library: |
| 22 | + |
| 23 | +.. code-block:: python |
| 24 | +
|
| 25 | + from probeinterface.library import ( |
| 26 | + list_manufacturers, |
| 27 | + list_probes_by_manufacturer, |
| 28 | + list_all_probes |
| 29 | + ) |
| 30 | +
|
| 31 | + # List all manufacturers |
| 32 | + manufacturers = list_manufacturers() |
| 33 | +
|
| 34 | + # List all probes for a given manufacturer |
| 35 | + probes = list_probes_by_manufacturer('neuronexus') |
| 36 | +
|
| 37 | + # List all probes in the library |
| 38 | + all_probes = list_all_probes() |
| 39 | +
|
| 40 | + # Cache all probes locally |
| 41 | + cache_full_library() |
| 42 | +
|
12 | 43 |
|
| 44 | +Each function has an optional ``tag`` argument to specify a git tag/branch/commit to get a specific version of the library. |
13 | 45 |
|
14 | | -We expect to build rapidly commonly used probes in this public repository. |
15 | 46 |
|
16 | | -How to contribute |
17 | | ------------------ |
| 47 | +How to contribute to the library |
| 48 | +-------------------------------- |
18 | 49 |
|
19 | | -TODO: explain with more details |
| 50 | +Each probe in the library is represented by a JSON file and an image. |
| 51 | +To contribute a new probe to the library, follow these steps: |
20 | 52 |
|
21 | | - 1. Generate the JSON file with probeinterface (or directly |
22 | | - with another language) |
| 53 | + 1. Generate the JSON file with probeinterface (or directly with another language) |
23 | 54 | 2. Generate an image of the probe with the `plot_probe` function in probeinterface |
24 | 55 | 3. Clone the `probeinterface_library repo <https://github.com/SpikeInterface/probeinterface_library>`_ |
25 | | - 4. Put the JSON file and image into the correct folder or make a new folder (following the format of the repo) |
| 56 | + 4. Put the JSON file and image into the correct folder: ``probeinterface_library/<manufacturer>/<model_name>/``` |
26 | 57 | 5. Push to one of your branches with a git client |
27 | 58 | 6. Make a pull request to the main repo |
0 commit comments