Source code for ess.isissans.zoom

# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2024 Scipp contributors (https://github.com/scipp)
import sciline

from ess.sans import providers as sans_providers

from .general import default_parameters
from .io import load_tutorial_direct_beam, load_tutorial_run, read_xml_detector_masking
from .mantidio import providers as mantid_providers


[docs] def set_mantid_log_level(level: int = 3): try: from mantid import ConfigService cfg = ConfigService.Instance() cfg.setLogLevel(level) # Silence verbose load via Mantid except ImportError: pass
[docs] def ZoomWorkflow() -> sciline.Pipeline: """Create Zoom workflow with default parameters.""" from . import providers as isis_providers set_mantid_log_level() params = default_parameters() zoom_providers = sans_providers + isis_providers + mantid_providers workflow = sciline.Pipeline(providers=zoom_providers, params=params) workflow.insert(read_xml_detector_masking) return workflow
[docs] def ZoomTutorialWorkflow() -> sciline.Pipeline: """ Create Zoom tutorial workflow. Equivalent to :func:`ZoomWorkflow`, but with loaders for tutorial data instead of Mantid-based loaders. """ workflow = ZoomWorkflow() workflow.insert(load_tutorial_run) workflow.insert(load_tutorial_direct_beam) return workflow