Skip to content

Commit 2914abd

Browse files
authored
Merge pull request #3940 from h-mayorquin/fix_shift_times
Fix shift times when `t_start` is None
2 parents 0841834 + 252c8f8 commit 2914abd

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

src/spikeinterface/core/baserecording.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,7 +547,8 @@ def shift_times(self, shift: int | float, segment_index: int | None = None) -> N
547547
if self.has_time_vector(segment_index=idx):
548548
rs.time_vector += shift
549549
else:
550-
rs.t_start += shift
550+
new_start_time = 0 + shift if rs.t_start is None else rs.t_start + shift
551+
rs.t_start = new_start_time
551552

552553
def sample_index_to_time(self, sample_ind, segment_index=None):
553554
"""

src/spikeinterface/core/tests/test_time_handling.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,3 +435,12 @@ def _get_sorting_with_recording_attached(self, recording_for_durations, recordin
435435
assert sorting.has_recording()
436436

437437
return sorting
438+
439+
440+
def test_shift_times_with_None_as_t_start():
441+
"""Ensures we can shift times even when t_stat is None which is interpeted as zero"""
442+
recording = generate_recording(num_channels=4, durations=[10])
443+
444+
assert recording._recording_segments[0].t_start is None
445+
recording.shift_times(shift=1.0) # Shift by one seconds should not generate an error
446+
assert recording.get_start_time() == 1.0

0 commit comments

Comments
 (0)