Skip to main content

DriftlessMap

Interactive histology registration and brain-atlas mapping.

DriftlessMap is an open-source desktop application for registering histological images to reference brain atlases, reconstructing probes and other anatomical objects, and visualizing data in 2D and 3D. The name refers to Wisconsin's Driftless Area and to the project's focus on dependable spatial mapping.

Origin and independence

DriftlessMap began as a fork of HERBS — Histological E-data Registration in rodent Brain Spaces — originally created by Jingyi Guo Fuglstad, Pearl Saldanha, Jacopo Paglia, Jonathan R. Whitlock, and HERBS contributors.

DriftlessMap is independently maintained. It is not affiliated with or endorsed by the original HERBS developers. Their foundational work remains credited in the Git history, license, project history, contributors, authors, and acknowledgements.

Current development is led by Mohebi & Associates, with Ali Mohebi as project lead and maintainer.

If DriftlessMap contributes to published research, please cite both the software version used and the original HERBS paper:

Fuglstad, J. G., Saldanha, P., Paglia, J., & Whitlock, J. R. (2023). Histological E-data Registration in rodent Brain Spaces. eLife, 12, e83496. https://doi.org/10.7554/eLife.83496

See CITATION.cff for machine-readable citation metadata.

Features

  • 2D and 3D visualization of volumetric brain atlases and arbitrary slices.
  • Interactive histology-to-atlas registration with local elastic deformation.
  • Probe planning, reconstruction, contact mapping, and CSV export.
  • Drawing, cell, virus-expression, and user-defined object workflows.
  • Safe, versioned project and object archives.
  • Support for custom compatible atlases.

Install from PyPI

DriftlessMap 1.2.0 supports Python 3.10–3.14 and Qt 6 through PyQt6. Python 3.14 in a dedicated environment is recommended for new installations.

Install the latest stable release:

python -m pip install driftlessmap

For a dedicated Conda environment:

conda create --name DriftlessMap python=3.14 -y
conda activate DriftlessMap
python -m pip install --upgrade pip
python -m pip install driftlessmap

Launch the application with any of:

driftlessmap
python -m driftlessmap
import driftlessmap

driftlessmap.run()

For an editable development install, clone the repository and use python -m pip install -e ..

Zeiss CZI files

CZI support uses the optional aicspylibczi package, whose prebuilt packages currently support Python through 3.13:

conda create --name DriftlessMap-CZI python=3.13 -y
conda activate DriftlessMap-CZI
python -m pip install --upgrade pip
python -m pip install "driftlessmap[czi]"

Compatibility with HERBS

The rebrand is designed not to strand existing research data:

  • DriftlessMap reads legacy .herbs, .herbslayer, .herbsobj, .herbsslice, and .herbstri files.
  • New files use .dmap, .dmaplayer, .dmapobj, .dmapslice, and .dmaptri.
  • DriftlessMap installs only the driftlessmap Python package and command. It does not overwrite the original HERBS package, so both distributions can be installed in the same environment. New code should use import driftlessmap.
  • Existing HERBS_CONFIG_DIR overrides remain supported. New configurations should use DRIFTLESSMAP_CONFIG_DIR.
  • Some persisted coordinate field names retain herbs because changing them would break existing datasets and downstream analysis scripts.

The original HERBS application may not be able to open files newly written by DriftlessMap. Keep backups before converting important projects.

Documentation

Read the DriftlessMap User Manual for installation, atlas, registration, reconstruction, persistence, export, and troubleshooting guidance. The original HERBS Cookbook and tutorials remain useful for workflows whose interface has not changed.

The screenshot below is retained from HERBS for historical workflow reference; its title bar predates the DriftlessMap rebrand.

Historical HERBS interface used as the basis for DriftlessMap

Do not store downloaded atlases inside the source or installed package directory. Keep each atlas in its own external folder.

See What’s New in DriftlessMap for release history and migration notes.

License

DriftlessMap is distributed under the MIT License. The original HERBS copyright and permission notice are preserved, and a separate copyright notice covers subsequent DriftlessMap modifications. See LICENSE.txt and ORIGINS.md.

Please report issues or start discussions at https://github.com/mohebi-n-associates/DriftlessMap.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

driftlessmap-1.2.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

driftlessmap-1.2.0-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file driftlessmap-1.2.0.tar.gz.

File metadata

  • Download URL: driftlessmap-1.2.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for driftlessmap-1.2.0.tar.gz
Algorithm Hash digest
SHA256 5a7bf530d3453fe352f4a82772506f4bb7285221dfb795e1a2154f5e7b51d86b
MD5 ab9765fe6a94db03fb45829fe51a8d2c
BLAKE2b-256 551ebd6261c0f49f912ff616d0ee88137ae6c9081c8e14bc6ba18f56e8d48308

See more details on using hashes here.

Provenance

The following attestation bundles were made for driftlessmap-1.2.0.tar.gz:

Publisher: release.yml on mohebi-n-associates/DriftlessMap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file driftlessmap-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: driftlessmap-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for driftlessmap-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e47f544dadcee0a150c11242d3a903ecbc75eba5d6144c6ddbb31ad630e0c807
MD5 d57031fd82a76bc533e2dc785e5844e8
BLAKE2b-256 d810299b4c32467c2dadf78d6fe71f2cba7aea0f05a577382d24e4e5610d74f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for driftlessmap-1.2.0-py3-none-any.whl:

Publisher: release.yml on mohebi-n-associates/DriftlessMap

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.4.0

2 files

This release

1.2.0 This release

2 files

1.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page