diff --git a/pyzebra/app/panel_hdf_viewer.py b/pyzebra/app/panel_hdf_viewer.py index 2492582..6e56b19 100644 --- a/pyzebra/app/panel_hdf_viewer.py +++ b/pyzebra/app/panel_hdf_viewer.py @@ -30,6 +30,8 @@ from bokeh.models import ( Rect, ResetTool, Select, + Slider, + Spacer, Spinner, TableColumn, TextAreaInput, @@ -76,7 +78,7 @@ def create(): def update_image(index=None): if index is None: - index = index_spinner.value + index = index_slider.value current_image = det_data["data"][index] proj_v_line_source.data.update( @@ -173,8 +175,8 @@ def create(): det_data = pyzebra.read_detector_data(new[0]) - index_spinner.value = 0 - index_spinner.high = det_data["data"].shape[0] - 1 + index_slider.value = 0 + index_slider.end = det_data["data"].shape[0] - 1 zebra_mode = det_data["zebra_mode"] if zebra_mode == "nb": @@ -188,11 +190,11 @@ def create(): file_select = MultiSelect(title="Available .hdf files:", width=210, height=250) file_select.on_change("value", file_select_callback) - def index_spinner_callback(_attr, _old, new): + def index_slider_callback(_attr, _old, new): update_image(new) - index_spinner = Spinner(title="Image index:", value=0, low=0, width=80) - index_spinner.on_change("value", index_spinner_callback) + index_slider = Slider(title="Image index", value=0, start=0, end=1, width=300) + index_slider.on_change("value_throttled", index_slider_callback) plot = Plot( x_range=Range1d(0, IMAGE_W, bounds=(0, IMAGE_W)), @@ -543,7 +545,7 @@ def create(): proj_display_min_spinner.on_change("value", proj_display_min_spinner_callback) def hkl_button_callback(): - index = index_spinner.value + index = index_slider.value h, k, l = calculate_hkl(det_data, index) image_source.data.update(h=[h], k=[k], l=[l]) @@ -601,7 +603,9 @@ def create(): ) layout_controls = row( - column(selection_button, selection_list), column(metadata_table, index_spinner, hkl_button), + column(selection_button, selection_list), + Spacer(width=20), + column(index_slider, metadata_table, hkl_button), ) layout_overview = column(