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.
Installation
DriftlessMap 1.4.0 is available as a desktop application for end users and as a Python package for developers.
Mode 1: desktop application for end users
No Python or Conda installation is required. Download the asset for your computer from GitHub Releases:
- Windows 64-bit: download
DriftlessMap-1.4.0-Windows-x64.zip, extract the complete folder, and double-clickDriftlessMap.exe. Do not move the executable out of its extracted folder. - macOS: download
DriftlessMap-1.4.0-macOS.dmg, open it, and dragDriftlessMap.appto Applications. The application bundle includes the DriftlessMap icon and all Python dependencies.
Release builds are currently unsigned. If Windows SmartScreen or macOS Gatekeeper displays a warning, verify that the file came from the official release page. On macOS, Control-click the app, choose Open, and confirm the first launch. Code signing and notarization are planned for a future release.
Mode 2: Conda and pip for developers
DriftlessMap supports Python 3.10–3.14 and Qt 6 through PyQt6. Python 3.14 is recommended for core development:
conda create --name DriftlessMap python=3.14 -y
conda activate DriftlessMap
python -m pip install --upgrade pip
git clone https://github.com/mohebi-n-associates/DriftlessMap.git
cd DriftlessMap
python -m pip install -e ".[test]"
Launch the editable installation with driftlessmap or
python -m driftlessmap. Library users can call driftlessmap.run().
To use the stable PyPI package instead of an editable checkout, run:
python -m pip install driftlessmap
Check your version and upgrade
Check the installed version:
python -m driftlessmap --version
Compare it against the latest stable release on PyPI:
pip index versions driftlessmap
Upgrade to the latest stable release:
python -m pip install --upgrade driftlessmap
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]"
Building the desktop applications
Native applications must be built on their target operating system. The
release workflow builds both platforms automatically; maintainers can also run
packaging/build_windows.ps1 on Windows or packaging/build_macos.sh on
macOS. Outputs are written to dist/ as a Windows ZIP and a macOS DMG.
Compatibility with HERBS
The rebrand is designed not to strand existing research data:
- DriftlessMap reads legacy
.herbs,.herbslayer,.herbsobj,.herbsslice, and.herbstrifiles. - New files use
.dmap,.dmaplayer,.dmapobj,.dmapslice, and.dmaptri. - DriftlessMap installs only the
driftlessmapPython package and command. It does not overwrite the original HERBS package, so both distributions can be installed in the same environment. New code should useimport driftlessmap. - Existing
HERBS_CONFIG_DIRoverrides remain supported. New configurations should useDRIFTLESSMAP_CONFIG_DIR. - Some persisted coordinate field names retain
herbsbecause 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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file driftlessmap-1.4.0.tar.gz.
File metadata
- Download URL: driftlessmap-1.4.0.tar.gz
- Upload date:
- Size: 4.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c6375390c9a6b0132dab23b4fb471b55a072ac496aac8f1e5a1e5189eeee422
|
|
| MD5 |
5adedb706693ed1e3596c16e46b55500
|
|
| BLAKE2b-256 |
05771031a20cb8509e232262cf6141379d12778eb1a135e3c982865e29285b96
|
Provenance
The following attestation bundles were made for driftlessmap-1.4.0.tar.gz:
Publisher:
release.yml on mohebi-n-associates/DriftlessMap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
driftlessmap-1.4.0.tar.gz -
Subject digest:
0c6375390c9a6b0132dab23b4fb471b55a072ac496aac8f1e5a1e5189eeee422 - Sigstore transparency entry: 2618875244
- Sigstore integration time:
-
Permalink:
mohebi-n-associates/DriftlessMap@edeff6edd324ba89d9a094db613a46c0fb400fd3 -
Branch / Tag:
refs/tags/v1.4.0 - Owner: https://github.com/mohebi-n-associates
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@edeff6edd324ba89d9a094db613a46c0fb400fd3 -
Trigger Event:
release
-
Statement type:
File details
Details for the file driftlessmap-1.4.0-py3-none-any.whl.
File metadata
- Download URL: driftlessmap-1.4.0-py3-none-any.whl
- Upload date:
- Size: 4.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c46aaa1184cfd985c2f3bea5f1c44adc8b87fec55b41e7380c3e9eda774d396
|
|
| MD5 |
c72ad2018c3231a56797478795dafaf8
|
|
| BLAKE2b-256 |
22e7c5f385d5c90aeaabbd6d294d8378497f022f30e209638110f8d705e7d8f9
|
Provenance
The following attestation bundles were made for driftlessmap-1.4.0-py3-none-any.whl:
Publisher:
release.yml on mohebi-n-associates/DriftlessMap
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
driftlessmap-1.4.0-py3-none-any.whl -
Subject digest:
4c46aaa1184cfd985c2f3bea5f1c44adc8b87fec55b41e7380c3e9eda774d396 - Sigstore transparency entry: 2618875250
- Sigstore integration time:
-
Permalink:
mohebi-n-associates/DriftlessMap@edeff6edd324ba89d9a094db613a46c0fb400fd3 -
Branch / Tag:
refs/tags/v1.4.0 - Owner: https://github.com/mohebi-n-associates
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@edeff6edd324ba89d9a094db613a46c0fb400fd3 -
Trigger Event:
release
-
Statement type: