Source code for phenotypic.gui.sweep
"""Napari-based viewer for browsing sweep output directories.
Launch from the command line::
uv run python -m phenotypic.gui.sweep [path/to/sweep_output]
Or use programmatically::
from phenotypic.gui.sweep import NapariSweepViewer, launch_sweep_viewer
launch_sweep_viewer(Path("./sweep_output"))
"""
from __future__ import annotations
from ._sweep_data_model import (
IntermediateStep,
PipelineConfig,
ResolvedLayerSources,
SweepHDF5File,
SweepOutputData,
SweepOutputScanner,
build_layer_resolution_index,
)
__all__ = [
"NapariSweepViewer",
"launch_sweep_viewer",
"SweepOutputScanner",
"SweepOutputData",
"PipelineConfig",
"SweepHDF5File",
"IntermediateStep",
"ResolvedLayerSources",
"build_layer_resolution_index",
"StepSliderWidget",
"ParameterExplorerWidget",
"PipelineConfigBar",
]
[docs]
def __getattr__(name: str):
"""Lazy-import napari-dependent classes."""
if name == "NapariSweepViewer":
from ._napari_sweep_viewer import NapariSweepViewer
return NapariSweepViewer
if name == "launch_sweep_viewer":
from ._napari_sweep_viewer import launch_sweep_viewer
return launch_sweep_viewer
if name == "StepSliderWidget":
from ._step_slider_widget import StepSliderWidget
return StepSliderWidget
if name == "ParameterExplorerWidget":
from ._parameter_explorer_widget import ParameterExplorerWidget
return ParameterExplorerWidget
if name == "PipelineConfigBar":
from ._pipeline_config_bar import PipelineConfigBar
return PipelineConfigBar
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")