driftlessmap 1.1.0__tar.gz → 1.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/CITATION.cff +1 -1
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/MANIFEST.in +2 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/PKG-INFO +61 -14
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/README.md +57 -12
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/WhatsNew.md +79 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/app.py +630 -33
- driftlessmap-1.4.0/driftlessmap/icons/app/driftlessmap.icns +0 -0
- driftlessmap-1.4.0/driftlessmap/icons/app/driftlessmap.ico +0 -0
- driftlessmap-1.4.0/driftlessmap/icons/app/driftlessmap.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/image_reader.py +48 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/image_view.py +37 -3
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/main_window.ui +12 -3
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/object_control.py +3 -3
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/persistence.py +89 -8
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/probe_csv.py +78 -3
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/probe_reconstruction.py +79 -1
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/probe_utiles.py +49 -0
- driftlessmap-1.4.0/driftlessmap/provenance.py +317 -0
- driftlessmap-1.4.0/driftlessmap/run_driftlessmap.py +13 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/toolbox.py +22 -1
- driftlessmap-1.4.0/driftlessmap/version.py +9 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap.egg-info/PKG-INFO +61 -14
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap.egg-info/SOURCES.txt +6 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap.egg-info/requires.txt +4 -1
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/pyproject.toml +6 -1
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_image_reader.py +22 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_object_control.py +2 -1
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_packaging_metadata.py +31 -1
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_persistence.py +59 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_probe_csv.py +28 -1
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_probe_mapping.py +32 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_probe_reconstruction.py +17 -1
- driftlessmap-1.4.0/tests/test_project_persistence.py +163 -0
- driftlessmap-1.4.0/tests/test_provenance.py +97 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_runtime_paths.py +17 -4
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_version.py +23 -2
- driftlessmap-1.1.0/driftlessmap/run_driftlessmap.py +0 -4
- driftlessmap-1.1.0/driftlessmap/version.py +0 -3
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/AUTHOR.txt +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/CONTRIBUTORS.md +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/LICENSE.txt +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/ORIGINS.md +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/THANKS.txt +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/__init__.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/__main__.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/about.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/allen_downloader.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/atlas_downloader.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/atlas_loader.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/atlas_processor.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/atlas_transform.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/atlas_view.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/cell_detection.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/coordinate_validation.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/czi_reader.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/data/WHS_atlas_labels.pkl +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/data/allen_mice_atlas_labels.pkl +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/data/atlas_labels.pkl +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/data/query.csv +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/download_utils.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/herbs.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/backward.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/dot.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/down-arrow.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/fast_backward.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/fast_forward.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/forward.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/layers/add.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/layers/ai.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/layers/eye_off.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/layers/eye_on.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/layers/eye_white.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/layers/hi.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/layers/trash.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/object.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/add.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/atlascontrol.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/atlascontrol.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/bnd.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/c_section.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/c_section2.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/cell.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/check.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/compare.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/contour.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/h_section.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/info.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/layers.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/layers.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/line.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/link.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/link_off.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/merge.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/object.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/probe.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/probe.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/rotation_horizontal.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/rotation_vertical.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/s_section.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/tool.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/tool.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/trash.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/tree_checked.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/treeview.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/treeview.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/treeview2.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/sidebar/virus.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/tdown.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/accept.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/accept2.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/aim.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/aim_not.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/anchor.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/anticlockwise_rotation.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/atlas_icon.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/boundary_register.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/cancel.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/cell_select.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/cell_select_not.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/check.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/clockwise_rotation.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/closed_path.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/closed_path2 copy.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/closed_path2.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/eraser.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/eraser.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/eye.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/eye_closed.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/fill.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/gps.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/h_flip.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/handle.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/image_icon.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/image_icon.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/info.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/inpart.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/inpart.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/lasso.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/lasso.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/left90.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/line.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/line_sites.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/linear_silicon.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/linear_silicon.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/list.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/location.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/magic-wand.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/magic_white.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/mask.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/match.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/matchbnd.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/matching.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/merge.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/move_down.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/move_left.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/move_right.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/move_up.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/moving.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/multi-probe.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/multi_pencil.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/multi_probe.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/object.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/open_path.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/outpart.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/outpart.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/pencil.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/pencil.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/plasso.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/probe.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/radar.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/rotation.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/rotation_clockwise.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/rotation_counter_clockwise.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/ruler.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/separate_sites.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/single_pencil.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/toa.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/toa_delete.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/toaa.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/toh.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/toh_delete.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/tohh.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/trans.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/trans.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/triangulation.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/two_window.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/unmerge.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/v_flip.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/virus.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/virus_register.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/vis2d.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/window2.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/window3.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/toolbar/window4.png +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/tree_close.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/tree_open.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/icons/up-arrow.svg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/image_curves.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/image_stacks.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/images_reader.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/label_tree.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/layer_validation.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/layers_control.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/movable_points.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/obj_items.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/popup_message.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/atlas_view_group_box.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/box_label.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/channel_selector.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/color_combo.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/decor_label.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/dialogs.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/hidden_line_edit.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/label_tree.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/main_window.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/menu_bar.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/multi_handle_slider.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/obj_ctrl_bottom_button.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/object_text_button.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/page_control.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/rotation_button.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/side_bar.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/spinbox.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/tabs.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/qss/tool_bar.qss +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/resources.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/roi_analysis.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/slice_stacks.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/slice_validation.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/triangulation.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/triangulation_points.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/user_settings.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/uuuuuu.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/widgets_utils.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap/wtiles.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap.egg-info/dependency_links.txt +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap.egg-info/entry_points.txt +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/driftlessmap.egg-info/top_level.txt +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/setup.cfg +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/setup.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_allen_downloader.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_atlas_loader.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_atlas_transform.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_atlas_view.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_cell_detection.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_coordinate_validation.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_download_utils.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_label_tree.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_layer_validation.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_layers_control.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_roi_analysis.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_slice_validation.py +0 -0
- {driftlessmap-1.1.0 → driftlessmap-1.4.0}/tests/test_triangulation.py +0 -0
|
@@ -25,6 +25,8 @@ include driftlessmap/data/atlas_labels.pkl
|
|
|
25
25
|
# Included are: icons/, data/, qss/
|
|
26
26
|
recursive-include driftlessmap/icons *.svg
|
|
27
27
|
recursive-include driftlessmap/icons *.png
|
|
28
|
+
recursive-include driftlessmap/icons *.ico
|
|
29
|
+
recursive-include driftlessmap/icons *.icns
|
|
28
30
|
|
|
29
31
|
recursive-include driftlessmap/qss *.qss
|
|
30
32
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: driftlessmap
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0
|
|
4
4
|
Summary: Interactive histology registration and brain-atlas mapping
|
|
5
5
|
Author: Pearl Saldanha, Jacopo Paglia, Jonathan R. Whitlock, Mohebi & Associates, Ali Mohebi
|
|
6
6
|
Author-email: Jingyi Guo Fuglstad <jingyi.g.fuglstad@gmail.com>
|
|
@@ -34,7 +34,7 @@ Requires-Dist: PyQt6<7,>=6.8
|
|
|
34
34
|
Requires-Dist: pyqtgraph<0.15,>=0.14
|
|
35
35
|
Requires-Dist: PyOpenGL<4,>=3.1.7
|
|
36
36
|
Requires-Dist: superqt<0.9,>=0.8
|
|
37
|
-
Requires-Dist: opencv-python<6,>=4.10
|
|
37
|
+
Requires-Dist: opencv-python-headless<6,>=4.10
|
|
38
38
|
Requires-Dist: numba<1,>=0.61
|
|
39
39
|
Requires-Dist: numpy<3,>=2.0
|
|
40
40
|
Requires-Dist: scipy<2,>=1.13
|
|
@@ -51,6 +51,8 @@ Provides-Extra: test
|
|
|
51
51
|
Requires-Dist: pytest>=8.3; extra == "test"
|
|
52
52
|
Requires-Dist: ruff>=0.9; extra == "test"
|
|
53
53
|
Requires-Dist: tomli>=2; python_version < "3.11" and extra == "test"
|
|
54
|
+
Provides-Extra: desktop-build
|
|
55
|
+
Requires-Dist: pyinstaller<7,>=6.11; extra == "desktop-build"
|
|
54
56
|
Dynamic: license-file
|
|
55
57
|
|
|
56
58
|
# DriftlessMap
|
|
@@ -98,35 +100,73 @@ See [CITATION.cff](CITATION.cff) for machine-readable citation metadata.
|
|
|
98
100
|
- Safe, versioned project and object archives.
|
|
99
101
|
- Support for custom compatible atlases.
|
|
100
102
|
|
|
101
|
-
##
|
|
103
|
+
## Installation
|
|
102
104
|
|
|
103
|
-
DriftlessMap 1.
|
|
104
|
-
|
|
105
|
+
DriftlessMap 1.4.0 is available as a desktop application for end users and as
|
|
106
|
+
a Python package for developers.
|
|
107
|
+
|
|
108
|
+
### Mode 1: desktop application for end users
|
|
109
|
+
|
|
110
|
+
No Python or Conda installation is required. Download the asset for your
|
|
111
|
+
computer from [GitHub Releases](https://github.com/mohebi-n-associates/DriftlessMap/releases):
|
|
112
|
+
|
|
113
|
+
- **Windows 64-bit:** download `DriftlessMap-1.4.0-Windows-x64.zip`, extract
|
|
114
|
+
the complete folder, and double-click `DriftlessMap.exe`. Do not move the
|
|
115
|
+
executable out of its extracted folder.
|
|
116
|
+
- **macOS:** download `DriftlessMap-1.4.0-macOS.dmg`, open it, and drag
|
|
117
|
+
`DriftlessMap.app` to Applications. The application bundle includes the
|
|
118
|
+
DriftlessMap icon and all Python dependencies.
|
|
119
|
+
|
|
120
|
+
Release builds are currently unsigned. If Windows SmartScreen or macOS
|
|
121
|
+
Gatekeeper displays a warning, verify that the file came from the official
|
|
122
|
+
release page. On macOS, Control-click the app, choose **Open**, and confirm the
|
|
123
|
+
first launch. Code signing and notarization are planned for a future release.
|
|
124
|
+
|
|
125
|
+
### Mode 2: Conda and pip for developers
|
|
126
|
+
|
|
127
|
+
DriftlessMap supports Python 3.10–3.14 and Qt 6 through PyQt6. Python 3.14 is
|
|
128
|
+
recommended for core development:
|
|
105
129
|
|
|
106
130
|
```bash
|
|
107
131
|
conda create --name DriftlessMap python=3.14 -y
|
|
108
132
|
conda activate DriftlessMap
|
|
109
133
|
python -m pip install --upgrade pip
|
|
134
|
+
git clone https://github.com/mohebi-n-associates/DriftlessMap.git
|
|
135
|
+
cd DriftlessMap
|
|
136
|
+
python -m pip install -e ".[test]"
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Launch the editable installation with `driftlessmap` or
|
|
140
|
+
`python -m driftlessmap`. Library users can call `driftlessmap.run()`.
|
|
141
|
+
|
|
142
|
+
To use the stable PyPI package instead of an editable checkout, run:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
110
145
|
python -m pip install driftlessmap
|
|
111
146
|
```
|
|
112
147
|
|
|
113
|
-
|
|
148
|
+
#### Check your version and upgrade
|
|
149
|
+
|
|
150
|
+
Check the installed version:
|
|
114
151
|
|
|
115
152
|
```bash
|
|
116
|
-
driftlessmap
|
|
117
|
-
python -m driftlessmap
|
|
153
|
+
python -m driftlessmap --version
|
|
118
154
|
```
|
|
119
155
|
|
|
120
|
-
|
|
121
|
-
|
|
156
|
+
Compare it against the latest stable release on
|
|
157
|
+
[PyPI](https://pypi.org/project/driftlessmap/):
|
|
122
158
|
|
|
123
|
-
|
|
159
|
+
```bash
|
|
160
|
+
pip index versions driftlessmap
|
|
124
161
|
```
|
|
125
162
|
|
|
126
|
-
|
|
127
|
-
`python -m pip install -e .`.
|
|
163
|
+
Upgrade to the latest stable release:
|
|
128
164
|
|
|
129
|
-
|
|
165
|
+
```bash
|
|
166
|
+
python -m pip install --upgrade driftlessmap
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
#### Zeiss CZI files
|
|
130
170
|
|
|
131
171
|
CZI support uses the optional `aicspylibczi` package, whose prebuilt packages
|
|
132
172
|
currently support Python through 3.13:
|
|
@@ -138,6 +178,13 @@ python -m pip install --upgrade pip
|
|
|
138
178
|
python -m pip install "driftlessmap[czi]"
|
|
139
179
|
```
|
|
140
180
|
|
|
181
|
+
#### Building the desktop applications
|
|
182
|
+
|
|
183
|
+
Native applications must be built on their target operating system. The
|
|
184
|
+
release workflow builds both platforms automatically; maintainers can also run
|
|
185
|
+
`packaging/build_windows.ps1` on Windows or `packaging/build_macos.sh` on
|
|
186
|
+
macOS. Outputs are written to `dist/` as a Windows ZIP and a macOS DMG.
|
|
187
|
+
|
|
141
188
|
## Compatibility with HERBS
|
|
142
189
|
|
|
143
190
|
The rebrand is designed not to strand existing research data:
|
|
@@ -43,35 +43,73 @@ See [CITATION.cff](CITATION.cff) for machine-readable citation metadata.
|
|
|
43
43
|
- Safe, versioned project and object archives.
|
|
44
44
|
- Support for custom compatible atlases.
|
|
45
45
|
|
|
46
|
-
##
|
|
46
|
+
## Installation
|
|
47
47
|
|
|
48
|
-
DriftlessMap 1.
|
|
49
|
-
|
|
48
|
+
DriftlessMap 1.4.0 is available as a desktop application for end users and as
|
|
49
|
+
a Python package for developers.
|
|
50
|
+
|
|
51
|
+
### Mode 1: desktop application for end users
|
|
52
|
+
|
|
53
|
+
No Python or Conda installation is required. Download the asset for your
|
|
54
|
+
computer from [GitHub Releases](https://github.com/mohebi-n-associates/DriftlessMap/releases):
|
|
55
|
+
|
|
56
|
+
- **Windows 64-bit:** download `DriftlessMap-1.4.0-Windows-x64.zip`, extract
|
|
57
|
+
the complete folder, and double-click `DriftlessMap.exe`. Do not move the
|
|
58
|
+
executable out of its extracted folder.
|
|
59
|
+
- **macOS:** download `DriftlessMap-1.4.0-macOS.dmg`, open it, and drag
|
|
60
|
+
`DriftlessMap.app` to Applications. The application bundle includes the
|
|
61
|
+
DriftlessMap icon and all Python dependencies.
|
|
62
|
+
|
|
63
|
+
Release builds are currently unsigned. If Windows SmartScreen or macOS
|
|
64
|
+
Gatekeeper displays a warning, verify that the file came from the official
|
|
65
|
+
release page. On macOS, Control-click the app, choose **Open**, and confirm the
|
|
66
|
+
first launch. Code signing and notarization are planned for a future release.
|
|
67
|
+
|
|
68
|
+
### Mode 2: Conda and pip for developers
|
|
69
|
+
|
|
70
|
+
DriftlessMap supports Python 3.10–3.14 and Qt 6 through PyQt6. Python 3.14 is
|
|
71
|
+
recommended for core development:
|
|
50
72
|
|
|
51
73
|
```bash
|
|
52
74
|
conda create --name DriftlessMap python=3.14 -y
|
|
53
75
|
conda activate DriftlessMap
|
|
54
76
|
python -m pip install --upgrade pip
|
|
77
|
+
git clone https://github.com/mohebi-n-associates/DriftlessMap.git
|
|
78
|
+
cd DriftlessMap
|
|
79
|
+
python -m pip install -e ".[test]"
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Launch the editable installation with `driftlessmap` or
|
|
83
|
+
`python -m driftlessmap`. Library users can call `driftlessmap.run()`.
|
|
84
|
+
|
|
85
|
+
To use the stable PyPI package instead of an editable checkout, run:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
55
88
|
python -m pip install driftlessmap
|
|
56
89
|
```
|
|
57
90
|
|
|
58
|
-
|
|
91
|
+
#### Check your version and upgrade
|
|
92
|
+
|
|
93
|
+
Check the installed version:
|
|
59
94
|
|
|
60
95
|
```bash
|
|
61
|
-
driftlessmap
|
|
62
|
-
python -m driftlessmap
|
|
96
|
+
python -m driftlessmap --version
|
|
63
97
|
```
|
|
64
98
|
|
|
65
|
-
|
|
66
|
-
|
|
99
|
+
Compare it against the latest stable release on
|
|
100
|
+
[PyPI](https://pypi.org/project/driftlessmap/):
|
|
67
101
|
|
|
68
|
-
|
|
102
|
+
```bash
|
|
103
|
+
pip index versions driftlessmap
|
|
69
104
|
```
|
|
70
105
|
|
|
71
|
-
|
|
72
|
-
`python -m pip install -e .`.
|
|
106
|
+
Upgrade to the latest stable release:
|
|
73
107
|
|
|
74
|
-
|
|
108
|
+
```bash
|
|
109
|
+
python -m pip install --upgrade driftlessmap
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
#### Zeiss CZI files
|
|
75
113
|
|
|
76
114
|
CZI support uses the optional `aicspylibczi` package, whose prebuilt packages
|
|
77
115
|
currently support Python through 3.13:
|
|
@@ -83,6 +121,13 @@ python -m pip install --upgrade pip
|
|
|
83
121
|
python -m pip install "driftlessmap[czi]"
|
|
84
122
|
```
|
|
85
123
|
|
|
124
|
+
#### Building the desktop applications
|
|
125
|
+
|
|
126
|
+
Native applications must be built on their target operating system. The
|
|
127
|
+
release workflow builds both platforms automatically; maintainers can also run
|
|
128
|
+
`packaging/build_windows.ps1` on Windows or `packaging/build_macos.sh` on
|
|
129
|
+
macOS. Outputs are written to `dist/` as a Windows ZIP and a macOS DMG.
|
|
130
|
+
|
|
86
131
|
## Compatibility with HERBS
|
|
87
132
|
|
|
88
133
|
The rebrand is designed not to strand existing research data:
|
|
@@ -3,6 +3,85 @@
|
|
|
3
3
|
This cumulative release history is maintained as a single document. New
|
|
4
4
|
releases are added at the top; earlier release notes remain below them.
|
|
5
5
|
|
|
6
|
+
## DriftlessMap 1.4.0
|
|
7
|
+
|
|
8
|
+
Release date: 27 August 2026
|
|
9
|
+
|
|
10
|
+
This release adds native desktop distribution for Windows and macOS. Official
|
|
11
|
+
GitHub releases can now include a Windows ZIP containing `DriftlessMap.exe` and
|
|
12
|
+
a macOS DMG containing `DriftlessMap.app`, built reproducibly on native GitHub
|
|
13
|
+
Actions runners with PyInstaller. Both bundles include the application runtime,
|
|
14
|
+
optional CZI support, and a new DriftlessMap application icon.
|
|
15
|
+
|
|
16
|
+
The running version is now visible in both the main-window title and the
|
|
17
|
+
dashboard status bar, and the application exposes its name, version,
|
|
18
|
+
organization, and icon through Qt desktop metadata. The README and manual now
|
|
19
|
+
separate the no-Python desktop installation intended for end users from the
|
|
20
|
+
Conda/pip workflow intended for developers.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## DriftlessMap 1.3.0
|
|
25
|
+
|
|
26
|
+
Release date: 27 August 2026
|
|
27
|
+
|
|
28
|
+
This release makes project persistence suitable for reproducible scientific
|
|
29
|
+
work. Projects now record software/schema metadata, relative and absolute path
|
|
30
|
+
hints, SHA-256 identities for source histology and processed atlas resources,
|
|
31
|
+
complete registration topology, complete probe-planning state, and all object
|
|
32
|
+
pieces and merged objects.
|
|
33
|
+
|
|
34
|
+
The exact active histology raster remains embedded in every project and can be
|
|
35
|
+
restored when the original source has moved. **Save Portable Project** also
|
|
36
|
+
packages the original histology source for multi-scene or future reprocessing
|
|
37
|
+
work. Processed volume atlases remain external to avoid very large duplicate
|
|
38
|
+
archives, but they are verified before use and can be relocated interactively.
|
|
39
|
+
|
|
40
|
+
Object files now carry atlas and coordinate-frame provenance. The former Save
|
|
41
|
+
Object/Load Objects wording is now Export Object/Import Objects to clarify that
|
|
42
|
+
objects are already included in a project. Standalone `.dmapprobe` save/load is
|
|
43
|
+
implemented for probe geometry, face, multi-probe offsets, and merge choices.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## DriftlessMap 1.2.0
|
|
48
|
+
|
|
49
|
+
Release date: 27 July 2026
|
|
50
|
+
|
|
51
|
+
This release adds a versioned probe-localization export designed for
|
|
52
|
+
downstream electrophysiology and NWB workflows.
|
|
53
|
+
|
|
54
|
+
### Probe-localization export schema 2
|
|
55
|
+
|
|
56
|
+
The **Export probe localization files** action now creates four companion
|
|
57
|
+
files:
|
|
58
|
+
|
|
59
|
+
- `_contacts.csv` contains physical probe contacts, ordered deepest to
|
|
60
|
+
shallowest, with atlas coordinates and anatomical assignments.
|
|
61
|
+
- `_track.csv` contains labeled samples along the fitted centerline, ordered
|
|
62
|
+
from insertion to tip and spaced no farther apart than one atlas voxel. This
|
|
63
|
+
is the appropriate input for localizing continuously estimated unit depths.
|
|
64
|
+
- `_trajectory.csv` records insertion, tip, angles, fit quality, atlas and
|
|
65
|
+
coordinate-system metadata, export schema, software version, and the
|
|
66
|
+
probe-model tip-to-contact offset.
|
|
67
|
+
- `_regions.csv` summarizes region IDs, names, acronyms, contact totals, and
|
|
68
|
+
reconstructed path lengths.
|
|
69
|
+
|
|
70
|
+
Track samples include distance from insertion and tip, atlas-space
|
|
71
|
+
coordinates, and the structure ID, acronym, and name at each point. For
|
|
72
|
+
recognized Allen CCFv3 atlases, the export includes Allen voxel coordinates
|
|
73
|
+
and physical coordinates alongside the existing explicitly qualified
|
|
74
|
+
estimated Bregma values.
|
|
75
|
+
|
|
76
|
+
### Upgrade notes
|
|
77
|
+
|
|
78
|
+
Downstream tools that assign unit locations should require schema 2 and use
|
|
79
|
+
the track table rather than inferring region boundaries from the contact or
|
|
80
|
+
region summaries. Re-merge probes saved by older versions to generate the
|
|
81
|
+
complete reconstruction and export metadata.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
6
85
|
## DriftlessMap 1.1.0
|
|
7
86
|
|
|
8
87
|
Release date: 27 July 2026
|