Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 12 additions & 8 deletions spikeinterface_gui/traceview.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,22 +168,26 @@ def _qt_initialize_plot(self):
self.gains = None
self.offsets = None

def _qt_update_scroll_limits(self):
def _qt_update_scroll_step(self):
segment_index = self.controller.get_time()[1]
length = self.controller.get_num_samples(segment_index)
num_scrollbar_steps = max(2**16, length)
self.scroll_step = length / num_scrollbar_steps

t_start, t_stop = self.controller.get_t_start_t_stop()
self.timeseeker.set_start_stop(t_start, t_stop, seek=False)

self.scroll_time.setMinimum(0)
self.scroll_time.setMaximum(length - 1)
self.scroll_time.setMaximum(num_scrollbar_steps - 1)

def _qt_change_segment(self, segment_index):
#TODO: dirty because now seg_pos IS segment_index
self.controller.set_time(segment_index=segment_index)

if segment_index != self.combo_seg.currentIndex():
self.combo_seg.setCurrentIndex(segment_index)
self._qt_update_scroll_step()

self._qt_update_scroll_limits()
if not self._block_auto_refresh_and_notify:
self.refresh()
self.notify_time_info_updated()
Expand Down Expand Up @@ -214,7 +218,8 @@ def _qt_xsize_zoom(self, xmove):
self.spinbox_xsize.setValue(newsize)

def _qt_on_scroll_time(self, val):
time = self.controller.sample_index_to_time(val)
sample = int(val * self.scroll_step)
time = self.controller.sample_index_to_time(sample)
self.timeseeker.seek(time)

def _qt_seek_with_selected_spike(self):
Expand Down Expand Up @@ -467,7 +472,7 @@ def _qt_make_layout(self):
self.scroll_time.valueChanged.connect(self._qt_on_scroll_time)


self._qt_update_scroll_limits()
self._qt_update_scroll_step()

def _qt_on_settings_changed(self):
# adjust xsize spinbox bounds, and adjust xsize if out of bounds
Expand Down Expand Up @@ -497,12 +502,11 @@ def _qt_seek(self, t):

xsize = self.xsize
t1, t2 = t - xsize/3., t + xsize * 2/3.
sr = self.controller.sampling_frequency

self.scroll_time.valueChanged.disconnect(self._qt_on_scroll_time)
value = self.controller.time_to_sample_index(t)
sample = self.controller.time_to_sample_index(t)
value = int(sample / self.scroll_step)
self.scroll_time.setValue(value)
self.scroll_time.setPageStep(int(sr*xsize))
self.scroll_time.valueChanged.connect(self._qt_on_scroll_time)

visible_channel_inds = self.get_visible_channel_inds()
Expand Down