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: [