Skip to content

Commit f851029

Browse files
authored
Merge branch 'main' into fix-drift-hybrid-serialiibility
2 parents 6501252 + 5b458ee commit f851029

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

.github/actions/build-test-environment/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ runs:
2121
python -m pip install -U pip # Official recommended way
2222
source ${{ github.workspace }}/test_env/bin/activate
2323
pip install tabulate # This produces summaries at the end
24-
pip install -e .[test,extractors,streaming_extractors,full]
24+
pip install -e .[test,extractors,streaming_extractors,test_extractors,full]
2525
shell: bash
2626
- name: Force installation of latest dev from key-packages when running dev (not release)
2727
run: |

src/spikeinterface/sortingcomponents/peak_selection.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,19 +76,18 @@ def select_peaks(
7676

7777
selected_indices = select_peak_indices(peaks, method=method, seed=seed, **method_kwargs)
7878
selected_peaks = peaks[selected_indices]
79+
num_segments = len(np.unique(selected_peaks["segment_index"]))
7980

8081
if margin is not None:
8182
to_keep = np.zeros(len(selected_peaks), dtype=bool)
82-
offset = 0
83-
for segment_index in range(recording.get_num_segments()):
84-
duration = recording.get_num_frames(segment_index)
83+
for segment_index in range(num_segments):
84+
num_samples_in_segment = recording.get_num_samples(segment_index)
8585
i0, i1 = np.searchsorted(selected_peaks["segment_index"], [segment_index, segment_index + 1])
86-
while selected_peaks["sample_index"][i0] <= margin[0] + offset:
86+
while selected_peaks["sample_index"][i0] <= margin[0]:
8787
i0 += 1
88-
while selected_peaks["sample_index"][i1 - 1] >= (duration - margin[1]) + offset:
88+
while selected_peaks["sample_index"][i1 - 1] >= (num_samples_in_segment - margin[1]):
8989
i1 -= 1
9090
to_keep[i0:i1] = True
91-
offset += duration
9291
selected_indices = selected_indices[to_keep]
9392
selected_peaks = peaks[selected_indices]
9493

@@ -284,7 +283,9 @@ def select_peak_indices(peaks, method, seed, **method_kwargs):
284283
)
285284

286285
selected_indices = np.concatenate(selected_indices)
287-
selected_indices = selected_indices[np.argsort(peaks[selected_indices]["sample_index"])]
286+
selected_indices = selected_indices[
287+
np.lexsort((peaks[selected_indices]["sample_index"], peaks[selected_indices]["segment_index"]))
288+
]
288289
return selected_indices
289290

290291

0 commit comments

Comments
 (0)