Skip to content

Commit 19adf82

Browse files
authored
add speed to imagewidget toolbar (#264)
1 parent 4a3a79e commit 19adf82

File tree

1 file changed

+22
-7
lines changed

1 file changed

+22
-7
lines changed

fastplotlib/widgets/image.py

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -945,7 +945,6 @@ def __init__(self, iw: ImageWidget):
945945
self.widget = HBox([self.reset_vminvmax_button])
946946
# for txy, tzxy, etc. data
947947
else:
948-
949948
self.step_size_setter = BoundedIntText(
950949
value=1,
951950
min=1,
@@ -956,6 +955,16 @@ def __init__(self, iw: ImageWidget):
956955
description_tooltip="set slider step",
957956
layout=Layout(width="150px"),
958957
)
958+
self.speed_text = BoundedIntText(
959+
value=100,
960+
min=1,
961+
max=1_000,
962+
step=50,
963+
description="Speed",
964+
disabled=False,
965+
description_tooltip="Playback speed, this is NOT framerate.\nArbitrary units between 1 - 1,000",
966+
layout=Layout(width="150px"),
967+
)
959968
self.play_button = Play(
960969
value=0,
961970
min=iw.sliders["t"].min,
@@ -964,20 +973,26 @@ def __init__(self, iw: ImageWidget):
964973
description="play/pause",
965974
disabled=False,
966975
)
967-
968976
self.widget = HBox(
969-
[self.reset_vminvmax_button, self.play_button, self.step_size_setter]
977+
[self.reset_vminvmax_button, self.play_button, self.step_size_setter, self.speed_text]
970978
)
971979

972-
self.step_size_setter.observe(self.change_stepsize, "value")
980+
self.play_button.interval = 10
981+
982+
self.step_size_setter.observe(self._change_stepsize, "value")
983+
self.speed_text.observe(self._change_framerate, "value")
973984
jslink((self.play_button, "value"), (self.iw.sliders["t"], "value"))
974985
jslink((self.play_button, "max"), (self.iw.sliders["t"], "max"))
975986

976-
self.reset_vminvmax_button.on_click(self.reset_vminvmax)
987+
self.reset_vminvmax_button.on_click(self._reset_vminvmax)
977988

978-
def reset_vminvmax(self, obj):
989+
def _reset_vminvmax(self, obj):
979990
if len(self.iw.vmin_vmax_sliders) != 0:
980991
self.iw.reset_vmin_vmax()
981992

982-
def change_stepsize(self, obj):
993+
def _change_stepsize(self, obj):
983994
self.iw.sliders["t"].step = self.step_size_setter.value
995+
996+
def _change_framerate(self, change):
997+
interval = int(1000 / change["new"])
998+
self.play_button.interval = interval

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy