Source code for blissoda.id15b.eiger2crysalis
from typing import Any
from typing import Dict
from typing import Optional
from ..ewoks_utils import submit
from ..processor import BlissScanType
from ..scxrd.eiger2crysalis import DEFAULT_SCAN_PARS
from ..scxrd.eiger2crysalis import DEFAULT_USER_PARS
from ..scxrd.eiger2crysalis import Eiger2CrysalisWithCbfProcessor
[docs]
class Id15bEiger2Crysalis(Eiger2CrysalisWithCbfProcessor):
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)
defaults.setdefault("trigger_at", "END")
defaults.setdefault("lima_name", "eiger")
defaults.setdefault("user_parameters", DEFAULT_USER_PARS.copy())
defaults.setdefault("scan_parameters", DEFAULT_SCAN_PARS.copy())
defaults.setdefault("crysalis_ini", "")
super().__init__(config=config, defaults=defaults)
[docs]
def run_conversion(self, scan: BlissScanType) -> None:
"""Executes on given scan"""
if "fscan" in scan.scan_info["type"] and self.get_lima_name(scan):
for output_file_format in self.get_output_file_formats():
kwargs = self.get_submit_arguments(scan, output_file_format)
kwargs["convert_destination"] = self.workflow_destination(
scan, output_file_format
)
submit(
args=(self.get_workflow(output_file_format),),
kwargs=kwargs,
queue=self.queue,
)