mx-bluesky 1.4.8__tar.gz → 1.5.0__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.4.8 → mx_bluesky-1.5.0}/.github/workflows/_container.yml +26 -3
- mx_bluesky-1.5.0/Dockerfile.blueapi +14 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/PKG-INFO +5 -5
- mx_bluesky-1.5.0/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/code-map/grid_detect_xrc.rst +12 -11
- mx_bluesky-1.5.0/docs/developer/general/explanations/containerised_mx_bluesky.rst +14 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/how-to/create-a-release.rst +2 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/index.rst +1 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/hyperion/deploying-hyperion.rst +14 -3
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/hyperion/index.rst +1 -0
- mx_bluesky-1.5.0/docs/developer/hyperion/reference/coordinate-systems.puml +20 -0
- mx_bluesky-1.5.0/docs/developer/hyperion/reference/coordinate-systems.rst +76 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/hyperion/reference/readme.md +8 -11
- mx_bluesky-1.5.0/docs/images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png +0 -0
- mx_bluesky-1.5.0/docs/images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png +0 -0
- mx_bluesky-1.5.0/docs/images/motor coordinate systems.odg +0 -0
- mx_bluesky-1.5.0/docs/images/motor-coords-omega-0.svg +243 -0
- mx_bluesky-1.5.0/docs/images/motor-coords-omega-alpha.svg +277 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/helmcharts/hyperion/templates/deployment.yaml +26 -9
- mx_bluesky-1.5.0/helmcharts/hyperion/templates/zocalo-config.yaml +40 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/helmcharts/hyperion/values.yaml +15 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/pyproject.toml +4 -20
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/run_hyperion.sh +31 -30
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/_version.py +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/aithre_lasershaping/__init__.py +8 -0
- mx_bluesky-1.5.0/src/mx_bluesky/beamlines/aithre_lasershaping/beamline_safe.py +36 -0
- mx_bluesky-1.5.0/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +61 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/__init__.py +4 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/blueapi_config.yaml +6 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/dcid.py +5 -5
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +9 -9
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +18 -3
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DetStage.edl +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +14 -14
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +55 -4
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +9 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +0 -8
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +77 -8
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/device_setup_plans/manipulate_sample.py +9 -14
- {mx_bluesky-1.4.8/src/mx_bluesky/hyperion → mx_bluesky-1.5.0/src/mx_bluesky/common}/device_setup_plans/utils.py +4 -14
- {mx_bluesky-1.4.8/src/mx_bluesky/common/plans → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans}/common_flyscan_xray_centre_plan.py +11 -19
- mx_bluesky-1.4.8/src/mx_bluesky/hyperion/experiment_plans/grid_detect_then_xray_centre_plan.py → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py +108 -126
- {mx_bluesky-1.4.8/src/mx_bluesky/common/plans → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans}/inner_plans/do_fgs.py +1 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py +5 -13
- {mx_bluesky-1.4.8/src/mx_bluesky/hyperion → mx_bluesky-1.5.0/src/mx_bluesky/common}/experiment_plans/oav_snapshot_plan.py +8 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/nexus/nexus_utils.py +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/parameters/components.py +1 -1
- {mx_bluesky-1.4.8/src/mx_bluesky/hyperion → mx_bluesky-1.5.0/src/mx_bluesky/common}/parameters/device_composites.py +12 -31
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/utils/log.py +12 -11
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/__main__.py +6 -11
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/baton_handler.py +8 -3
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/device_setup_plans/smargon.py +2 -7
- mx_bluesky-1.5.0/src/mx_bluesky/hyperion/device_setup_plans/utils.py +12 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/__init__.py +5 -5
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/experiment_registry.py +6 -7
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +40 -41
- mx_bluesky-1.5.0/src/mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py +60 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +40 -10
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py +26 -15
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +2 -11
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +8 -6
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +33 -36
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/agamemnon.py +68 -62
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +1 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +3 -3
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py +6 -3
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/config_server.py +4 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/cli.py +3 -10
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/constants.py +1 -1
- mx_bluesky-1.5.0/src/mx_bluesky/hyperion/parameters/device_composites.py +62 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/load_centre_collect.py +4 -4
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/rotation.py +9 -8
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/utils/context.py +5 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/utils/validation.py +11 -18
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky.egg-info/PKG-INFO +5 -5
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky.egg-info/SOURCES.txt +32 -19
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky.egg-info/requires.txt +4 -4
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/conftest.py +362 -255
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/system_tests/conftest.py +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +7 -7
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/conftest.py +10 -12
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_agamemnon.py +20 -18
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_ispyb_dev_connection.py +33 -21
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_load_centre_collect_full_plan.py +32 -55
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_nexgen.py +20 -19
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_zocalo_system.py +1 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/agamemnon/example_collect_multipin.json +1 -1
- mx_bluesky-1.5.0/tests/test_data/agamemnon/example_native.json +84 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/rotation/ins_8_5_expected_output.txt +1 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_expected_output.txt +1 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/example_load_centre_collect_params.json +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params.json +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_load_centre_collect_params_multi_rotation.json +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_multi_rotation_scan_parameters.json +1 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json +1 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters_nomove.json +1 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_parameters.json +1 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_rotation_scan_parameters.json +1 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/ispyb_gridscan_system_test_parameters.json +1 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/load_centre_collect_params_top_n_by_max_count.json +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/test_gridscan_param_defaults.json +1 -1
- mx_bluesky-1.5.0/tests/unit_tests/beamlines/aithre_lasershaping/test_beamline_safe.py +66 -0
- mx_bluesky-1.5.0/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +111 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i04/test_thawing.py +3 -3
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/conftest.py +21 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/extruder/test_extruder_collect.py +52 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_manager.py +21 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_ft_collect.py +93 -8
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/test_dcid.py +12 -0
- mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +213 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/experiment_plans/test_change_aperture_then_move_plan.py +3 -15
- {mx_bluesky-1.4.8/tests/unit_tests/common/plans → mx_bluesky-1.5.0/tests/unit_tests/common/experiment_plans}/test_common_flyscan_xray_centre_plan.py +44 -64
- mx_bluesky-1.5.0/tests/unit_tests/common/experiment_plans/test_common_grid_detect_then_xray_centre_plan.py +462 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/experiment_plans/test_grid_detection_plan.py +2 -2
- {mx_bluesky-1.4.8/tests/unit_tests/hyperion → mx_bluesky-1.5.0/tests/unit_tests/common}/experiment_plans/test_oav_snapshot_plan.py +7 -6
- {mx_bluesky-1.4.8/tests/unit_tests/common/plans → mx_bluesky-1.5.0/tests/unit_tests/common/experiment_plans}/test_read_hardware.py +3 -3
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/common/test_snapshot_callback.py +6 -5
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/ispyb/conftest.py +4 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/test_zocalo_handler.py +15 -15
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_callback.py +36 -29
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_handler.py +47 -33
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/xray_centre/test_ispyb_mapping.py +4 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/xray_centre/test_nexus_handler.py +17 -14
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/parameters/test_components.py +8 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/test_do_fgs.py +11 -5
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/test_write_sample_status.py +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/utils/test_log.py +27 -32
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/conftest.py +105 -7
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/conftest.py +17 -27
- mx_bluesky-1.5.0/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +106 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/test_utils.py +1 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/conftest.py +3 -67
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_hyperion_flyscan_xray_centre_plan.py +15 -139
- mx_bluesky-1.5.0/tests/unit_tests/hyperion/experiment_plans/test_hyperion_grid_detect_then_xray_centre_plan.py +228 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_load_centre_collect_full_plan.py +265 -55
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_pin_centre_then_xray_centre_plan.py +70 -51
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_and_change_energy.py +3 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_robot_load_then_centre.py +28 -17
- mx_bluesky-1.5.0/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +1615 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/conftest.py +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/test_ispyb_callback.py +36 -30
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_rotation_callbacks.py +11 -10
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/conftest.py +7 -12
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/nexus/test_compare_nexus_to_gda_exhaustively.py +1 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/nexus/test_write_nexus.py +3 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/test_agamemnon.py +155 -113
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/test_write_rotation_nexus.py +38 -45
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/parameters/test_parameter_model.py +19 -13
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/test_baton_handler.py +19 -3
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/test_main_system.py +65 -46
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/build_docker_image.sh +2 -2
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh +7 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/dls_dev_env.sh +0 -1
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/docker/entrypoint.sh +0 -13
- mx_bluesky-1.4.8/docs/developer/code-map/grid_detect_then_xray_centre.drawio.png +0 -0
- mx_bluesky-1.4.8/src/mx_bluesky/beamlines/aithre_lasershaping/goniometer_controls.py +0 -18
- mx_bluesky-1.4.8/src/mx_bluesky/common/device_setup_plans/check_beamstop.py +0 -27
- mx_bluesky-1.4.8/tests/test_data/agamemnon/example_collect.json +0 -83
- mx_bluesky-1.4.8/tests/unit_tests/beamlines/aithre_lasershaping/test_goniometer_controls.py +0 -39
- mx_bluesky-1.4.8/tests/unit_tests/beamlines/i24/serial/web_gui/test_general_plans.py +0 -95
- mx_bluesky-1.4.8/tests/unit_tests/common/device_setup_plans/test_check_beamstop.py +0 -24
- mx_bluesky-1.4.8/tests/unit_tests/hyperion/device_setup_plans/test_manipulate_sample.py +0 -125
- mx_bluesky-1.4.8/tests/unit_tests/hyperion/experiment_plans/test_grid_detect_then_xray_centre_plan.py +0 -322
- mx_bluesky-1.4.8/tests/unit_tests/hyperion/experiment_plans/test_multi_rotation_scan_plan.py +0 -752
- mx_bluesky-1.4.8/tests/unit_tests/hyperion/experiment_plans/test_rotation_scan_plan.py +0 -873
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.copier-answers.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.coveragerc +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.devcontainer/Dockerfile +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.devcontainer/devcontainer.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.dockerignore +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/CODEOWNERS +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/CONTRIBUTING.md +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/ISSUE_TEMPLATE/issue.md +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/actions/install_requirements/action.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/actions/verify-nexus/Dockerfile +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/actions/verify-nexus/action.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/actions/verify-nexus/entrypoint.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/dependabot.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/pages/index.html +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/pages/make_switcher.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/workflows/_check.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/workflows/_dist.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/workflows/_docs.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/workflows/_pypi.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/workflows/_release.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/workflows/_test.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/workflows/_tox.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/workflows/ci.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.github/workflows/periodic.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.gitignore +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.pre-commit-config.yaml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.vscode/extensions.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.vscode/launch.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.vscode/mx-bluesky.code-workspace +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.vscode/mxb-with-core-dependencies.code-workspace +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.vscode/settings.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/.vscode/tasks.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/Dockerfile +0 -0
- /mx_bluesky-1.4.8/Dockerfile.release → /mx_bluesky-1.5.0/Dockerfile.hyperion +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/LICENSE +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/README.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/catalog-info.yaml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/codecov.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/conftest.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/_api.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/_templates/custom-module-template.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/conf.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/code-map/index.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/explanations/callback_and_run_logic.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/explanations/decisions/0002-repository-structure.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/explanations/decisions/0003-python-version-support.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/explanations/decisions.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/how-to/contribute.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/how-to/deploy-a-release.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/how-to/dev-ops/build-docs.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/how-to/dev-ops/dev-ops.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/how-to/dev-ops/lint.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/how-to/dev-ops/run-tests.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/how-to/dev-ops/update-tools.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/how-to/get-started.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/reference/standards.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/general/tutorials/profile-tests.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/hyperion/how-to/update-panda-ioc.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/hyperion/reference/gridscan.puml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/hyperion/reference/param-hierarchy.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/hyperion/system-tests.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/index.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/murko-integration/explanations/architecture.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/murko-integration/images/murko_setup.drawio.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/murko-integration/index.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/explanations/decisions/0001-record-architecture-decisions.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/explanations/decisions.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/how-to/environment-setup.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/how-to/pmac-docs.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/how-to/run-a-collection.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/index.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/developer/serial-crystallography-on-i24/project-planning/roadmap.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/images/dls-favicon.ico +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/images/dls-logo.svg +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/docs/index.rst +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/helmcharts/hyperion/Chart.yaml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/helmcharts/hyperion/templates/ingress.yaml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/helmcharts/hyperion/templates/service.yaml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/helmcharts/redis-to-murko/Chart.yaml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/helmcharts/redis-to-murko/templates/deployment.yaml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/helmcharts/redis-to-murko/values.yaml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/add_assignee_when_pr_opened.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/assigned_issues_to_in_progress.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/get_issue_from_pr.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/get_project_data_and_move_column.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/linkcheck.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/open_prs_to_review.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/opened_issues_to_backlog.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/pin_versions.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/pre_release_workflow.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/rework_prs_to_in_progress.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/test_data/pip_freeze.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/test_data/setup.cfg +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/test_data/setup.cfg.pinned +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/test_data/setup.cfg.unpinned +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/hyperion_other/workflows/test_pin_versions.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/pull_request_template.md +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/run_hyperion_in_podman.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/setup.cfg +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/__main__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/aithre_lasershaping/check_goniometer_performance.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i04/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i04/callbacks/murko_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i04/redis_to_murko_forwarder.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i04/thawing_plan.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i23/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i23/serial.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/extruder/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s1l.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/s2l.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/log.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/constants.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/experiment_parameters.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/cs_maker.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/cs/motor_direction.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/parameters/utils.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/run_extruder.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/run_fixed_target.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/run_serial.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/run_ssx.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/set_visit_directory.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/start_blueapi.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/web_gui_plans/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/beamlines/i24/serial/write_nexus.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/device_setup_plans/position_detector.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/device_setup_plans/setup_oav.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/device_setup_plans/setup_panda.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/device_setup_plans/xbpm_feedback.py +0 -0
- {mx_bluesky-1.4.8/src/mx_bluesky/common/plans → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py +0 -0
- {mx_bluesky-1.4.8/src/mx_bluesky/common/plans → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans}/inner_plans/__init__ .py +0 -0
- {mx_bluesky-1.4.8/src/mx_bluesky/common/plans → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans}/read_hardware.py +0 -0
- {mx_bluesky-1.4.8/src/mx_bluesky/common/plans → mx_bluesky-1.5.0/src/mx_bluesky/common/experiment_plans}/write_sample_status.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/abstract_event.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/grid_detection_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_callback_base.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/ispyb_mapping.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/log_uid_tag_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/logging_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/plan_reactive_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/common/zocalo_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/sample_handling/sample_handling_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/config_server.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/ispyb/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/ispyb/data_model.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/nexus/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/external_interaction/nexus/write_nexus.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/parameters/constants.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/parameters/gridscan.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/preprocessors/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/preprocessors/preprocessors.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/protocols/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/protocols/protocols.py +0 -0
- {mx_bluesky-1.4.8/src/mx_bluesky/hyperion/device_setup_plans → mx_bluesky-1.5.0/src/mx_bluesky/common/utils}/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/utils/context.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/utils/exceptions.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/utils/tracing.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/utils/utils.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/common/xrc_result.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/definitions.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/__init__.py +0 -0
- {mx_bluesky-1.4.8/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation → mx_bluesky-1.5.0/src/mx_bluesky/hyperion/device_setup_plans}/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/device_setup_plans/dcm_pitch_roll_mirror_adjuster.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/device_setup_plans/setup_panda.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/device_setup_plans/setup_zebra.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/experiment_plans/set_energy_plan.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/robot_load/ispyb_callback.py +0 -0
- {mx_bluesky-1.4.8/tests → mx_bluesky-1.5.0/src/mx_bluesky/hyperion/external_interaction/callbacks/rotation}/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/components.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/gridscan.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/parameters/robot_load.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky/jupyter_example.ipynb +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky.egg-info/dependency_links.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky.egg-info/entry_points.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/src/mx_bluesky.egg-info/top_level.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/start_jupyter.sh +0 -0
- {mx_bluesky-1.4.8/tests/system_tests → mx_bluesky-1.5.0/tests}/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/system_tests/hyperion → mx_bluesky-1.5.0/tests/system_tests}/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/system_tests/hyperion/external_interaction → mx_bluesky-1.5.0/tests/system_tests/hyperion}/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/system_tests/hyperion/external_interaction/callbacks → mx_bluesky-1.5.0/tests/system_tests/hyperion/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests → mx_bluesky-1.5.0/tests/system_tests/hyperion/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_config_service.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/system_tests/hyperion/external_interaction/test_exp_eye_dev.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/ispyb-test-credentials.cfg +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/README.md +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/fake_data.h5 +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/rotation/ins_8_5.nxs +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/rotation/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5.nxs +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/nexus_files/rotation_unicode_metafile/ins_8_5_meta.h5.gz +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_grid_with_edge_detect_parameters.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_pin_centre_then_xray_centre_parameters.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_robot_load_and_centre_params.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/good_test_robot_load_params.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/parameter_json_files/test_oav_snapshot_params.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/rabbitmq-test-credentials.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/scratch/README +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_OAVCentring.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_beamline_dcm_pitch_converter.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_beamline_dcm_roll_converter.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_beamline_parameters.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_beamline_vfm_lat_converter.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_config.cfg +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/OAVCentring_hyperion.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/display.configuration +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/domain/beamlineParameters +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Pitch_converter.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/lookup/BeamLineEnergy_DCM_Roll_converter.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/lookup/BeamLine_Undulator_toGap.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_daq_configuration/lookup/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_det_dist_converter.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_display.configuration +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_images/generate_snapshot_input.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_images/generate_snapshot_output.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_images/ins_15_33_0.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_images/ins_15_33_90.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_images/ins_15_33_expected_0.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_images/ins_15_33_expected_270.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_images/thau_1_91_0.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_images/thau_1_91_90.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_images/thau_1_91_expected_0.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_images/thau_1_91_expected_270.png +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_jCameraManZoomLevels.xml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_lookup_table.txt +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/test_mirror_focus.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/test_data/zocalo-test-configuration.yaml +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/beamlines → mx_bluesky-1.5.0/tests/unit_tests}/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/beamlines/i24 → mx_bluesky-1.5.0/tests/unit_tests/beamlines}/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/aithre_lasershaping/test_check_goniometer_performance.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i04/callbacks/test_murko_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i04/test_redis_to_murko_forwarder.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i23/test_serial.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/beamlines/i24/serial → mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24}/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/beamlines/i24/serial/extruder → mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24/serial}/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/beamlines/i24/serial/fixed_target → mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24/serial/extruder}/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/beamlines/i24/serial/setup_beamline → mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24/serial/fixed_target}/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/conftest.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_chip_startup.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/fixed_target/test_moveonclick.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/parameters/test_parameter_model.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/parameters/test_utils.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/beamlines/i24/serial/web_gui → mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24/serial/setup_beamline}/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_pv_abstract.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_beamline.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_setup_detector.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/setup_beamline/test_zebra_plans.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/test_log.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/test_run_serial.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/beamlines/i24/serial/test_write_nexus.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/common → mx_bluesky-1.5.0/tests/unit_tests/beamlines/i24/serial/web_gui}/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/common/experiment_plans → mx_bluesky-1.5.0/tests/unit_tests/common}/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/device_setup_plans/test_xbpm_feedback.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/common/external_interaction → mx_bluesky-1.5.0/tests/unit_tests/common/experiment_plans}/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/common/external_interaction/callbacks → mx_bluesky-1.5.0/tests/unit_tests/common/external_interaction}/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/common/external_interaction/callbacks/common → mx_bluesky-1.5.0/tests/unit_tests/common/external_interaction/callbacks}/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/common/external_interaction/callbacks/ispyb → mx_bluesky-1.5.0/tests/unit_tests/common/external_interaction/callbacks/common}/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/common/test_abstract_event.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/common/parameters → mx_bluesky-1.5.0/tests/unit_tests/common/external_interaction/callbacks/ispyb}/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_expeye_interaction.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_gridscan_ispyb_store_3d.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/ispyb/test_rotation_ispyb_store.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/callbacks/test_plan_reactive_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/conftest.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/nexus/test_nexus_utils.py +0 -0
- {mx_bluesky-1.4.8/src/mx_bluesky → mx_bluesky-1.5.0/tests/unit_tests}/common/external_interaction/test_config_server.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/test_ispyb_utils.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/external_interaction/xray_centre/__init__.py +0 -0
- {mx_bluesky-1.4.8/tests/unit_tests/common/plans → mx_bluesky-1.5.0/tests/unit_tests/common/parameters}/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/preprocessors/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/preprocessors/test_preprocessors.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/common/utils/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/test_dcm_pitch_roll_mirror_adjuster.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/test_setup_oav.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/test_setup_panda.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/device_setup_plans/test_zebra_setup.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/common/test_flyscan_result.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_experiment_registry.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_optimise_attenuation_plan.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_pin_tip_centring.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/experiment_plans/test_set_energy_plan.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/robot_load/test_robot_load_ispyb_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/rotation/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/sample_handling/test_sample_handling_callback.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/callbacks/test_external_callbacks.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/nexus/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000001.h5 +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000002.h5 +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/external_interaction/test_data/dummy_1_000003.h5 +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/parameters/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/test_exceptions.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/test_utils.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/utils/__init__.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/utils/test_callback_sim.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/hyperion/utils/test_context.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/tests/unit_tests/test_cli.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/beam_off_trickery.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/build_imginfo.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/deploy/create_venv.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/deploy/deploy_edm_for_ssx.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/deploy/deploy_mx_bluesky.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/deploy/test_deploy.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/dev_jaeger_container.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/docker/healthcheck.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/docker/i03-compose.yml +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/generate_plantuml.py +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/graylog/Dockerfile +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/graylog/tcp_input.json +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/procserv_ioc_start.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/run_imginfo.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/setup_graylog.sh +0 -0
- {mx_bluesky-1.4.8 → mx_bluesky-1.5.0}/utility_scripts/strip_metafile.py +0 -0
|
@@ -30,14 +30,25 @@ jobs:
|
|
|
30
30
|
DOCKER_BUILD_RECORD_UPLOAD: false
|
|
31
31
|
with:
|
|
32
32
|
context: .
|
|
33
|
-
file: Dockerfile.
|
|
33
|
+
file: Dockerfile.hyperion
|
|
34
|
+
load: true
|
|
35
|
+
|
|
36
|
+
- name: Build and export Dockerfile.blueapi to local cache
|
|
37
|
+
uses: docker/build-push-action@v6
|
|
38
|
+
env:
|
|
39
|
+
DOCKER_BUILD_RECORD_UPLOAD: false
|
|
40
|
+
with:
|
|
41
|
+
context: .
|
|
42
|
+
file: Dockerfile.blueapi
|
|
34
43
|
load: true
|
|
35
44
|
|
|
36
45
|
- name: Create tags for publishing image
|
|
37
46
|
id: meta
|
|
38
47
|
uses: docker/metadata-action@v5
|
|
39
48
|
with:
|
|
40
|
-
images:
|
|
49
|
+
images: |
|
|
50
|
+
ghcr.io/${{ github.repository }}
|
|
51
|
+
ghcr.io/${{ github.repository }}-blueapi
|
|
41
52
|
tags: |
|
|
42
53
|
type=ref,event=tag
|
|
43
54
|
type=raw,value=latest
|
|
@@ -51,7 +62,19 @@ jobs:
|
|
|
51
62
|
# Docker cache and publish it
|
|
52
63
|
with:
|
|
53
64
|
context: .
|
|
54
|
-
file: Dockerfile.
|
|
65
|
+
file: Dockerfile.hyperion
|
|
66
|
+
push: true
|
|
67
|
+
tags: ${{ steps.meta.outputs.tags }}
|
|
68
|
+
labels: ${{ steps.meta.outputs.labels }}
|
|
69
|
+
|
|
70
|
+
- name: Push Dockerfile.blueapi image to container registry
|
|
71
|
+
if: github.ref_type == 'tag'
|
|
72
|
+
uses: docker/build-push-action@v6
|
|
73
|
+
env:
|
|
74
|
+
DOCKER_BUILD_RECORD_UPLOAD: false
|
|
75
|
+
with:
|
|
76
|
+
context: .
|
|
77
|
+
file: Dockerfile.blueapi
|
|
55
78
|
push: true
|
|
56
79
|
tags: ${{ steps.meta.outputs.tags }}
|
|
57
80
|
labels: ${{ steps.meta.outputs.labels }}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# See https://github.com/DiamondLightSource/mx-bluesky/issues/1004
|
|
2
|
+
FROM ghcr.io/diamondlightsource/blueapi:0.10.1
|
|
3
|
+
|
|
4
|
+
ARG DEBIAN_FRONTEND=noninteractive
|
|
5
|
+
|
|
6
|
+
RUN apt update -y && apt upgrade -y
|
|
7
|
+
# Needed for python cv2 dependency
|
|
8
|
+
RUN apt install -y libgl1 libglib2.0-0
|
|
9
|
+
|
|
10
|
+
RUN /venv/bin/pip install mx-bluesky
|
|
11
|
+
|
|
12
|
+
# Needed so that Blueapi's setup-scratch stage has permission to modify dependencies installed
|
|
13
|
+
# in the above pip installation
|
|
14
|
+
RUN mkdir -p /.cache/pip; chmod -R 777 /venv /.cache/pip
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mx-bluesky
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.5.0
|
|
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
|
|
@@ -220,7 +220,7 @@ Requires-Dist: flask-restful
|
|
|
220
220
|
Requires-Dist: ispyb
|
|
221
221
|
Requires-Dist: jupyterlab
|
|
222
222
|
Requires-Dist: matplotlib
|
|
223
|
-
Requires-Dist: nexgen
|
|
223
|
+
Requires-Dist: nexgen>=0.11.0
|
|
224
224
|
Requires-Dist: numpy
|
|
225
225
|
Requires-Dist: opencv-python
|
|
226
226
|
Requires-Dist: opentelemetry-distro
|
|
@@ -234,12 +234,12 @@ Requires-Dist: scanspec
|
|
|
234
234
|
Requires-Dist: scipy
|
|
235
235
|
Requires-Dist: semver
|
|
236
236
|
Requires-Dist: matplotlib
|
|
237
|
-
Requires-Dist: blueapi>=0.
|
|
238
|
-
Requires-Dist: daq-config-server
|
|
237
|
+
Requires-Dist: blueapi>=0.11.1
|
|
238
|
+
Requires-Dist: daq-config-server==0.1.1
|
|
239
239
|
Requires-Dist: ophyd>=1.10.5
|
|
240
240
|
Requires-Dist: ophyd-async>=0.10.0a2
|
|
241
241
|
Requires-Dist: bluesky>=1.13.1
|
|
242
|
-
Requires-Dist: dls-dodal==1.
|
|
242
|
+
Requires-Dist: dls-dodal==1.49.0
|
|
243
243
|
Provides-Extra: dev
|
|
244
244
|
Requires-Dist: black; extra == "dev"
|
|
245
245
|
Requires-Dist: build; extra == "dev"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Grid Detect Then Xray Centre
|
|
2
2
|
============================
|
|
3
3
|
|
|
4
|
-
The aim of this page is to provide a general overview of the
|
|
4
|
+
The aim of this page is to provide a general overview of the ``grid_detect_then_xray_centre_plan``.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
The code for the ``grid_detect_then_xray_centre`` plan is now entirely ``mx-bluesky/common/`` and `dodal <https://github.com/DiamondLightSource/dodal>`_. There is a new Hyperion entry point, ``hyperion_grid_detect_then_xray_centre`` which calls this common plan, setting up Hyperion features for it. There will soon be an i04 entry point that calls the common plan in the same way.
|
|
7
7
|
|
|
8
8
|
There are then a number of plans that make up the ``grid_detect_then_xray_centre_plan`` plan. Some important ones:
|
|
9
9
|
|
|
@@ -11,7 +11,7 @@ There are then a number of plans that make up the ``grid_detect_then_xray_centre
|
|
|
11
11
|
* :ref:`flyscan_xray_centre_plan<flyscan>` - Triggers a hardware-based grid scan and moves to the X-ray centre as returned from ``zocalo``.
|
|
12
12
|
* :ref:`grid_detect_then_xray_centre_plan<grid-detect-xrc>` - This top-level plan performs an :ref:`OAV grid detection <grid-detect>` then a :ref:`flyscan x-ray centre <flyscan>`.
|
|
13
13
|
|
|
14
|
-
The diagram below shows all the plans that make up the ``grid_detect_then_xray_centre_plan``.
|
|
14
|
+
The diagram below shows all the plans that make up the ``grid_detect_then_xray_centre_plan``.
|
|
15
15
|
|
|
16
16
|
.. image:: grid_detect_then_xray_centre.drawio.png
|
|
17
17
|
|
|
@@ -20,21 +20,22 @@ The diagram below shows all the plans that make up the ``grid_detect_then_xray_c
|
|
|
20
20
|
Grid Detect Then Xray Centre Plan
|
|
21
21
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
22
22
|
|
|
23
|
-
`This plan <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/
|
|
23
|
+
`This plan <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py>`__ does the following, in roughly this order:
|
|
24
24
|
|
|
25
25
|
1. If called standalone, start preparing for data collection.
|
|
26
|
-
2.
|
|
27
|
-
3.
|
|
28
|
-
4.
|
|
29
|
-
5.
|
|
30
|
-
6.
|
|
26
|
+
2. Move the beamstop into place if it isn't already.
|
|
27
|
+
3. Perform an :ref:`OAV grid detection <grid-detect>`.
|
|
28
|
+
4. Convert the parameters calculated in step 2 into something we can send to the flyscan X-ray centre.
|
|
29
|
+
5. Move the backlight out, set the aperture to small, and wait for the detector to finish moving.
|
|
30
|
+
6. Perform a :ref:`flyscan X-ray centre <flyscan>`.
|
|
31
|
+
7. Move the sample based on the results of step 5.
|
|
31
32
|
|
|
32
33
|
.. _grid-detect:
|
|
33
34
|
|
|
34
35
|
OAV Grid Detection
|
|
35
36
|
~~~~~~~~~~~~~~~~~~
|
|
36
37
|
|
|
37
|
-
`This plan <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/
|
|
38
|
+
`This plan <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py>`__ does the following, in roughly this order:
|
|
38
39
|
|
|
39
40
|
1. Move to omega 0.
|
|
40
41
|
2. Calculate the 2D grid size using the edge arrays from the OAV.
|
|
@@ -48,7 +49,7 @@ OAV Grid Detection
|
|
|
48
49
|
Flyscan Xray Centre No Move
|
|
49
50
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
50
51
|
|
|
51
|
-
`This plan <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/
|
|
52
|
+
`This plan <https://github.com/DiamondLightSource/mx-bluesky/blob/main/src/mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py>`__ does the following, in roughly this order:
|
|
52
53
|
|
|
53
54
|
1. Move to the desired transmission (and turn off xbpm feedback).
|
|
54
55
|
2. Move to omega 0.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Containerised mx-bluesky
|
|
2
|
+
========================
|
|
3
|
+
|
|
4
|
+
There are currently two images associated with this repository which are pushed on release: hyperion, and mx-bluesky-blueapi.
|
|
5
|
+
|
|
6
|
+
The Hyperion image exists because Hyperion was developed before BlueAPI was production-ready, and so doesn't use BlueAPI to schedule plans. This image is only really relevant for i03, and currently isn't used in production anywhere
|
|
7
|
+
|
|
8
|
+
The ``mx-bluesky-blueapi`` image exists as a minor extension of BlueAPI's image. BlueAPI's image contains the dependencies of BlueAPI, as well as the dependencies of BlueAPI, which includes dodal. When the BlueAPI service is launched, it will do a ``pip install --no deps`` of the plan repository. For MX, this means ``mx-bluesky`` gets installed without any of its dependencies. For this reason, we have created an ``mx-bluesky-blueapi`` image which installs these extra dependencies.
|
|
9
|
+
|
|
10
|
+
This image can be used with BlueAPI's original helmchart, the only change required in the ``values.yaml`` is::
|
|
11
|
+
|
|
12
|
+
image:
|
|
13
|
+
repository: ghcr.io/diamondlightsource/mx-bluesky-blueapi
|
|
14
|
+
tag: "{desired_version}"
|
|
@@ -17,6 +17,8 @@ Release
|
|
|
17
17
|
6. You should now manually go through each line on the release notes and read it from the perspective of a beamline scientist. It should be clear from each what the change means to the beamline and should have links to easily find further info.
|
|
18
18
|
7. Publish the release
|
|
19
19
|
|
|
20
|
+
NOTE FOR USING THE MX-BLUESKY-BLUEAPI IMAGE: If using this image with BlueAPI's helmchart for deployment, the version of dodal which is installed will be the version which is pinned in the BlueAPI, rather than what's in mx-bluesky's pyproject.toml. Before releasing, you should pin BlueAPI to a version which uses a dodal version which is compatible with itself AND mx-bluesky. The deployment will fail if BlueAPI has no version which works with the desired dodal version
|
|
21
|
+
|
|
20
22
|
------------------------
|
|
21
23
|
Deciding release numbers
|
|
22
24
|
------------------------
|
|
@@ -68,7 +68,17 @@ For further information, see https://github.com/containers/podman/issues/2542
|
|
|
68
68
|
Deploying to kubernetes
|
|
69
69
|
-----------------------
|
|
70
70
|
|
|
71
|
-
Once the docker image is built, the image can be deployed to kubernetes using the ``
|
|
71
|
+
Once the docker image is built, the image can be deployed to kubernetes using the ``deploy_mx_bluesky_app_to_k8s.sh``
|
|
72
|
+
script.
|
|
73
|
+
|
|
74
|
+
Secrets
|
|
75
|
+
~~~~~~~
|
|
76
|
+
|
|
77
|
+
The deployment requires the following secrets to be created with the corresponding zocalo rabbitmq credentials if they
|
|
78
|
+
are not already present:
|
|
79
|
+
|
|
80
|
+
* ``rmq-creds``
|
|
81
|
+
* ``rmq-api-reader``
|
|
72
82
|
|
|
73
83
|
Production deployment
|
|
74
84
|
~~~~~~~~~~~~~~~~~~~~~
|
|
@@ -77,12 +87,13 @@ Then create and deploy the helm release
|
|
|
77
87
|
|
|
78
88
|
::
|
|
79
89
|
|
|
80
|
-
./utility_scripts/deploy/
|
|
90
|
+
./utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh --appVersion=x.y.z --beamline=<beamline> --checkout-to-prod hyperion hyperion
|
|
81
91
|
|
|
82
92
|
This will run the ``deploy_mx_bluesky.py`` script to deploy the latest hyperion to ``/dls_sw``.
|
|
83
93
|
You will be prompted to log into the beamline cluster, then it will create a helm release "hyperion".
|
|
84
94
|
The source folders will be mounted as bind mounts to allow the pod to pick up changes in production.
|
|
85
95
|
For production these are expected to be in the normal place defined in ``values.yaml``.
|
|
96
|
+
If the non-k8s deployment of hyperion has already been performed, then omit ``--checkout-to-prod``.
|
|
86
97
|
|
|
87
98
|
Development deployment
|
|
88
99
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
@@ -93,7 +104,7 @@ above, you install a dev deployment to the cluster you are currently logged into
|
|
|
93
104
|
|
|
94
105
|
::
|
|
95
106
|
|
|
96
|
-
./utility_scripts/deploy/
|
|
107
|
+
./utility_scripts/deploy/deploy_mx_bluesky_app_to_k8s.sh --dev --beamline=<beamline> --repository=<your image repo> hyperion-test hyperion
|
|
97
108
|
|
|
98
109
|
|
|
99
110
|
The dev deployment bind-mounts the current ``hyperion`` workspace and ``../dodal`` into the container so that you can
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
@startuml
|
|
2
|
+
box "Request Coordinate Space"
|
|
3
|
+
participant "GDA/Agamemnon"
|
|
4
|
+
participant Hyperion
|
|
5
|
+
end box
|
|
6
|
+
|
|
7
|
+
boundary omega_flip
|
|
8
|
+
|
|
9
|
+
box "Hardware Coordinate Space"
|
|
10
|
+
participant "Ophyd Devices"
|
|
11
|
+
participant "Nexus File"
|
|
12
|
+
end box
|
|
13
|
+
|
|
14
|
+
"GDA/Agamemnon" -> Hyperion: Hyperion Request\n(Request Coordinate Space)
|
|
15
|
+
Hyperion -> "Ophyd Devices": Rotation Operations
|
|
16
|
+
"Ophyd Devices" -> "Nexus File": PCAP Data
|
|
17
|
+
Hyperion -> "Nexus File": Write metadata\nRecord actual hardware coordinate system
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@enduml
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
Hyperion Coordinate Systems
|
|
2
|
+
===========================
|
|
3
|
+
|
|
4
|
+
Rotation Coordinate Systems
|
|
5
|
+
---------------------------
|
|
6
|
+
|
|
7
|
+
Within hyperion coordinates are expressed both in requests to Hyperion, in commands issued to hardware, and in the
|
|
8
|
+
output files sent to downstream analysis.
|
|
9
|
+
|
|
10
|
+
.. uml:: coordinate-systems.puml
|
|
11
|
+
|
|
12
|
+
Within requests to Hyperion, the requested rotations are defined with respect to a fixed coordinate system, that is
|
|
13
|
+
defined to be the same for all installations and the intention is that this should be the same as that defined by the
|
|
14
|
+
nexus file format when all axes are in their positive orientations. Thus the same request made across different
|
|
15
|
+
deployments of Hyperion should result in the same physical motion regardless of the coordinate space conventions of
|
|
16
|
+
the underlying hardware.
|
|
17
|
+
|
|
18
|
+
In the ``RotationScan`` parameter class ``scan_width_deg`` is defined to always be positive and the direction is
|
|
19
|
+
defined by ``rotation_direction`` which can be ``POSITIVE`` or ``NEGATIVE``
|
|
20
|
+
|
|
21
|
+
The coordinate systems of the underlying hardware may differ from the request. At Diamond traditionally the omega
|
|
22
|
+
axis is implemented to be in the opposite direction, therefore the commands sent to the hardware are transformed and
|
|
23
|
+
the ``omega_flip`` feature flag controls this behaviour, which by default is set to ``True`` as this is
|
|
24
|
+
generally expected to be required for the beamlines here.
|
|
25
|
+
|
|
26
|
+
In the Nexus output file, there is provision for describing the choice of axis orientations in the nexus file, and
|
|
27
|
+
the ``omega_flip`` parameter affects the omega axis description in ``/entry/sample/transformations/omega``.
|
|
28
|
+
This is especially important as if PCAP position capture is enabled then referenced data files will contain positions
|
|
29
|
+
with respect to this axis.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
Gridscan Coordinate System
|
|
33
|
+
--------------------------
|
|
34
|
+
|
|
35
|
+
The diagram below shows how the coordinate system used in the 3D gridscan relates to the beam and sample loop. The blue arrows indicate the direction of the beam. The red grids represent the grids used during the scan.
|
|
36
|
+
|
|
37
|
+
.. image:: ../../../images/176701633-b93bba62-b2e7-4740-a863-c6b388beb14f.png
|
|
38
|
+
|
|
39
|
+
Motors Coordinate System
|
|
40
|
+
------------------------
|
|
41
|
+
|
|
42
|
+
.. include:: <isogrk1.txt>
|
|
43
|
+
|
|
44
|
+
The diagram below shows the x,y,z directions of the smargon motor coordinate system. The smargon y, z axes change with the :math:`\omega`. x,y,z are measured in millimetres.
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
* The pin runs from -ve x to +ve x
|
|
48
|
+
* y is +ve towards the ceiling when :math:`\omega = 0`.
|
|
49
|
+
* z is +ve towards the detector/away from the oav and parallel to the beam when :math:`\omega = 0`.
|
|
50
|
+
* The x and y coordinates of the image are also shown, the image feed has x from left to right, y from top to bottom, with the pin to the right of the image.
|
|
51
|
+
* |ohgr| rotates from the y axis at :math:`\omega = 0` (the floor to ceiling).
|
|
52
|
+
|
|
53
|
+
:math:`\omega = 0`
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
.. image:: ../../../images/motor-coords-omega-0.svg
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
:math:`\omega = \alpha`
|
|
60
|
+
|
|
61
|
+
.. image:: ../../../images/motor-coords-omega-alpha.svg
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
OAV Image Coordinate System
|
|
65
|
+
---------------------------
|
|
66
|
+
|
|
67
|
+
In the OAV image the below coordinate system is used (with units in pixels).
|
|
68
|
+
|
|
69
|
+
.. image:: ../../../images/207297611-f67dfc25-a3a5-4ade-a1e7-28b54a136fa6.png
|
|
70
|
+
|
|
71
|
+
Conversion Between OAV Image and Smargon
|
|
72
|
+
----------------------------------------
|
|
73
|
+
|
|
74
|
+
At :math:`\omega = 0`, :math:`x` and :math:`y` in the camera are antiparallel to :math:`x` and :math:`y` in the smargon. :math:`y` in the camera are is parallel to :math:`z` of the smargon at :math:`x` = :math:`\frac{\pi}{2}`. Then to convert from the camera to smargon coordinate systems we map
|
|
75
|
+
|
|
76
|
+
:math:`x_\text{smargon} = -x, \quad y_\text{smargon} = -y\cos(\omega),\quad z_\text{smargon} = y sin(\omega).`
|
|
@@ -25,14 +25,17 @@ Note that because Hyperion makes heavy use of [Dodal](https://github.com/Diamond
|
|
|
25
25
|
|
|
26
26
|
## Starting the bluesky runner
|
|
27
27
|
|
|
28
|
-
The bluesky runner is (re)started in production by GDA when it invokes `run_hyperion.sh`.
|
|
28
|
+
The bluesky runner is (re)started in production by GDA when it invokes `run_hyperion.sh`.
|
|
29
29
|
|
|
30
|
-
If you wish to attempt to run from a developer machine, then (if you are able to connect all devices)
|
|
31
|
-
you may `run_hyperion.sh --dev --beamline=<beamline>`, which will give you a running instance albeit with
|
|
32
|
-
read-only devices. The `--dev` flag ensures that logging will not be sent to the production Graylog/output folders.
|
|
33
30
|
|
|
34
31
|
This script will determine which beamline you are on based on the `BEAMLINE` environment variable. If on a
|
|
35
|
-
beamline Hyperion will run with `INFO` level logging, sending its logs to both production graylog and to the
|
|
32
|
+
beamline Hyperion will run with `INFO` level logging, sending its logs to both production graylog and to the
|
|
33
|
+
beamline/log/bluesky/hyperion.log on the shared file system.
|
|
34
|
+
|
|
35
|
+
If you wish to attempt to run from a developer machine, then (if you are able to connect all devices)
|
|
36
|
+
you may `run_hyperion.sh --dev --beamline=<beamline>`, which will give you a running instance albeit with
|
|
37
|
+
read-only devices. The `--dev` flag ensures that logging will not be sent to the production Graylog/output folders
|
|
38
|
+
and that hyperion will create mock devices.
|
|
36
39
|
|
|
37
40
|
If in a dev environment Hyperion will log to a local graylog instance instead and into a file at `./tmp/dev/hyperion.log`. A local instance of graylog will need to be running for this to work correctly. To set this up and run up the containers on your local machine run the `setup_graylog.sh` script.
|
|
38
41
|
|
|
@@ -40,12 +43,6 @@ This uses the generic defaults for a local graylog instance. It can be accessed
|
|
|
40
43
|
|
|
41
44
|
The hyperion python module can also be run directly without the startup script. It takes the same command line options, including:
|
|
42
45
|
|
|
43
|
-
`INFO` level logging of the Bluesky event documents can be enabled with the flag
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
python -m hyperion --dev --verbose-event-logging
|
|
47
|
-
```
|
|
48
|
-
|
|
49
46
|
## Testing
|
|
50
47
|
|
|
51
48
|
Unit tests can be run with `pytest --random-order`. To see log output from tests you can turn on logging with the `--logging` command line option and then use the `-s` command line option to print logs into the console. So to run the unit tests such that all logs are at printed to the terminal, you can use `python -m pytest --random-order --logging -s`. Note that this will likely overrun your terminal buffer, so you can narrow the selection of tests with the `-k "<test name pattern>"` option.
|
|
Binary file
|