Source code for blissoda.demo.processors.xrpd_id31

from __future__ import annotations

import logging
from typing import Any
from typing import Dict
from typing import Optional

from ...bliss_globals import setup_globals
from ...id31.xrpd_processor import Id31XrpdProcessor
from .utils.id31 import ensure_difflab6_id31_flats
from .utils.pyfai_calib import ensure_pyfai_config

_logger = logging.getLogger(__name__)


[docs] class DemoId31XrpdProcessor(Id31XrpdProcessor): def __init__( self, config: Optional[Dict[str, Any]] = None, defaults: Optional[Dict[str, Any]] = None, **deprecated_defaults: Dict[str, Any], ) -> None: defaults = self._merge_defaults(deprecated_defaults, defaults) if self._HAS_BLISS: newflat, oldflat = ensure_difflab6_id31_flats() defaults.setdefault("pyfai_config", ensure_pyfai_config("difflab6")) defaults.setdefault( "second_detector_pyfai_config", ensure_pyfai_config("diffcam") ) defaults.setdefault("queue", "celery") defaults.setdefault("lima_names", ["difflab6"]) super().__init__(config=config, defaults=defaults) if self._HAS_BLISS: self.newflat = newflat self.oldflat = oldflat
[docs] def pct(self, *args, **kw): s = setup_globals.ct(*args, **kw) self.on_new_scan(s) return s
def _expected_data_shapes_1d(self, lima_name: str, npoints: int): return { f"{lima_name}:q": (4096,), f"{lima_name}:intensity": (npoints, 4096), f"{lima_name}:points": (npoints,), }