mx-bluesky 1.5.4__tar.gz → 1.5.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_test.yml +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/PKG-INFO +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/dev-ops/run-tests.rst +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/murko-integration/explanations/architecture.rst +3 -1
- mx_bluesky-1.5.5/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +3 -4
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/user/hyperion/alerts.rst +14 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/pyproject.toml +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/_version.py +3 -3
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i04/__init__.py +6 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +2 -3
- mx_bluesky-1.5.5/src/mx_bluesky/beamlines/i04/thawing_plan.py +248 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/dcid.py +4 -25
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +4 -7
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +5 -5
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +18 -107
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +1 -4
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +13 -13
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +8 -8
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +7 -7
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +8 -92
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +2 -18
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +1 -6
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +3 -3
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +15 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +17 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +1 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -25
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +1 -30
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -94
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +4 -10
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +12 -20
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +4 -13
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +34 -9
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/baton_handler.py +41 -4
- mx_bluesky-1.5.5/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +7 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky.egg-info/PKG-INFO +2 -2
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky.egg-info/requires.txt +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/conftest.py +9 -35
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/alerting/test_log_based_alerts.py +26 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/conftest.py +2 -7
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i04/test_thawing.py +128 -34
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i23/test_serial.py +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/conftest.py +5 -50
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +11 -134
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +5 -5
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +0 -87
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +1 -6
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -25
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +1 -11
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -29
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +1 -65
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +49 -5
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +0 -9
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/inner_plans/test_udc_default_state.py +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +1 -1
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +21 -10
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/test_baton_handler.py +104 -0
- mx_bluesky-1.5.4/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
- mx_bluesky-1.5.4/src/mx_bluesky/beamlines/i04/thawing_plan.py +0 -134
- mx_bluesky-1.5.4/src/mx_bluesky/hyperion/external_interaction/alerting/constants.py +0 -12
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.copier-answers.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.coveragerc +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.devcontainer/Dockerfile +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.devcontainer/devcontainer.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.dockerignore +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/CODEOWNERS +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/CONTRIBUTING.md +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/ISSUE_TEMPLATE/issue.md +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/actions/install_requirements/action.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/actions/verify-nexus/Dockerfile +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/actions/verify-nexus/action.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/actions/verify-nexus/entrypoint.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/dependabot.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/pages/index.html +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/pages/make_switcher.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_check.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_container.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_dist.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_docs.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_helm.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_pypi.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_release.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/_tox.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/ci.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.github/workflows/periodic.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.gitignore +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.pre-commit-config.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.vscode/extensions.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.vscode/launch.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.vscode/mx-bluesky.code-workspace +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.vscode/settings.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/.vscode/tasks.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/Dockerfile +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/Dockerfile.blueapi +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/Dockerfile.hyperion +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/LICENSE +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/README.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/catalog-info.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/codecov.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/_api.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/_templates/custom-module-template.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/conf.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/code-map/grid_detect_xrc.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/code-map/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/explanations/callback_and_run_logic.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/explanations/containerised_mx_bluesky.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/explanations/decisions.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/contribute.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/create-a-release.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/how-to/get-started.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/reference/standards.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/general/tutorials/profile-tests.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/deploying-hyperion.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/how-to/update-panda-ioc.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/reference/coordinate-systems.puml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/reference/coordinate-systems.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/reference/gridscan.puml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/reference/readme.md +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/hyperion/system-tests.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/murko-integration/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/how-to/pmac-docs.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/dls-favicon.ico +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/dls-logo.svg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/motor coordinate systems.odg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/motor-coords-omega-0.svg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/images/motor-coords-omega-alpha.svg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/user/hyperion/configuration.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/user/hyperion/index.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/user/hyperion/logging.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/user/hyperion/pvs.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/user/hyperion/running.rst +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/hyperion/Chart.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/hyperion/templates/deployment.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/hyperion/templates/ingress.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/hyperion/templates/service.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/hyperion/templates/zocalo-config.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/hyperion/values.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/mx-bluesky-blueapi/Chart.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/mx-bluesky-blueapi/templates/zocalo-config.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/mx-bluesky-blueapi/values.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/redis-to-murko/Chart.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/redis-to-murko/templates/deployment.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/helm/redis-to-murko/values.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/pull_request_template.md +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/run_hyperion.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/run_hyperion_in_podman.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/setup.cfg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/__main__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i04/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i04/experiment_plans/i04_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i23/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i23/serial.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s1l.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s2l.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/manipulate_sample.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/position_detector.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/robot_load_unload.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/setup_oav.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/inner_plans/__init__ .py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/inner_plans/do_fgs.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/inner_plans/read_hardware.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/inner_plans/udc_default_state.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/inner_plans/write_sample_status.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/experiment_plans/oav_snapshot_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/alerting/_service.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/alerting/log_based_service.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/config_server.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/ispyb/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/nexus/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/parameters/components.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/parameters/constants.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/parameters/device_composites.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/parameters/gridscan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/preprocessors/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/preprocessors/preprocessors.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/protocols/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/protocols/protocols.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/utils/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/utils/context.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/utils/exceptions.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/utils/log.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/utils/tracing.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/utils/utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/common/xrc_result.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/definitions.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/__main__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/device_setup_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/device_setup_plans/utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/alert_on_container_change.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/external_interaction/config_server.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/cli.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/constants.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/device_composites.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/gridscan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/parameters/rotation.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/plan_runner.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/runner.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/hyperion/utils/context.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/jupyter_example.ipynb +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/phase1_zebra/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/phase1_zebra/device_setup_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/phase1_zebra/device_setup_plans/setup_zebra.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky.egg-info/SOURCES.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky.egg-info/top_level.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/start_jupyter.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_baton_handler_soak.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/agamemnon/example_collect_multipin.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/agamemnon/example_native.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/agamemnon/example_wait.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/ispyb-test-credentials.cfg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/README.md +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/fake_data.h5 +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters_nomove.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/rabbitmq-test-credentials.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/scratch/README +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_OAVCentring.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_beamline_parameters.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_config.cfg +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/OAVCentring_hyperion.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/display.configuration +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_display.configuration +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_domain_properties +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_domain_properties_with_no_gpu +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_domain_properties_with_panda +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/generate_snapshot_input.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/generate_snapshot_output.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/ins_15_33_0.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/ins_15_33_90.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/ins_15_33_expected_0.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/ins_15_33_expected_270.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/thau_1_91_0.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/thau_1_91_90.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/thau_1_91_expected_0.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_images/thau_1_91_expected_270.png +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_lookup_table.txt +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/test_mirror_focus.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/test_data/zocalo-test-configuration.yaml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/aithre_lasershaping/test_beamline_safe.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i04/test_i04_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/extruder/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/fixed_target/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/beamlines/i24/serial/web_gui/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/device_setup_plans/test_robot_load_unload.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/inner_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/inner_plans/test_do_fgs.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/inner_plans/test_read_hardware.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/inner_plans/test_write_sample_status.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/test_change_aperture_then_move_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/test_common_flyscan_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/test_common_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/test_grid_detection_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/experiment_plans/test_oav_snapshot_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/alerting/alerting/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/alerting/alerting/test_alerting.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/common/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/ispyb/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/test_config_server.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/parameters/test_components.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/parameters/test_constants.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/preprocessors/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/preprocessors/test_preprocessors.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/utils/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/common/utils/test_log.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_flyscan_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_grid_detect_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/test_alert_on_container_change.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/conftest.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/test_main_system.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/test_runner.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/test_utils.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/hyperion/utils/test_context.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/t01.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/tests/unit_tests/test_cli.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/beam_off_trickery.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/build_docker_image.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/build_imginfo.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/deploy/create_venv.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/deploy/deploy_mx_bluesky.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/deploy/test_deploy.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/dev_jaeger_container.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/dls_dev_env.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/docker/entrypoint.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/docker/healthcheck.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/docker/i03-compose.yml +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/generate_plantuml.py +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/graylog/Dockerfile +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/graylog/tcp_input.json +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/procserv_ioc_start.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/request_baton.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/run_imginfo.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/setup_graylog.sh +0 -0
- {mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/utility_scripts/strip_metafile.py +0 -0
|
@@ -53,7 +53,7 @@ jobs:
|
|
|
53
53
|
- name: Run tests
|
|
54
54
|
# Longer timeout for CI due to likelihood of cold caches,
|
|
55
55
|
# cloud infra hw contention etc.
|
|
56
|
-
run: tox -e tests -- -m "not dlstbx" --timeout=2
|
|
56
|
+
run: tox -e tests -- -m "not dlstbx" --timeout=2 --cov=mx_bluesky --cov-report term --cov-report xml:cov.xml
|
|
57
57
|
|
|
58
58
|
- name: Upload coverage to Codecov
|
|
59
59
|
uses: codecov/codecov-action@v4
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mx-bluesky
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.5
|
|
4
4
|
Summary: Bluesky tools for MX Beamlines at DLS
|
|
5
5
|
Author-email: Dominic Oram <dominic.oram@diamond.ac.uk>
|
|
6
6
|
License: Apache License
|
|
@@ -241,7 +241,7 @@ Requires-Dist: blueapi>=0.15.0
|
|
|
241
241
|
Requires-Dist: ophyd>=1.10.5
|
|
242
242
|
Requires-Dist: ophyd-async>=0.10.0a2
|
|
243
243
|
Requires-Dist: bluesky>=1.13.1
|
|
244
|
-
Requires-Dist: dls-dodal==1.
|
|
244
|
+
Requires-Dist: dls-dodal==1.57.0
|
|
245
245
|
Provides-Extra: dev
|
|
246
246
|
Requires-Dist: black; extra == "dev"
|
|
247
247
|
Requires-Dist: build; extra == "dev"
|
|
@@ -6,7 +6,7 @@ like tests`_, and run them to check for errors. You can run it with::
|
|
|
6
6
|
|
|
7
7
|
$ tox -e tests
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
When the tests are run in GitHub CI it will also report coverage to ``codecov.io``.
|
|
10
10
|
|
|
11
11
|
.. _pytest: https://pytest.org/
|
|
12
12
|
.. _look like tests: https://docs.pytest.org/explanation/goodpractices.html#test-discovery
|
{mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/docs/developer/murko-integration/explanations/architecture.rst
RENAMED
|
@@ -15,4 +15,6 @@ It will then trigger the ``OAVToRedisForwarder`` device in ``dodal`` that will s
|
|
|
15
15
|
|
|
16
16
|
The image streaming must be done with an ophyd device as there is too much data for it all to be emitted in bluesky documents.
|
|
17
17
|
|
|
18
|
-
When the data is entered into redis it will publish a message to the redis ``murko`` channel. This will get picked up by the `
|
|
18
|
+
When the data is entered into redis it will publish a message to the redis ``murko`` channel. This will get picked up by the `redis_to_murko_forwarder <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py>`_, which will forward the data to murko.
|
|
19
|
+
|
|
20
|
+
Murko will then enter the results back into redis where they are retrieved by the `MurkoResultsDevice <https://github.com/DiamondLightSource/dodal/blob/main/src/dodal/devices/i04/murko_results.py>`_ in ``dodal``. This device uses these results to calculate where the sample should be moved to and carry out these movements.
|
|
@@ -24,7 +24,7 @@ detector name from the list and clicking the ``Move Stage`` button,
|
|
|
24
24
|
which will move the detector stage to the correct height and update the
|
|
25
25
|
relative PVs.
|
|
26
26
|
|
|
27
|
-
Detectors available for serial:
|
|
27
|
+
Detectors available for serial: Eiger CdTe 9M.
|
|
28
28
|
|
|
29
29
|
Extruder (Serial Jet)
|
|
30
30
|
=====================
|
|
@@ -58,9 +58,8 @@ in the ``Pump Probe`` panel.
|
|
|
58
58
|
|
|
59
59
|
**WARNING** This setting requires a
|
|
60
60
|
hardware change, as there are only 4 outputs on the zebra and they are
|
|
61
|
-
all in use. When using the Eiger the Pilatus trigger cable should be
|
|
62
|
-
used to trigger the light source.
|
|
63
|
-
trigger cable should be used.
|
|
61
|
+
all in use. When using the Eiger the ex-Pilatus trigger cable should be
|
|
62
|
+
used to trigger the light source.
|
|
64
63
|
|
|
65
64
|
III - **Run collection**
|
|
66
65
|
|
|
@@ -6,6 +6,14 @@ itself.
|
|
|
6
6
|
|
|
7
7
|
The currently supported alerting backend uses graylog alerting to send email alert notifications.
|
|
8
8
|
|
|
9
|
+
The currently supported events that will generate alerts are:
|
|
10
|
+
|
|
11
|
+
- On encountering a beamline error that requires user intervention.
|
|
12
|
+
- When Hyperion starts UDC collection.
|
|
13
|
+
- When Hyperion finishes UDC collection (there are no more Agamemnon instructions).
|
|
14
|
+
- When Hyperion releases the baton.
|
|
15
|
+
- When Hyperion moves on to a new container (puck).
|
|
16
|
+
|
|
9
17
|
Graylog Alert Configuration
|
|
10
18
|
===========================
|
|
11
19
|
|
|
@@ -54,6 +62,12 @@ expand to the event timestamp.
|
|
|
54
62
|
|
|
55
63
|
All the fields that are available in the event are available under the ``event.fields`` object, e.g. ``${event.fields.alert_summary}``
|
|
56
64
|
|
|
65
|
+
The email subject and body use the JMTE templating engine, to generate more complex templates and for more
|
|
66
|
+
information see the `JMTE Project Documentation`_
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
.. _JMTE Project Documentation: https://github.com/DJCordhose/jmte
|
|
70
|
+
|
|
57
71
|
Event Definitions
|
|
58
72
|
-----------------
|
|
59
73
|
|
|
@@ -48,7 +48,7 @@ dependencies = [
|
|
|
48
48
|
"ophyd >= 1.10.5",
|
|
49
49
|
"ophyd-async >= 0.10.0a2",
|
|
50
50
|
"bluesky >= 1.13.1",
|
|
51
|
-
"dls-dodal == 1.
|
|
51
|
+
"dls-dodal == 1.57.0",
|
|
52
52
|
]
|
|
53
53
|
|
|
54
54
|
|
|
@@ -179,7 +179,7 @@ allowlist_externals =
|
|
|
179
179
|
commands =
|
|
180
180
|
pre-commit: pre-commit run --all-files --show-diff-on-failure {posargs}
|
|
181
181
|
type-checking: pyright src tests {posargs}
|
|
182
|
-
tests: pytest
|
|
182
|
+
tests: pytest {posargs}
|
|
183
183
|
docs: sphinx-{posargs:build -EW --keep-going} -T docs build/html
|
|
184
184
|
commands_pre =
|
|
185
185
|
docs: /usr/bin/bash -c "{toxinidir}/utility_scripts/generate_plantuml.py > \
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '1.5.
|
|
32
|
-
__version_tuple__ = version_tuple = (1, 5,
|
|
31
|
+
__version__ = version = '1.5.5'
|
|
32
|
+
__version_tuple__ = version_tuple = (1, 5, 5)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'gb6ac6ef7f'
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
from mx_bluesky.beamlines.i04.experiment_plans.i04_grid_detect_then_xray_centre_plan import (
|
|
2
2
|
i04_grid_detect_then_xray_centre,
|
|
3
3
|
)
|
|
4
|
-
from mx_bluesky.beamlines.i04.thawing_plan import
|
|
4
|
+
from mx_bluesky.beamlines.i04.thawing_plan import (
|
|
5
|
+
thaw,
|
|
6
|
+
thaw_and_murko_centre,
|
|
7
|
+
thaw_and_stream_to_redis,
|
|
8
|
+
)
|
|
5
9
|
|
|
6
10
|
__all__ = [
|
|
7
11
|
"thaw",
|
|
8
12
|
"thaw_and_stream_to_redis",
|
|
9
13
|
"i04_grid_detect_then_xray_centre",
|
|
14
|
+
"thaw_and_murko_centre",
|
|
10
15
|
]
|
{mx_bluesky-1.5.4 → mx_bluesky-1.5.5}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py
RENAMED
|
@@ -7,6 +7,7 @@ from typing import TypedDict
|
|
|
7
7
|
import numpy as np
|
|
8
8
|
import zmq
|
|
9
9
|
from dodal.devices.i04.constants import RedisConstants
|
|
10
|
+
from dodal.devices.i04.murko_results import FullMurkoResults, MurkoResult
|
|
10
11
|
from numpy.typing import NDArray
|
|
11
12
|
from PIL import Image
|
|
12
13
|
from redis import StrictRedis
|
|
@@ -15,9 +16,6 @@ from mx_bluesky.common.utils.log import LOGGER
|
|
|
15
16
|
|
|
16
17
|
MURKO_ADDRESS = "tcp://i04-murko-prod.diamond.ac.uk:8008"
|
|
17
18
|
|
|
18
|
-
MurkoResult = dict
|
|
19
|
-
FullMurkoResults = dict[str, list[MurkoResult]]
|
|
20
|
-
|
|
21
19
|
|
|
22
20
|
class MurkoRequest(TypedDict):
|
|
23
21
|
"""See https://github.com/MartinSavko/murko#usage for more information."""
|
|
@@ -96,6 +94,7 @@ class BatchMurkoForwarder:
|
|
|
96
94
|
],
|
|
97
95
|
"prefix": uuids,
|
|
98
96
|
}
|
|
97
|
+
|
|
99
98
|
results = send_to_murko_and_get_results(request_arguments)
|
|
100
99
|
results_with_uuids = _correlate_results_to_uuids(request_arguments, results)
|
|
101
100
|
self._send_murko_results_to_redis(sample_id, results_with_uuids)
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
from collections.abc import Callable
|
|
2
|
+
|
|
3
|
+
import bluesky.plan_stubs as bps
|
|
4
|
+
import bluesky.preprocessors as bpp
|
|
5
|
+
from bluesky.preprocessors import run_decorator, stage_wrapper, subs_decorator
|
|
6
|
+
from bluesky.utils import MsgGenerator
|
|
7
|
+
from dodal.common import inject
|
|
8
|
+
from dodal.devices.i04.constants import RedisConstants
|
|
9
|
+
from dodal.devices.i04.murko_results import MurkoResultsDevice
|
|
10
|
+
from dodal.devices.oav.oav_detector import OAV
|
|
11
|
+
from dodal.devices.oav.oav_to_redis_forwarder import OAVToRedisForwarder, Source
|
|
12
|
+
from dodal.devices.robot import BartRobot
|
|
13
|
+
from dodal.devices.smargon import Smargon
|
|
14
|
+
from dodal.devices.thawer import OnOff, Thawer
|
|
15
|
+
|
|
16
|
+
from mx_bluesky.beamlines.i04.callbacks.murko_callback import MurkoCallback
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def thaw(
|
|
20
|
+
time_to_thaw: float,
|
|
21
|
+
rotation: float = 360,
|
|
22
|
+
thawer: Thawer = inject("thawer"),
|
|
23
|
+
smargon: Smargon = inject("smargon"),
|
|
24
|
+
) -> MsgGenerator:
|
|
25
|
+
"""Turns on the thawer and rotates the sample by {rotation} degrees to thaw it, then
|
|
26
|
+
rotates {rotation} degrees back and turns the thawer off. The speed of the goniometer
|
|
27
|
+
is set such that the process takes whole process will take {time_to_thaw} time.
|
|
28
|
+
|
|
29
|
+
Args:
|
|
30
|
+
time_to_thaw (float): Time to thaw for, in seconds.
|
|
31
|
+
rotation (float, optional): How much to rotate by whilst thawing, in degrees.
|
|
32
|
+
Defaults to 360.
|
|
33
|
+
... devices: These are the specific ophyd-devices used for the plan, the
|
|
34
|
+
defaults are always correct.
|
|
35
|
+
"""
|
|
36
|
+
yield from _thaw(time_to_thaw, rotation, thawer, smargon)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def thaw_and_stream_to_redis(
|
|
40
|
+
time_to_thaw: float,
|
|
41
|
+
rotation: float = 360,
|
|
42
|
+
robot: BartRobot = inject("robot"),
|
|
43
|
+
thawer: Thawer = inject("thawer"),
|
|
44
|
+
smargon: Smargon = inject("smargon"),
|
|
45
|
+
oav: OAV = inject("oav"),
|
|
46
|
+
oav_to_redis_forwarder: OAVToRedisForwarder = inject("oav_to_redis_forwarder"),
|
|
47
|
+
) -> MsgGenerator:
|
|
48
|
+
"""Turns on the thawer and rotates the sample by {rotation} degrees to thaw it, then
|
|
49
|
+
rotates {rotation} degrees back and turns the thawer off. The speed of the goniometer
|
|
50
|
+
is set such that the process takes whole process will take {time_to_thaw} time.
|
|
51
|
+
|
|
52
|
+
At the same time streams OAV images to redis for later processing (e.g. by murko).
|
|
53
|
+
On the first rotation the images from the large ROI are streamed, on the second the
|
|
54
|
+
smaller ROI is used.
|
|
55
|
+
|
|
56
|
+
Args:
|
|
57
|
+
time_to_thaw (float): Time to thaw for, in seconds.
|
|
58
|
+
rotation (float, optional): How much to rotate by whilst thawing, in degrees.
|
|
59
|
+
Defaults to 360.
|
|
60
|
+
... devices: These are the specific ophyd-devices used for the plan, the
|
|
61
|
+
defaults are always correct
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
def switch_forwarder_to_ROI() -> MsgGenerator:
|
|
65
|
+
yield from bps.complete(oav_to_redis_forwarder, wait=True)
|
|
66
|
+
yield from bps.mv(oav_to_redis_forwarder.selected_source, Source.ROI.value)
|
|
67
|
+
yield from bps.kickoff(oav_to_redis_forwarder, wait=True)
|
|
68
|
+
|
|
69
|
+
yield from _thaw_and_stream_to_redis(
|
|
70
|
+
time_to_thaw,
|
|
71
|
+
rotation,
|
|
72
|
+
robot,
|
|
73
|
+
thawer,
|
|
74
|
+
smargon,
|
|
75
|
+
oav,
|
|
76
|
+
oav_to_redis_forwarder,
|
|
77
|
+
switch_forwarder_to_ROI,
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def thaw_and_murko_centre(
|
|
82
|
+
time_to_thaw: float,
|
|
83
|
+
rotation: float = 360,
|
|
84
|
+
robot: BartRobot = inject("robot"),
|
|
85
|
+
thawer: Thawer = inject("thawer"),
|
|
86
|
+
smargon: Smargon = inject("smargon"),
|
|
87
|
+
oav: OAV = inject("oav"),
|
|
88
|
+
murko_results: MurkoResultsDevice = inject("murko_results"),
|
|
89
|
+
oav_to_redis_forwarder: OAVToRedisForwarder = inject("oav_to_redis_forwarder"),
|
|
90
|
+
) -> MsgGenerator:
|
|
91
|
+
"""Thaws the sample and centres it using murko by:
|
|
92
|
+
1. Turns on the thawer
|
|
93
|
+
2. Rotates the sample by {rotation} degrees, whilst this is happening images from
|
|
94
|
+
the large ROI of the OAV are being fed to murko
|
|
95
|
+
3. After the rotation has completed moves to the average centre returned by murko
|
|
96
|
+
from these images
|
|
97
|
+
4. Rotate {rotation} degrees back to the start, whilst this is happening images
|
|
98
|
+
from the small ROI of the OAV are being fed to murko
|
|
99
|
+
5. Turns off the thawer
|
|
100
|
+
|
|
101
|
+
The speed of the goniometer is set so that all of the above takes about {time_to_thaw}
|
|
102
|
+
seconds to complete.
|
|
103
|
+
|
|
104
|
+
Args:
|
|
105
|
+
time_to_thaw (float): Time to thaw for, in seconds.
|
|
106
|
+
rotation (float, optional): How much to rotate by whilst thawing, in degrees.
|
|
107
|
+
Defaults to 360.
|
|
108
|
+
... devices: These are the specific ophyd-devices used for the plan, the
|
|
109
|
+
defaults are always correct
|
|
110
|
+
"""
|
|
111
|
+
|
|
112
|
+
def centre_then_switch_forwarder_to_ROI() -> MsgGenerator:
|
|
113
|
+
yield from bps.complete(oav_to_redis_forwarder, wait=True)
|
|
114
|
+
|
|
115
|
+
yield from bps.trigger(murko_results, group="get_results")
|
|
116
|
+
|
|
117
|
+
yield from bps.mv(oav_to_redis_forwarder.selected_source, Source.ROI.value)
|
|
118
|
+
|
|
119
|
+
yield from bps.wait("get_results")
|
|
120
|
+
x_predict = yield from bps.rd(murko_results.x_mm)
|
|
121
|
+
y_predict = yield from bps.rd(murko_results.y_mm)
|
|
122
|
+
z_predict = yield from bps.rd(murko_results.z_mm)
|
|
123
|
+
|
|
124
|
+
yield from bps.rel_set(smargon.x, x_predict)
|
|
125
|
+
yield from bps.rel_set(smargon.y, y_predict)
|
|
126
|
+
yield from bps.rel_set(smargon.z, z_predict)
|
|
127
|
+
|
|
128
|
+
yield from bps.kickoff(oav_to_redis_forwarder, wait=True)
|
|
129
|
+
|
|
130
|
+
yield from stage_wrapper(
|
|
131
|
+
_thaw_and_stream_to_redis(
|
|
132
|
+
time_to_thaw,
|
|
133
|
+
rotation,
|
|
134
|
+
robot,
|
|
135
|
+
thawer,
|
|
136
|
+
smargon,
|
|
137
|
+
oav,
|
|
138
|
+
oav_to_redis_forwarder,
|
|
139
|
+
centre_then_switch_forwarder_to_ROI,
|
|
140
|
+
),
|
|
141
|
+
[murko_results],
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
def _thaw(
|
|
146
|
+
time_to_thaw: float,
|
|
147
|
+
rotation: float,
|
|
148
|
+
thawer: Thawer,
|
|
149
|
+
smargon: Smargon,
|
|
150
|
+
plan_between_rotations: Callable[[], MsgGenerator] | None = None,
|
|
151
|
+
) -> MsgGenerator:
|
|
152
|
+
"""Turns on the thawer and rotates the sample by {rotation} degrees to thaw it, then
|
|
153
|
+
rotates {rotation} degrees back and turns the thawer off. The speed of the goniometer
|
|
154
|
+
is set such that the process takes whole process will take {time_to_thaw} time.
|
|
155
|
+
|
|
156
|
+
Args:
|
|
157
|
+
time_to_thaw (float): Time to thaw for, in seconds.
|
|
158
|
+
rotation (float): How much to rotate by whilst thawing, in degrees.
|
|
159
|
+
thawer (Thawer): The thawing device.
|
|
160
|
+
smargon (Smargon): The smargon used to rotate.
|
|
161
|
+
plan_between_rotations (MsgGenerator, optional): A plan to run between rotations
|
|
162
|
+
of the smargon. Defaults to no plan.
|
|
163
|
+
"""
|
|
164
|
+
inital_velocity = yield from bps.rd(smargon.omega.velocity)
|
|
165
|
+
new_velocity = abs(rotation / time_to_thaw) * 2.0
|
|
166
|
+
|
|
167
|
+
def do_thaw():
|
|
168
|
+
yield from bps.abs_set(smargon.omega.velocity, new_velocity, wait=True)
|
|
169
|
+
yield from bps.abs_set(thawer.control, OnOff.ON, wait=True)
|
|
170
|
+
yield from bps.rel_set(smargon.omega, rotation, wait=True)
|
|
171
|
+
if plan_between_rotations:
|
|
172
|
+
yield from plan_between_rotations()
|
|
173
|
+
yield from bps.rel_set(smargon.omega, -rotation, wait=True)
|
|
174
|
+
|
|
175
|
+
def cleanup():
|
|
176
|
+
yield from bps.abs_set(smargon.omega.velocity, inital_velocity, wait=True)
|
|
177
|
+
yield from bps.abs_set(thawer.control, OnOff.OFF, wait=True)
|
|
178
|
+
|
|
179
|
+
# Always cleanup even if there is a failure
|
|
180
|
+
yield from bpp.contingency_wrapper(
|
|
181
|
+
do_thaw(),
|
|
182
|
+
final_plan=cleanup,
|
|
183
|
+
)
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
def _thaw_and_stream_to_redis(
|
|
187
|
+
time_to_thaw: float,
|
|
188
|
+
rotation: float,
|
|
189
|
+
robot: BartRobot,
|
|
190
|
+
thawer: Thawer,
|
|
191
|
+
smargon: Smargon,
|
|
192
|
+
oav: OAV,
|
|
193
|
+
oav_to_redis_forwarder: OAVToRedisForwarder,
|
|
194
|
+
plan_between_rotations: Callable[[], MsgGenerator],
|
|
195
|
+
) -> MsgGenerator:
|
|
196
|
+
zoom_percentage = yield from bps.rd(oav.zoom_controller.percentage)
|
|
197
|
+
sample_id = yield from bps.rd(robot.sample_id)
|
|
198
|
+
|
|
199
|
+
sample_id = int(sample_id)
|
|
200
|
+
zoom_level_before_thawing = yield from bps.rd(oav.zoom_controller.level)
|
|
201
|
+
|
|
202
|
+
yield from bps.mv(oav.zoom_controller.level, "1.0x")
|
|
203
|
+
|
|
204
|
+
microns_per_pixel_x = yield from bps.rd(oav.microns_per_pixel_x)
|
|
205
|
+
microns_per_pixel_y = yield from bps.rd(oav.microns_per_pixel_y)
|
|
206
|
+
beam_centre_i = yield from bps.rd(oav.beam_centre_i)
|
|
207
|
+
beam_centre_j = yield from bps.rd(oav.beam_centre_j)
|
|
208
|
+
|
|
209
|
+
@subs_decorator(
|
|
210
|
+
MurkoCallback(
|
|
211
|
+
RedisConstants.REDIS_HOST,
|
|
212
|
+
RedisConstants.REDIS_PASSWORD,
|
|
213
|
+
RedisConstants.MURKO_REDIS_DB,
|
|
214
|
+
)
|
|
215
|
+
)
|
|
216
|
+
@run_decorator(
|
|
217
|
+
md={
|
|
218
|
+
"microns_per_x_pixel": microns_per_pixel_x,
|
|
219
|
+
"microns_per_y_pixel": microns_per_pixel_y,
|
|
220
|
+
"beam_centre_i": beam_centre_i,
|
|
221
|
+
"beam_centre_j": beam_centre_j,
|
|
222
|
+
"zoom_percentage": zoom_percentage,
|
|
223
|
+
"sample_id": sample_id,
|
|
224
|
+
}
|
|
225
|
+
)
|
|
226
|
+
def _main_plan():
|
|
227
|
+
yield from bps.mv(
|
|
228
|
+
oav_to_redis_forwarder.sample_id,
|
|
229
|
+
sample_id,
|
|
230
|
+
oav_to_redis_forwarder.selected_source,
|
|
231
|
+
Source.FULL_SCREEN.value,
|
|
232
|
+
)
|
|
233
|
+
|
|
234
|
+
yield from bps.kickoff(oav_to_redis_forwarder, wait=True)
|
|
235
|
+
yield from bps.monitor(smargon.omega.user_readback, name="smargon")
|
|
236
|
+
yield from bps.monitor(oav_to_redis_forwarder.uuid, name="oav")
|
|
237
|
+
yield from _thaw(
|
|
238
|
+
time_to_thaw, rotation, thawer, smargon, plan_between_rotations
|
|
239
|
+
)
|
|
240
|
+
yield from bps.complete(oav_to_redis_forwarder)
|
|
241
|
+
|
|
242
|
+
def cleanup():
|
|
243
|
+
yield from bps.mv(oav.zoom_controller.level, zoom_level_before_thawing)
|
|
244
|
+
|
|
245
|
+
yield from bpp.contingency_wrapper(
|
|
246
|
+
_main_plan(),
|
|
247
|
+
final_plan=cleanup,
|
|
248
|
+
)
|
|
@@ -11,7 +11,6 @@ from bluesky.utils import MsgGenerator
|
|
|
11
11
|
from dodal.devices.i24.beam_center import DetectorBeamCenter
|
|
12
12
|
from dodal.devices.i24.dcm import DCM
|
|
13
13
|
from dodal.devices.i24.focus_mirrors import FocusMirrorsMode
|
|
14
|
-
from dodal.devices.i24.pilatus_metadata import PilatusMetadata
|
|
15
14
|
|
|
16
15
|
from mx_bluesky.beamlines.i24.serial.fixed_target.ft_utils import PumpProbeSetting
|
|
17
16
|
from mx_bluesky.beamlines.i24.serial.log import SSX_LOGGER
|
|
@@ -21,7 +20,7 @@ from mx_bluesky.beamlines.i24.serial.parameters import (
|
|
|
21
20
|
ExtruderParameters,
|
|
22
21
|
FixedTargetParameters,
|
|
23
22
|
)
|
|
24
|
-
from mx_bluesky.beamlines.i24.serial.setup_beamline import Detector, Eiger
|
|
23
|
+
from mx_bluesky.beamlines.i24.serial.setup_beamline import Detector, Eiger
|
|
25
24
|
|
|
26
25
|
# Collection start/end script to kick off analysis
|
|
27
26
|
COLLECTION_START_SCRIPT = "/dls_sw/i24/scripts/RunAtStartOfCollect-i24-ssx.sh"
|
|
@@ -67,9 +66,7 @@ def read_beam_info_from_hardware(
|
|
|
67
66
|
wavelength = yield from bps.rd(dcm.wavelength_in_a)
|
|
68
67
|
beamsize_x = yield from bps.rd(mirrors.beam_size_x)
|
|
69
68
|
beamsize_y = yield from bps.rd(mirrors.beam_size_y)
|
|
70
|
-
pixel_size = (
|
|
71
|
-
Eiger().pixel_size_mm if detector_name == "eiger" else Pilatus().pixel_size_mm
|
|
72
|
-
)
|
|
69
|
+
pixel_size = Eiger().pixel_size_mm
|
|
73
70
|
beam_center_x = yield from bps.rd(beam_center.beam_x)
|
|
74
71
|
beam_center_y = yield from bps.rd(beam_center.beam_y)
|
|
75
72
|
return BeamSettings(
|
|
@@ -115,8 +112,6 @@ class DCID:
|
|
|
115
112
|
match expt_params.detector_name:
|
|
116
113
|
case "eiger":
|
|
117
114
|
self.detector = Eiger()
|
|
118
|
-
case "pilatus":
|
|
119
|
-
self.detector = Pilatus()
|
|
120
115
|
|
|
121
116
|
self.server = server or DEFAULT_ISPYB_SERVER
|
|
122
117
|
self.emit_errors = emit_errors
|
|
@@ -161,9 +156,7 @@ class DCID:
|
|
|
161
156
|
transmission = self.parameters.transmission * 100
|
|
162
157
|
xbeam, ybeam = beam_settings.beam_center_in_mm
|
|
163
158
|
|
|
164
|
-
if isinstance(self.detector,
|
|
165
|
-
startImageNumber = 0
|
|
166
|
-
elif isinstance(self.detector, Eiger):
|
|
159
|
+
if isinstance(self.detector, Eiger):
|
|
167
160
|
startImageNumber = 1
|
|
168
161
|
else:
|
|
169
162
|
raise ValueError("Unknown detector:", self.detector)
|
|
@@ -361,20 +354,6 @@ class DCID:
|
|
|
361
354
|
SSX_LOGGER.warning("Error completing DCID: %s (%s)", e, resp_str)
|
|
362
355
|
|
|
363
356
|
|
|
364
|
-
def get_pilatus_filename_template_from_device(
|
|
365
|
-
pilatus_metadata: PilatusMetadata,
|
|
366
|
-
) -> MsgGenerator[str]:
|
|
367
|
-
"""
|
|
368
|
-
Get the template file path by querying the detector PVs, mirror the construction \
|
|
369
|
-
that the PPU does.
|
|
370
|
-
|
|
371
|
-
Returns:
|
|
372
|
-
A template string, with the image numbers replaced with '#'
|
|
373
|
-
"""
|
|
374
|
-
filename_template = yield from bps.rd(pilatus_metadata.filename_template)
|
|
375
|
-
return filename_template
|
|
376
|
-
|
|
377
|
-
|
|
378
357
|
def get_resolution(detector: Detector, distance: float, wavelength: float) -> float:
|
|
379
358
|
""" Calculate the inscribed resolution for detector.
|
|
380
359
|
|
|
@@ -382,7 +361,7 @@ def get_resolution(detector: Detector, distance: float, wavelength: float) -> fl
|
|
|
382
361
|
position parameters yet.
|
|
383
362
|
|
|
384
363
|
Args:
|
|
385
|
-
detector (Detector): Detector instance, Eiger()
|
|
364
|
+
detector (Detector): Detector instance, Eiger().
|
|
386
365
|
distance (float): Distance to detector, in mm.
|
|
387
366
|
wavelength (float): Beam wavelength, in Å.
|
|
388
367
|
|
|
@@ -3,8 +3,8 @@ beginScreenProperties
|
|
|
3
3
|
major 4
|
|
4
4
|
minor 0
|
|
5
5
|
release 1
|
|
6
|
-
x
|
|
7
|
-
y
|
|
6
|
+
x 2937
|
|
7
|
+
y 184
|
|
8
8
|
w 450
|
|
9
9
|
h 180
|
|
10
10
|
font "arial-medium-r-18.0"
|
|
@@ -78,20 +78,17 @@ fgColour index 14
|
|
|
78
78
|
bgColour index 4
|
|
79
79
|
topShadowColour index 1
|
|
80
80
|
botShadowColour index 8
|
|
81
|
-
controlPv "BL24I-
|
|
81
|
+
controlPv "BL24I-MO-IOC-13:GP15"
|
|
82
82
|
font "arial-medium-r-18.0"
|
|
83
83
|
numItems 2
|
|
84
84
|
symbolTag {
|
|
85
85
|
0 "Eiger"
|
|
86
|
-
1 "Pilatus"
|
|
87
86
|
}
|
|
88
87
|
symbol0 {
|
|
89
88
|
0 "E9M"
|
|
90
|
-
1 "P6M"
|
|
91
89
|
}
|
|
92
90
|
PV0 {
|
|
93
91
|
0 "eiger"
|
|
94
|
-
1 "pilatus"
|
|
95
92
|
}
|
|
96
93
|
endObjectProperties
|
|
97
94
|
|
|
@@ -113,7 +110,7 @@ font "arial-medium-r-18.0"
|
|
|
113
110
|
buttonLabel "Move Stage"
|
|
114
111
|
numCmds 1
|
|
115
112
|
command {
|
|
116
|
-
0 "blueapi -c CONFIG_LOCATION controller run setup_detector_stage '\{\"expt_type\":\"Serial Jet\"\}'"
|
|
113
|
+
0 "blueapi -c CONFIG_LOCATION controller run -i $INSTRUMENT_SESSION setup_detector_stage '\{\"expt_type\":\"Serial Jet\"\}'"
|
|
117
114
|
}
|
|
118
115
|
endObjectProperties
|
|
119
116
|
|
|
@@ -370,7 +370,7 @@ font "arial-medium-r-24.0"
|
|
|
370
370
|
buttonLabel "Start"
|
|
371
371
|
numCmds 1
|
|
372
372
|
command {
|
|
373
|
-
0 "blueapi -c CONFIG_LOCATION controller run run_extruder_plan"
|
|
373
|
+
0 "blueapi -c CONFIG_LOCATION controller run -i $INSTRUMENT_SESSION run_extruder_plan"
|
|
374
374
|
}
|
|
375
375
|
endObjectProperties
|
|
376
376
|
|
|
@@ -832,7 +832,7 @@ botShadowColor index 11
|
|
|
832
832
|
font "arial-medium-r-18.0"
|
|
833
833
|
numCmds 1
|
|
834
834
|
command {
|
|
835
|
-
0 "blueapi -c CONFIG_LOCATION controller run initialise_extruder"
|
|
835
|
+
0 "blueapi -c CONFIG_LOCATION controller run -i $INSTRUMENT_SESSION initialise_extruder"
|
|
836
836
|
}
|
|
837
837
|
endObjectProperties
|
|
838
838
|
|
|
@@ -2179,7 +2179,7 @@ font "arial-medium-r-20.0"
|
|
|
2179
2179
|
buttonLabel "Laser On"
|
|
2180
2180
|
numCmds 1
|
|
2181
2181
|
command {
|
|
2182
|
-
0 "blueapi -c CONFIG_LOCATION controller run laser_check '\{\"mode\":\"laseron\"\}'"
|
|
2182
|
+
0 "blueapi -c CONFIG_LOCATION controller run -i $INSTRUMENT_SESSION laser_check '\{\"mode\":\"laseron\"\}'"
|
|
2183
2183
|
}
|
|
2184
2184
|
endObjectProperties
|
|
2185
2185
|
|
|
@@ -2201,7 +2201,7 @@ font "arial-medium-r-20.0"
|
|
|
2201
2201
|
buttonLabel "Laser Off"
|
|
2202
2202
|
numCmds 1
|
|
2203
2203
|
command {
|
|
2204
|
-
0 "blueapi -c CONFIG_LOCATION controller run laser_check '\{\"mode\":\"laseroff\"\}'"
|
|
2204
|
+
0 "blueapi -c CONFIG_LOCATION controller run -i $INSTRUMENT_SESSION laser_check '\{\"mode\":\"laseroff\"\}'"
|
|
2205
2205
|
}
|
|
2206
2206
|
endObjectProperties
|
|
2207
2207
|
|
|
@@ -2223,7 +2223,7 @@ font "arial-medium-r-18.0"
|
|
|
2223
2223
|
buttonLabel "Enter hutch"
|
|
2224
2224
|
numCmds 1
|
|
2225
2225
|
command {
|
|
2226
|
-
0 "blueapi -c CONFIG_LOCATION controller run enter_hutch"
|
|
2226
|
+
0 "blueapi -c CONFIG_LOCATION controller run -i $INSTRUMENT_SESSION enter_hutch"
|
|
2227
2227
|
}
|
|
2228
2228
|
endObjectProperties
|
|
2229
2229
|
|