SpikeInterface / probeinterface_library

Collection of probe description for probeinterface
MIT License
9 stars 7 forks source link

double-sided probes #9

Open WeissShahaf opened 1 week ago

WeissShahaf commented 1 week ago

Dear Devs,

what is the best way to handle double-sided probes? should i treat the two sides as different probe groups or if they are thin enough as a 3d probe with contacts having same x,y, but different z?

samuelgarcia commented 1 week ago

It is a complicated case that was not taken in account. One way could be to handle then using 3d probe and playing on the plane of the contact a small z diff would be also a good idea. Maybe you could also treat then as 2 shanks... @alejoe91 lets have a discussion about this

alejoe91 commented 1 week ago

Hi @WeissShahaf

@samuelgarcia yeah I was also thinking this could be handled by 3d probes. In addition, probe contours could also handle 3d point to describe a 3D polygon. I think that the 2 sides could also be split in two shanks, since you would not expect to see the same units and one would probably want to spike sort each side separately.

@WeissShahaf do you have a referebce for the probe you're using?

WeissShahaf commented 6 days ago

@alejoe91 the new 128ch cambridge probes (will soon be updated) have a thickness of 30um. at that thickness, you can very well detect the same cells on both sides.

for example the H7. is 15 um thick, the double-sided version is 30 um thick. same layout: <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">

part | electrodes_n | shank_lenght_mm | shanks_n | shank_thickness_um | electrodes_total | electrodesPerShank_n | electrodesCustomPosition | ElectrodeShape | electrodeWidth_um | electrodeHeight_um | electrodeImpLow_kOhm | ElectrodeImpHigh_kOhm | OptoSafe | shankBaseWidth_um | shankTipWidth_um | probeShape | electrode_yShiftCol | electrode_distrib_shape | electrode_cols_n | electrode_rows_n | shankSpacing_um | electrodeSpacingWidth_um | electrodeSpacingHeight_um | electrodeSpanWidth_um | electrodeSpanHeight_um -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- | -- H7 | 64 | 9 | 2 | 15 | 64 | 32 | -20.0 25.0 -20.5 75.0 -21.0 125.0 -21.5 175.0 -22.0 225.0 -22.5 275.0 -23.0 325.0 -23.5 375.0 -24.0 425.0 -24.5 475.0 -25.0 525.0 -25.5 575.0 -26.0 625.0 -26.5 675.0 -27.0 725.0 -27.5 775.0 0.0 0.0 0.5 50.0 1.0 100.0 1.5 150.0 2.0 200.0 2.5 250.0 3.0 300.0 3.5 350.0 4.0 400.0 4.5 450.0 5.0 500.0 5.5 550.0 6.0 600.0 6.5 650.0 7.0 700.0 7.5 750.0 | rect | 11 | 15 | 50 | 50 | TRUE | 60 | 60 | -40.0 825.0 -30.0 0.0 -10.0 -65.0 7.0 0.0 25.0 825.0 | 0 -25 | Vshaped | 2 | 16 | 250 | 52 | 50 | 63 33 | 775

so i was thinking just duplicating the electrode positions, adding a -15 to the z of the first 64 channels, and a +15 to the last 64 channels

WeissShahaf commented 6 days ago

the DBC JANUS probes like the P64-1 are also 30um. i'm not sure about Neuronexus Fusion probes that will soon come are in testing now. so my intuition is to go as 3D probes. and maybe sort by group. But I'm not sure how the different sorters deal with shanks (total seperation or still applying the radius criterion for detected spikes?) and i'm pretty sure none deal with 3D. so maybe representing as different shanks is the better option until they do?