Format specifications¶
With probeinterface
we introduce a simple format based on the JSON format.
The format is a trivial json-serialisation of a Python
dictionary. The dictionary maps every
attribute of the Probe class.
In fact, the format itself describes a ProbeGroup, so it can include several probes. The format can describe a simple unique probe with its geometry and wiring, as well as a full experimental setup with several probes and their wiring to the recording device.
Here is a description of the fields in the json file.
- Let’s imagine we want to describe a probe with:
8 channels
2 shanks (one tetrode on each shank)
The first part contains fields about the probeinterface
version
and a list of probes:
{
"specification": "probeinterface",
"version": "0.1.0",
"probes": [
{
...
}
]
}
Then each probe will be a sub-dictionary in the probes
list:
{
"ndim": 2,
"si_units": "um",
"annotations": {
"name": "2 shank tetrodes",
"manufacturer": "homemade"
},
"contact_positions": [
...
The probe dictionary contains all necessary fields and optional fields.
- Necessary:
ndim
si_units
annotations
contact_positions
contact_shapes
contact_shape_params
- Optional:
contact_plane_axes
probe_planar_contour
device_channel_indices
shank_ids
An example of a full json file:
{
"specification": "probeinterface",
"version": "0.1.0",
"probes": [
{
"ndim": 2,
"si_units": "um",
"annotations": {
"name": "2 shank tetrodes",
"manufacturer": "homemade"
},
"contact_positions": [
[
25.0,
0.0
],
[
0.0,
25.0
],
[
-25.0,
0.0
],
[
0.0,
-25.0
],
[
175.0,
0.0
],
[
150.0,
25.0
],
[
125.0,
0.0
],
[
150.0,
-25.0
]
],
"contact_plane_axes": [
[
[
1.0,
0.0
],
[
0.0,
1.0
]
],
[
[
1.0,
0.0
],
[
0.0,
1.0
]
],
[
[
1.0,
0.0
],
[
0.0,
1.0
]
],
[
[
1.0,
0.0
],
[
0.0,
1.0
]
],
[
[
1.0,
0.0
],
[
0.0,
1.0
]
],
[
[
1.0,
0.0
],
[
0.0,
1.0
]
],
[
[
1.0,
0.0
],
[
0.0,
1.0
]
],
[
[
1.0,
0.0
],
[
0.0,
1.0
]
]
],
"contact_shapes": [
"circle",
"circle",
"circle",
"circle",
"circle",
"circle",
"circle",
"circle"
],
"contact_shape_params": [
{
"radius": 6
},
{
"radius": 6
},
{
"radius": 6
},
{
"radius": 6
},
{
"radius": 6
},
{
"radius": 6
},
{
"radius": 6
},
{
"radius": 6
}
],
"probe_planar_contour": [
[
-45.0,
85.0
],
[
-45.0,
45.0
],
[
-45.0,
-45.0
],
[
0.0,
-125.0
],
[
45.0,
-45.0
],
[
45.0,
45.0
],
[
105.0,
45.0
],
[
105.0,
-45.0
],
[
150.0,
-125.0
],
[
195.0,
-45.0
],
[
195.0,
45.0
],
[
195.0,
85.0
]
],
"shank_ids": [
0,
0,
0,
0,
1,
1,
1,
1
]
}
]
}