diff --git a/napari_aicsimageio/_settings_widget.py b/napari_aicsimageio/_settings_widget.py new file mode 100644 index 0000000..f41cc9b --- /dev/null +++ b/napari_aicsimageio/_settings_widget.py @@ -0,0 +1,35 @@ +from magicgui import magic_factory + +import napari_aicsimageio.core as n_aics_core + + +@magic_factory( + delimiter={"label": "Delimiter in scene labels:"}, + in_mem_size={ + "label": "Threshold for \ +
out-of-memory loading \ +
(GB)" + }, + frac_mem_size={ + "label": "Threshold for
out-of-memory loading \ +
(% free memory):" + }, + call_button="Apply Reader Settings", + info_label=dict( + widget_type="Label", + label="

For each napari session, \ +
to use the settings: \ +
press the Apply button!

", + ), + persist=True, +) +def set_settings( + info_label: str, + delimiter: str = n_aics_core.SCENE_LABEL_DELIMITER, + in_mem_size: float = n_aics_core.IN_MEM_THRESHOLD_SIZE_BYTES / 1e9, + frac_mem_size: int = int(n_aics_core.IN_MEM_THRESHOLD_PERCENT * 100), +) -> None: + + n_aics_core.SCENE_LABEL_DELIMITER = delimiter + n_aics_core.IN_MEM_THRESHOLD_SIZE_BYTES = in_mem_size * 1e9 + n_aics_core.IN_MEM_THRESHOLD_PERCENT = frac_mem_size / 100 diff --git a/napari_aicsimageio/napari.yaml b/napari_aicsimageio/napari.yaml index 42a051f..12f347d 100644 --- a/napari_aicsimageio/napari.yaml +++ b/napari_aicsimageio/napari.yaml @@ -5,6 +5,13 @@ contributions: - id: napari-aicsimageio.get_reader title: Get AICSImageIO Reader python_name: napari_aicsimageio.core:get_reader + - id: napari-aicsimageio.settings_widget + title: Open AICSImageIO Reader Settings + python_name: napari_aicsimageio._settings_widget:set_settings + + widgets: + - command: napari-aicsimageio.settings_widget + display_name: AICSImageIO Reader Settings readers: - command: napari-aicsimageio.get_reader filename_patterns: [