Skip to content

Add shank thickness to definition #73

Description

@kennethjyang

Hi,
I'm one of the developers of Pinpoint. We're working on integrating the library into our system and would like to have shank/probe thickness information available in the JSON.

With the contour information, we can generate probe shapes, but as a 3D application, we also need thickness information to complete the probe. Currently, we are using a nominal depth, but it would be great if the actual depth of the probe could be made available.

Thank you!

Activity

  1. alejoe91 commented on Jul 31, 2026

    @alejoe91
    Member

    Hi @kennethjyang

    I think it's a great idea and we can definitely add it to the format. Many of us will be off over the next couple of weeks so let's aim to get this integrated by the end of the month!

  2. alejoe91 commented on Sep 15, 2026

    @alejoe91
    Member

    @samuelgarcia @h-mayorquin I think this is a good idea. We should probably add it optionally to the schema and ask the various manufacturers for this piece of info

  3. h-mayorquin commented on Sep 15, 2026

    @h-mayorquin
    Collaborator

    Hi, yes, I was thinking about it yesterday, I have collected some, I will publish an issue soon with some open questions though.

  4. h-mayorquin commented on Sep 15, 2026

    @h-mayorquin
    Collaborator

    Hi @kennethjyang

    For Neuropixels the thickness is already available. imec's probe features table (the one probeinterface ships) has shank_thickness_um for every part number: 24 µm for the 1.0 and 2.0 rodent probes (including the Quad, NP2020), 30 µm for NXT and 35 to 132 µm for the NHP probes. Our reader uses the shank width and tip length from that table to draw the contour but drops the thickness. I opened SpikeInterface/probeinterface#467 to store it as a shank_thickness_um annotation. While writing this I realized that @alejoe91 already merged that PR (great!) so that will be in the next release.

    A few questions that would be good to discuss with you about Neuropixels as that will help us with our general design questions:

    1. imec's number is the silicon only. For the rodent probes that is the whole shank, but some NHP variants have a tube underneath or around the shank (NP1040, NP1050) or a parylene coating. Is the silicon thickness what you want for drawing, or do you need the outer size?
    2. Besides the shank thickness, what other geometry would be useful for a tool like Pinpoint? For example the base dimensions, the shank length or the tip length. Some manufacturers publish those (Plexon's datasheets give the base width, length and thickness) but we don't store them. From np2.0 quad 3d model VirtualBrainLab/Pinpoint#738 I understand you take the base and headstage from CAD models right now.

    Finally, I am working on anatomical localization integration through NWB, what would be a good way to reach you? I would like to talk about it

  5. kennethjyang commented on Sep 15, 2026

    @kennethjyang
    Author

    Thanks for addressing this issue! I'm going to add @dbirman to the convo who is the current active maintainer for Pinpoint. The new version of Pinpoint is being developed here: https://github.com/AllenNeuralDynamics/pinpoint and is live here: https://pinpoint.allenneuraldynamics.org/v5/#/. You can launch it and see what a probe looks like (or install more probes).

    Essentially, we now represent probes by their shank contour geometry from probeinterface and then use fake proxy geometry for the head stage and rod (or custom uploaded 3D models). Right now, we've been hardcoding a value until there is some sort of standardized way to read it from all manufacturers. Maybe in the interim we can pick up the new annotation value for Neuropixels, but in general we're trying not to do one-off implementations like that since it makes long-term maintenance harder. So, some optional but standardized value that provides shank thickness would be great. This goes for rodent and the other types of probes as well. We haven't considered implementing the probes with fiber tubes, but if there is a standardized way to represent those, we can look into it (right now it's assumed to be a custom 3D model users add).

    Besides shank thickness, any standardized way to represent the head stage and total bounding box for the probe would be fantastic. I see that Plexon has this data, but again we're trying not to do manufacturer-specific implementations. We currently use fake proxy geometry by default (just a cone extending from the base of the shanks), or users can provide their own models if they have them. It would be great if headstage dimensions could be provided so our proxy geometry can be more representative of the probe. Visual detail doesn't matter here; just the bounds would be fine.

    Another thing that would be nice, but probably very difficult, would be some way to encode possible combinations of active contacts in a standardized way. Right now we aren't handling this and simply provide a way for the user to move a sliding window on the shank to "select" the window of active contacts. If values for which groups of contacts can be active at the same time, or something like that, could be made available, we can provide a more realistic way to show only active contacts.

    For the localization stuff, it's probably best to talk to Dan about that, but I'd be happy to stay in the loop so I know what's going on and answer questions about Pinpoint. I'm probably disappointing Dan here by continuing to contribute even though I'm supposed to be working on my PhD 😝

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions