From 95aa0d5e151f19c3128909d74e6f7fb40d18bbd7 Mon Sep 17 00:00:00 2001 From: Graham Findlay Date: Fri, 19 Jun 2026 12:27:22 -0500 Subject: [PATCH 1/2] Don't track rastermap.egg-info/ --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 43f41d7..e4e867f 100644 --- a/.gitignore +++ b/.gitignore @@ -23,7 +23,7 @@ jupyter/__pycache__/ .ipynb_checkpoints/ __pycache__/ dist/ -suite2p.egg-info/ +*.egg-info/ build/ suite2p/classifiers/classifier_user.npy suite2p/ops/ops_user.npy From d73fd41010ae04ba615e5178139ba1bc3e4a77bb Mon Sep 17 00:00:00 2001 From: Graham Findlay Date: Fri, 19 Jun 2026 12:28:57 -0500 Subject: [PATCH 2/2] Fix crash when the traveling-salesman local-search budget is exhausted --- rastermap/sort.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rastermap/sort.py b/rastermap/sort.py index 581dac5..13aaa9e 100644 --- a/rastermap/sort.py +++ b/rastermap/sort.py @@ -197,7 +197,8 @@ def traveling_salesman(cc, n_iter=400, locality=0.0, circular=False, cc, inds, seg_len, start_pos, end_pos, flipped = tsp_fast( cc, n_iter, n_nodes, n_skip, BBt.astype(np.float32), verbose) - iter_completed = np.nonzero(seg_len == -1)[0][0] + nz = np.nonzero(seg_len == -1)[0] + iter_completed = nz[0] if nz.size > 0 else n_iter seg_len = seg_len[:iter_completed] start_pos = start_pos[:iter_completed] end_pos = end_pos[:iter_completed] @@ -205,7 +206,8 @@ def traveling_salesman(cc, n_iter=400, locality=0.0, circular=False, if n_skip > 1: cc, inds2, seg_len2, start_pos2, end_pos2, flipped2 = tsp_fast( cc, n_iter, n_nodes, 1, BBt.astype(np.float32), verbose) - iter_completed = np.nonzero(seg_len2 == -1)[0][0] + nz = np.nonzero(seg_len2 == -1)[0] + iter_completed = nz[0] if nz.size > 0 else n_iter seg_len = np.append(seg_len, seg_len2[:iter_completed]) start_pos = np.append(start_pos, start_pos2[:iter_completed]) end_pos = np.append(end_pos, end_pos2[:iter_completed])