Skip to content
m-beauPublic

About

⚡ Generate channel maps for Neuropixels probes that respect electrode-ADC wiring constraints! ⚡

Resources

Code of conduct

Contributing

Stars

64 stars

Watchers

3 watching

Forks

Latest commit

 

History

356 Commits

Folders and files

Repository files navigation

PixelMap: a browser-based GUI to generate Neuropixels channelmaps

DOI Tests Documentation License: GPL v3 Python 3.11+

Generate IMRO channelmaps for Neuropixels probes that respect electrode-ADC wiring constraints.

Online GUI | Documentation | Paper

What is PixelMap?

  • Browser-based generation of .imro files for SpikeGLX — the tables that tell SpikeGLX which channels to record from, what reference to use, and recording amplification gain.
  • Arbitrary selection of electrode geometries, within the boundaries of Neuropixels electrode-ADC hardware wiring constraints.
  • Common presets available out of the box (reach out to suggest other common geometries!).
  • Option to load a pre-existing .imro file as a starting point (or simply to visualize a probe geometry).

GUI screenshot

Installation

git clone https://github.com/m-beau/pixelmap.git
cd pixelmap
uv run pixelmap  # installs dependencies automatically and launches the GUI

Also available via pip, conda, or Docker.

Quick Start

Use the online GUI directly in your browser — no installation required.

Or launch it locally:

uv run pixelmap   # or: pixelmap (if installed with pip)
  1. Select your probe type from the dropdown.
  2. Choose a preset or select electrodes interactively (click, drag, or type ranges).
  3. Download the .imro file once you've reached the target electrode count.
  4. Load in SpikeGLX via the IM-Setup tab.

Python API

import pixelmap as cmg

imro_list = cmg.generate_imro_channelmap(
    probe_type="2.0-4shanks",
    layout_preset="tips_all",
    wiring_file="wiring_maps/2.0-4shanks_wiring.csv"
)
cmg.save_to_imro_file(imro_list, "my_channelmap.imro")

See the full documentation for the complete API reference, GUI guide, preset reference, and troubleshooting.

Supported Probes

Probe type Status
1.0 Supported
2.0, 1-shank Supported
2.0, 4-shanks Supported
NHP Partially Supported
Quadbase Supported
NXT Planned

UHD and Opto are not currently on our roadmap — open an issue if you need support for these.

Contributing

Bug reports and feature requests are welcome via GitHub Issues. Pull requests are also welcome — please open an issue first to discuss significant changes.

Citation

If you use PixelMap in your research, please cite our paper in the Journal of Open Source Software (JOSS):

Beau, M., Fabre, J. M. J., Tabedzki, C., Yanar, J., & Brody, C. D. (2026). PixelMap: A Browser-Based Tool for Wiring-Aware, Anatomy- and Activity-Guided Design of Neuropixels Channelmaps. Journal of Open Source Software. https://doi.org/10.21105/joss.11008

License

This project is licensed under the GNU General Public License v3.0.

About

⚡ Generate channel maps for Neuropixels probes that respect electrode-ADC wiring constraints! ⚡

Resources

Code of conduct

Contributing

Stars

64 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages