mx-bluesky 1.5.0__py3-none-any.whl → 1.5.1__py3-none-any.whl

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.
Files changed (37) hide show
  1. mx_bluesky/_version.py +2 -2
  2. mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +8 -8
  3. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +5 -5
  4. mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +4 -4
  5. mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py +2 -2
  6. mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py +5 -5
  7. mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py +3 -3
  8. mx_bluesky/common/device_setup_plans/robot_load_unload.py +123 -0
  9. mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py +1 -0
  10. mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py +26 -24
  11. mx_bluesky/common/external_interaction/ispyb/ispyb_store.py +0 -1
  12. mx_bluesky/common/external_interaction/nexus/write_nexus.py +2 -2
  13. mx_bluesky/common/parameters/components.py +7 -2
  14. mx_bluesky/common/parameters/constants.py +4 -3
  15. mx_bluesky/common/xrc_result.py +25 -2
  16. mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py +7 -1
  17. mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py +26 -8
  18. mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py +21 -75
  19. mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py +2 -2
  20. mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py +9 -4
  21. mx_bluesky/hyperion/external_interaction/agamemnon.py +4 -4
  22. mx_bluesky/hyperion/external_interaction/callbacks/__main__.py +1 -1
  23. mx_bluesky/hyperion/external_interaction/callbacks/{robot_load → robot_actions}/ispyb_callback.py +28 -19
  24. mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py +1 -1
  25. mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py +3 -0
  26. mx_bluesky/hyperion/external_interaction/config_server.py +0 -11
  27. mx_bluesky/hyperion/parameters/constants.py +1 -5
  28. mx_bluesky/hyperion/parameters/gridscan.py +2 -6
  29. mx_bluesky/hyperion/parameters/load_centre_collect.py +15 -0
  30. mx_bluesky/hyperion/parameters/rotation.py +7 -3
  31. {mx_bluesky-1.5.0.dist-info → mx_bluesky-1.5.1.dist-info}/METADATA +4 -3
  32. {mx_bluesky-1.5.0.dist-info → mx_bluesky-1.5.1.dist-info}/RECORD +36 -36
  33. mx_bluesky/hyperion/utils/validation.py +0 -196
  34. {mx_bluesky-1.5.0.dist-info → mx_bluesky-1.5.1.dist-info}/WHEEL +0 -0
  35. {mx_bluesky-1.5.0.dist-info → mx_bluesky-1.5.1.dist-info}/entry_points.txt +0 -0
  36. {mx_bluesky-1.5.0.dist-info → mx_bluesky-1.5.1.dist-info}/licenses/LICENSE +0 -0
  37. {mx_bluesky-1.5.0.dist-info → mx_bluesky-1.5.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  mx_bluesky/__init__.py,sha256=Ksms_WJF8LTkbm38gEpm1jBpGqcQ8NGvmb2ZJlOE1j8,198
2
2
  mx_bluesky/__main__.py,sha256=RVqPnxDisFMIn_aoEi0drlThNHgKTJULnSrotouIKI0,480
3
- mx_bluesky/_version.py,sha256=qEW4HoWHYDkBguijNs9nZzHd38qlKSeRTDG2QQbYrGY,511
3
+ mx_bluesky/_version.py,sha256=FasBapRYrTzegTWgTLGzFg84_c9eAAt8ZkOEeQxlLC4,511
4
4
  mx_bluesky/definitions.py,sha256=ULpEYAUzdQiEbBoTgYTMxfUf3DDDjhYtvDxofs7Qxqw,168
5
5
  mx_bluesky/jupyter_example.ipynb,sha256=wpwvPrBvwtRMS5AIFk8F54cIlUoD0o4ji8tKK5cZHA4,1672
6
6
  mx_bluesky/beamlines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -27,14 +27,14 @@ mx_bluesky/beamlines/i24/serial/set_visit_directory.sh,sha256=heQWMqUHNERQurt2tR
27
27
  mx_bluesky/beamlines/i24/serial/start_blueapi.sh,sha256=4iBzQljTLXQiVIF4UO7drc9qUkP7KSRC6Mjh8hcGxpI,608
28
28
  mx_bluesky/beamlines/i24/serial/write_nexus.py,sha256=3qSjvH2_0WYPuX8nUaOdsec7kIUSW0xBhCFec2tv3WM,4018
29
29
  mx_bluesky/beamlines/i24/serial/extruder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
- mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py,sha256=upg_8uQ-DMzQckjoDSt0VjoxxayfX09WvphCTVGBNM8,19462
30
+ mx_bluesky/beamlines/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py,sha256=OddLUvKvKe_Sabl0uTKiAk7yB5qtnhWftZJlvepqRkk,19389
31
31
  mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DetStage.edl,sha256=Uqw7u7Lqn6SRZxOoo4E7XwEueTI0eXylXpgBL66DXrI,1974
32
32
  mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl,sha256=lRFa3LEIqc6Yar2XjCT3T1KKG9cHBW0AK96nsfss0bE,30896
33
33
  mx_bluesky/beamlines/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl,sha256=K79vmGAcf9qVEQLXTgr0g4bZDWaJ7nFoK4e0Ex7qAwM,14690
34
34
  mx_bluesky/beamlines/i24/serial/fixed_target/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
35
35
  mx_bluesky/beamlines/i24/serial/fixed_target/ft_utils.py,sha256=puO1vg0x-TPgv8FbEFg73ohJqbwDpcG50_2cLUTa2FA,1210
36
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py,sha256=rwWmhX59Iqv_fjuUSlDnmY0Z3YeHpJv5Q4ygdvapljc,25567
37
- mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py,sha256=eawdgkfNramXlZLgbxosVNO0MLjWiN0f8XLrU68gn1o,33143
36
+ mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py,sha256=d5eG8xllmCf0wJO-tsN2vzALaahMr7igm6ap94hGqrY,25515
37
+ mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py,sha256=fjX_UKOfdA38u-3hhe6t7Y9c6r-HijyWqOi3kLUY3M8,33098
38
38
  mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py,sha256=Vokr_Gl_lpqcUwG18C2h8TYMmyTx1HmUSDd9zgR9-7M,3275
39
39
  mx_bluesky/beamlines/i24/serial/fixed_target/i24ssx_moveonclick.py,sha256=QLg4wryENBeFfOYFaIgE9R12r2KvUuKIP9ZY8iyYibY,6582
40
40
  mx_bluesky/beamlines/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl,sha256=H9BVU1S3oy8tAVHtKvJvp7YTHA-4X-jtOtiu3jJ7of4,10348
@@ -61,22 +61,23 @@ mx_bluesky/beamlines/i24/serial/setup_beamline/__init__.py,sha256=UhBdMcPdJMzwV0
61
61
  mx_bluesky/beamlines/i24/serial/setup_beamline/ca.py,sha256=H2gPmsLheYReFlGPFa5zzWbnyqdWbCmgKiAwcpVoYfk,1516
62
62
  mx_bluesky/beamlines/i24/serial/setup_beamline/pv.py,sha256=9Up7ob1UMUG438SKjW7Ffn6OFiurC7Qpl0v19nwDjQQ,15601
63
63
  mx_bluesky/beamlines/i24/serial/setup_beamline/pv_abstract.py,sha256=DVimjuvZYJoCaIswuO6YYVDtbLgZp33KQFmnlb9ngDY,1804
64
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py,sha256=1JU9eEygAX1bYA-pMlLC4dPMnd2KdaMRVtEpEWX-JM8,20982
65
- mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py,sha256=niJJjPkk1fSDr__Upf-9DbBkoPrFn8Gz_eTPgO0WpE8,3221
64
+ mx_bluesky/beamlines/i24/serial/setup_beamline/setup_beamline.py,sha256=6OiZep8qrDdE_QdKqdk_BBx2FK-Dd5OUwSQ1DxL4J9U,20951
65
+ mx_bluesky/beamlines/i24/serial/setup_beamline/setup_detector.py,sha256=zooWiRnzzBiZLE3WvHQNH3oARUSaXqEV57Cs3WU5mfI,3169
66
66
  mx_bluesky/beamlines/i24/serial/setup_beamline/setup_zebra_plans.py,sha256=oRNZLA2uxiRM5eheAuRMM5eT0Oxe1YHqg59BHys3sXY,17970
67
67
  mx_bluesky/beamlines/i24/serial/web_gui_plans/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py,sha256=z0MVrNEnZOzMqDmQYHTi0mMhfuGXXengB-M5-_f0kJE,8919
68
+ mx_bluesky/beamlines/i24/serial/web_gui_plans/general_plans.py,sha256=BN8dSYcMgUwSqaNK4sj_BkIisb-dMHtGMUE5zmRxNm4,8881
69
69
  mx_bluesky/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
- mx_bluesky/common/xrc_result.py,sha256=J1uB9Bujz_Sq_MwvYdWOZL3c6kX09TSaZW3eetRXBpw,2351
70
+ mx_bluesky/common/xrc_result.py,sha256=tUJ6qkDTTB6H1F71IvVAKtmHCRyHSU_tj9GRzVmnE7w,3219
71
71
  mx_bluesky/common/device_setup_plans/manipulate_sample.py,sha256=-5y2AahAU_ZhDQCFQA8Nr-Z3o7mp54pxabqoj4pqhXc,3115
72
72
  mx_bluesky/common/device_setup_plans/position_detector.py,sha256=S49ml0KNZ6wXPQqOxNJ2whKTCyRTcKdBXBhyeEyFDQQ,635
73
+ mx_bluesky/common/device_setup_plans/robot_load_unload.py,sha256=UO2fCMk3Yfy1z4SjUd-zwWsc9lYL4LMLKi0jtCUgPso,4419
73
74
  mx_bluesky/common/device_setup_plans/setup_oav.py,sha256=7WLElZZU5mWq9g2WP86p3P81uiSPuj2V4kIkqXlap3o,2692
74
75
  mx_bluesky/common/device_setup_plans/setup_panda.py,sha256=OF-ZygZyAyQEUdrAWiIxWZ6QhAsVx4Mm9ngRYB1mzKI,433
75
76
  mx_bluesky/common/device_setup_plans/utils.py,sha256=S_Us1KfLkyaRzWxmqnoVxHj2Suq-Vs0n5fMRygHgrTw,1859
76
77
  mx_bluesky/common/device_setup_plans/xbpm_feedback.py,sha256=WsUMdeOZBgbj-bFp7x66aHp2oWffQmjyp61-qmtQAmI,2153
77
78
  mx_bluesky/common/experiment_plans/__init__.py,sha256=FMA-4VN1TJCPcyURKF0qPIQ8uo8YBbtHPRdJokVF4MA,129
78
79
  mx_bluesky/common/experiment_plans/change_aperture_then_move_plan.py,sha256=IY5pq8ni_LKD4LTZG0bbKrC3fEXAnxiunIkp6Oray_c,2897
79
- mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py,sha256=z85aYWZ0g5wPDqeT96Qb94tGSq8SXZL1MIThDYPxrVU,12261
80
+ mx_bluesky/common/experiment_plans/common_flyscan_xray_centre_plan.py,sha256=Zus9VDwse1iDJu_920UutWyddEtviJXt2ORYvQKIhqg,12304
80
81
  mx_bluesky/common/experiment_plans/common_grid_detect_then_xray_centre_plan.py,sha256=N9LXiKJWCOOJ_AyKJu6jMIKocvOidjTA5JOOG5xWPmw,6921
81
82
  mx_bluesky/common/experiment_plans/oav_grid_detection_plan.py,sha256=Djfqfny7Bs-PlpxJUXLDZv-n3uWnk_99YQjAvlvqm8k,6733
82
83
  mx_bluesky/common/experiment_plans/oav_snapshot_plan.py,sha256=Zvz8j9ZgK6hIYRTkSjYBr1ARLyMRixOsou_wSuR97U4,3647
@@ -103,14 +104,14 @@ mx_bluesky/common/external_interaction/callbacks/xray_centre/ispyb_mapping.py,sh
103
104
  mx_bluesky/common/external_interaction/callbacks/xray_centre/nexus_callback.py,sha256=64ZA2ACcq8mI9tKG1MMTf46PYdb_B-sul8xQGM56_WA,4709
104
105
  mx_bluesky/common/external_interaction/ispyb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
105
106
  mx_bluesky/common/external_interaction/ispyb/data_model.py,sha256=HJZPT_j5EMK7-j-0tdaugiS3kDp44_jzvVoP-xcFCsA,2738
106
- mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py,sha256=Y3nZV5NZ-XnYThettFMhZin4dQb5jAZfT2mGmtLlv74,6076
107
- mx_bluesky/common/external_interaction/ispyb/ispyb_store.py,sha256=YMHENdmzzErRc4AxbpgMIGXmULrd6DmiqKfq8rP8fBc,11183
107
+ mx_bluesky/common/external_interaction/ispyb/exp_eye_store.py,sha256=7j7ybxW1CB4WiuaTf4N2ZeeVbNNy7v5aN1KbbcW74wo,6080
108
+ mx_bluesky/common/external_interaction/ispyb/ispyb_store.py,sha256=Q23dZOGN9VfpwN69K4A41merojNhp4VFTEDAe8G9xws,11132
108
109
  mx_bluesky/common/external_interaction/ispyb/ispyb_utils.py,sha256=5-8wHmY1KvMuRpXUxN5YBCQP3M-Jk-sTcfDm-CC84Mw,732
109
110
  mx_bluesky/common/external_interaction/nexus/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
110
111
  mx_bluesky/common/external_interaction/nexus/nexus_utils.py,sha256=n97KHJJd_C59SOVJHcJ3RbNkvxkoUrF6fIJx3jXBuI0,5580
111
- mx_bluesky/common/external_interaction/nexus/write_nexus.py,sha256=tIz9PFFSiaUs1olbMtLGHddTLj132rEuFSWBK9rOM6Y,4087
112
- mx_bluesky/common/parameters/components.py,sha256=CaeYoNqGm_CYhmvnkO-B9uz9crsVaZD4CXAVrjtai5Y,8280
113
- mx_bluesky/common/parameters/constants.py,sha256=yB-yV2RH8wBueEp6dAl87_JwssKgU8vxjwNbENjbjZA,4426
112
+ mx_bluesky/common/external_interaction/nexus/write_nexus.py,sha256=s8xT05_Fn_s64KbPOnR5cm-AooklMKRj2cXxLstl7e0,4067
113
+ mx_bluesky/common/parameters/components.py,sha256=LKkFiGWEzU3dPHGG_M9gzNu4XUA-0nc7Q3ceRiWJFTk,8536
114
+ mx_bluesky/common/parameters/constants.py,sha256=Aj5vRZWy2xaKQNLku1posPsgo5tLW_wqRMBJht4fBio,4467
114
115
  mx_bluesky/common/parameters/device_composites.py,sha256=aUBH8RozQb-TqNLWXFpjxETSZckPsugcDVwuJTiu8hg,2238
115
116
  mx_bluesky/common/parameters/gridscan.py,sha256=XHlXi6zSJoag11hrS4_k44v_NZSIdCS-QBveben2nPw,7034
116
117
  mx_bluesky/common/preprocessors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -134,43 +135,42 @@ mx_bluesky/hyperion/device_setup_plans/smargon.py,sha256=9znQLGF8Uqif1SZ_H4Gyqcn
134
135
  mx_bluesky/hyperion/device_setup_plans/utils.py,sha256=96JlzyikMhWN7LzdiMx8URZInXoGR3OjoxYmCIp9tts,425
135
136
  mx_bluesky/hyperion/experiment_plans/__init__.py,sha256=dJjwLk0EQP-1hKhbs8aRxTF_LxUXgB7kcgDlaP-tMnk,787
136
137
  mx_bluesky/hyperion/experiment_plans/experiment_registry.py,sha256=bGp2c3nKutqHMnDxuqjp6yCF-JKykSzX-IUfxk3oVlM,1701
137
- mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py,sha256=mcYelTj8CoUW_FMGsvlLcTkCR0dLX6GP8PrFYNIshdo,6576
138
+ mx_bluesky/hyperion/experiment_plans/hyperion_flyscan_xray_centre_plan.py,sha256=MzoJ0ts8eeHWi6lt95toZRVsEJ0I21zJ9Z6iYwr2Lps,6643
138
139
  mx_bluesky/hyperion/experiment_plans/hyperion_grid_detect_then_xray_centre_plan.py,sha256=e4w4226ONSGQF2dnXzxOfcJ9i57CZIJrqQ1YCLlaBNo,2153
139
- mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py,sha256=kdp1dWh4g-w9Bob3L7VoiTDAVNkxwrvKvSGcEMzZCBc,6177
140
+ mx_bluesky/hyperion/experiment_plans/load_centre_collect_full_plan.py,sha256=G_r8NIHkvRpC8jGYPYZAtG6uVPTwzlH1P2Akd2ykP4o,6877
140
141
  mx_bluesky/hyperion/experiment_plans/optimise_attenuation_plan.py,sha256=5ZAH17F5T1YyVgA2ML0NEf4ufrD1G0jPRU0_5pINdTg,16195
141
142
  mx_bluesky/hyperion/experiment_plans/pin_centre_then_xray_centre_plan.py,sha256=oErbq4ffTZVNR_LeiSJP8_q4cwdZWB-bdbrO3ZwKg20,5397
142
143
  mx_bluesky/hyperion/experiment_plans/pin_tip_centring_plan.py,sha256=FP_tAhq7Txljbxvvr3eEMoapDtXj8siPyWd9qcYevBg,6247
143
- mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py,sha256=imANEAVswFFaMqTISRXSe0BwcUkQ1sIT8O-WnKsxhqM,8082
144
- mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py,sha256=owF7A9xDv5ZaPOqbe_5IWNTw9fs2pMMCRuxDK30vi_U,6902
145
- mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py,sha256=W9YxG_SCWKhM4xPLWK1c2Nrum-155k3yJujk7gd9V_4,15857
144
+ mx_bluesky/hyperion/experiment_plans/robot_load_and_change_energy.py,sha256=AFQtQ-goN7cbMXiYaxd3-PSDKG2llnMr0dKkYdbCIB4,5942
145
+ mx_bluesky/hyperion/experiment_plans/robot_load_then_centre_plan.py,sha256=II-4v2AOyC7QbCqLZFSq1fT1OjWSg8P5MmSQFzQI0D0,6892
146
+ mx_bluesky/hyperion/experiment_plans/rotation_scan_plan.py,sha256=EzxvClv7Gc3izpBVOQaBskFqdpIl66vIUyjqNtaM3H4,15913
146
147
  mx_bluesky/hyperion/experiment_plans/set_energy_plan.py,sha256=8FAqN-aJgRwZSiCX-hNdeGmaijt0l8owdShVBwNchfE,2643
147
148
  mx_bluesky/hyperion/external_interaction/__init__.py,sha256=95DwXDmKsx36RgAL-AtLZl2LQoLPKbzeYdlkkP_4Coc,559
148
- mx_bluesky/hyperion/external_interaction/agamemnon.py,sha256=Bh6vIg3edjjKmWKZj_IDFYDmGN5pC_FeCCgSFJQiUKc,9984
149
- mx_bluesky/hyperion/external_interaction/config_server.py,sha256=_nHoHcEXhKSFTszTu57Y5FSCP5Xogmyy8FVwYRraAy4,2146
149
+ mx_bluesky/hyperion/external_interaction/agamemnon.py,sha256=y80qaZ43fwUdDBDkRYs7yJH1I8zXVla_7GTnRkXBOnQ,9959
150
+ mx_bluesky/hyperion/external_interaction/config_server.py,sha256=mVBSrqFCnyW92QN1Jeiljm1QbyYH1IJE5QZwARuHu08,1592
150
151
  mx_bluesky/hyperion/external_interaction/callbacks/__init__.py,sha256=1XHaxDljMveu_DYIlk7n963gHffyC6r4C_RhF6HA-N8,283
151
- mx_bluesky/hyperion/external_interaction/callbacks/__main__.py,sha256=1Uu4oT-qnJb2LHQinHrLvN0zBTuz0EZ8HEmqfFrAJE4,6155
152
- mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py,sha256=Yg9i9YNeQLll9KEtic5omAqZohrlQ4DXdhp0fjGNz5U,11581
153
- mx_bluesky/hyperion/external_interaction/callbacks/robot_load/ispyb_callback.py,sha256=7xSvCd95tXjvmsbFLecI1hEwJj_rm8yGuJJ1Pmg-RKU,4142
152
+ mx_bluesky/hyperion/external_interaction/callbacks/__main__.py,sha256=QS4XSLH2KEFWINzs1BweIbDO_gxSfp8tEMa6Y83mSRY,6158
153
+ mx_bluesky/hyperion/external_interaction/callbacks/snapshot_callback.py,sha256=ee1ZIJGp8RQakMDYRfflXjSwi-UgxqdZNkZ1azBIDGQ,11705
154
+ mx_bluesky/hyperion/external_interaction/callbacks/robot_actions/ispyb_callback.py,sha256=Ta8w0W_3LI0PGpwxKlQsS7X0B_hsfJoZdzR2K3J0KHo,4467
154
155
  mx_bluesky/hyperion/external_interaction/callbacks/rotation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
155
- mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py,sha256=KJ1lXurzvvy7eS0W3KDXfnsWzbftsjBUxR0SS0rC0Mg,7460
156
+ mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_callback.py,sha256=-0fz1Fw2zm8JXvZWkHTNRPirO2q3Ha0rb3Ug7eJ-xI4,7456
156
157
  mx_bluesky/hyperion/external_interaction/callbacks/rotation/ispyb_mapping.py,sha256=bba5ZHoOMqvSCUXJIxbx55HGhaoC_Jqhyxxb-ttqt5g,801
157
158
  mx_bluesky/hyperion/external_interaction/callbacks/rotation/nexus_callback.py,sha256=QxLjRqoKSmEC9TbTK6mufbWXRcmzLfe9xZclEhUbxIw,4736
158
159
  mx_bluesky/hyperion/parameters/__init__.py,sha256=kf2wfcILBUBpT0tJ8-W39BywQUkn67yxl9IVsfrr1LE,115
159
160
  mx_bluesky/hyperion/parameters/cli.py,sha256=zciAE1-7Ahx0B8-RNNk25hB40xBMrmrR7cK1GbEDgaM,1177
160
161
  mx_bluesky/hyperion/parameters/components.py,sha256=uXxdW6nIE1VZnh4ZXe5O-LOwsx4MbENEWfLGm2ACvsI,313
161
- mx_bluesky/hyperion/parameters/constants.py,sha256=080UlGZb4QliXyP64XsYcZRzmydPnKW83AmJodKQcs4,1815
162
+ mx_bluesky/hyperion/parameters/constants.py,sha256=-_dCUu5uqw1iHqZ2FE_HkLeaWYHGPB-poNNiqpnfEms,1665
162
163
  mx_bluesky/hyperion/parameters/device_composites.py,sha256=wXr0VH66Qm5xT0WBBy4hmXjONrAxieP3aAFdt0rM6kY,2139
163
- mx_bluesky/hyperion/parameters/gridscan.py,sha256=LcKfL8LUrQlEeehxawL_GebUxVyKYCJuJysMp5W0t_s,3799
164
- mx_bluesky/hyperion/parameters/load_centre_collect.py,sha256=1KsL9pk1iJAmCJIn6R560tkrh4hU2pp7dFKVbVb-zYU,3673
164
+ mx_bluesky/hyperion/parameters/gridscan.py,sha256=snER6auUYTdj31Qa_sjp7zPIpXMo_lwLq7Ugn-YlG6k,3663
165
+ mx_bluesky/hyperion/parameters/load_centre_collect.py,sha256=bT4jXBPKeOTfi3U2lECJ-bbKLkmlCz_MMydqdbCE4xI,4361
165
166
  mx_bluesky/hyperion/parameters/robot_load.py,sha256=DSOwIosO629WoXbVFokEjmgqKZz3xzv0feRQHC_ZgpI,1233
166
- mx_bluesky/hyperion/parameters/rotation.py,sha256=wziJtpx9bgBbNsqwVs8fVZlAOflOEoiRzSvgtmB_1b8,7462
167
+ mx_bluesky/hyperion/parameters/rotation.py,sha256=Ws3iic17Btmleatc5PStL_N8iO41kVe2UtZ1I8F2Uz8,7546
167
168
  mx_bluesky/hyperion/resources/panda/panda-gridscan.yaml,sha256=mhLBJTSjHCkM9F6mjtqbhNmmrV8qSctbCUfhb0q7pYo,28085
168
169
  mx_bluesky/hyperion/utils/__init__.py,sha256=f4E8wInL1Ll4eeFtAiyKmipOBTPlUtKmVK-m_LOQG4M,35
169
170
  mx_bluesky/hyperion/utils/context.py,sha256=TXvARIUZNLcz-KY_-xPkQvK-tMe1sV_cjFDh6IqPgfo,568
170
- mx_bluesky/hyperion/utils/validation.py,sha256=6qsOCepeo9_Vu4byG5a4GKAaiFL2J3M_fm68FIDupDw,6661
171
- mx_bluesky-1.5.0.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
172
- mx_bluesky-1.5.0.dist-info/METADATA,sha256=qo3fn77_GrDSVi_RIq_-tk7xVcaJ0DI7g28Kckqx4_E,17361
173
- mx_bluesky-1.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
174
- mx_bluesky-1.5.0.dist-info/entry_points.txt,sha256=-hM2jXf6TAwgqnUHaEVx02j7sdB0L_WaeHW_tIRuj6o,600
175
- mx_bluesky-1.5.0.dist-info/top_level.txt,sha256=S4rrzXIUef58ulf_04wn01XGZ3xeJjXs4LPEJ_xoF-I,11
176
- mx_bluesky-1.5.0.dist-info/RECORD,,
171
+ mx_bluesky-1.5.1.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
172
+ mx_bluesky-1.5.1.dist-info/METADATA,sha256=vM2XcXEYwdurLg9LtfQzf8VBzHRnmrHKKSw1rfH96UE,17392
173
+ mx_bluesky-1.5.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
174
+ mx_bluesky-1.5.1.dist-info/entry_points.txt,sha256=-hM2jXf6TAwgqnUHaEVx02j7sdB0L_WaeHW_tIRuj6o,600
175
+ mx_bluesky-1.5.1.dist-info/top_level.txt,sha256=S4rrzXIUef58ulf_04wn01XGZ3xeJjXs4LPEJ_xoF-I,11
176
+ mx_bluesky-1.5.1.dist-info/RECORD,,
@@ -1,196 +0,0 @@
1
- import gzip
2
- import json
3
- import os
4
- import shutil
5
- from pathlib import Path
6
-
7
- import bluesky.preprocessors as bpp
8
- from bluesky.run_engine import RunEngine
9
- from dodal.beamlines import i03
10
- from dodal.devices.oav.oav_detector import OAVConfigBeamCentre
11
- from ophyd_async.testing import set_mock_value
12
-
13
- from mx_bluesky.common.experiment_plans.read_hardware import (
14
- standard_read_hardware_during_collection,
15
- )
16
- from mx_bluesky.hyperion.experiment_plans.rotation_scan_plan import (
17
- RotationScanComposite,
18
- )
19
- from mx_bluesky.hyperion.external_interaction.callbacks.rotation.nexus_callback import (
20
- RotationNexusFileCallback,
21
- )
22
- from mx_bluesky.hyperion.parameters.constants import CONST
23
- from mx_bluesky.hyperion.parameters.rotation import RotationScan
24
-
25
- DISPLAY_CONFIGURATION = "tests/test_data/test_display.configuration"
26
- ZOOM_LEVELS_XML = "tests/test_data/test_jCameraManZoomLevels.xml"
27
- TEST_DATA_DIRECTORY = Path("tests/test_data/nexus_files/rotation")
28
- TEST_METAFILE = "ins_8_5_meta.h5.gz"
29
- FAKE_DATAFILE = "../fake_data.h5"
30
- FILENAME_STUB = "test_rotation_nexus"
31
-
32
-
33
- def test_params(filename_stub, dir):
34
- def get_params(filename):
35
- with open(filename) as f:
36
- return json.loads(f.read())
37
-
38
- params = RotationScan(
39
- **get_params(
40
- "tests/test_data/parameter_json_files/good_test_one_multi_rotation_scan_parameters.json"
41
- )
42
- )
43
- for scan_params in params.rotation_scans:
44
- scan_params.x_start_um = 0
45
- scan_params.y_start_um = 0
46
- scan_params.z_start_um = 0
47
- scan_params.scan_width_deg = 360
48
- params.file_name = filename_stub
49
- params.demand_energy_ev = 12700
50
- params.storage_directory = str(dir)
51
- params.exposure_time_s = 0.004
52
- return params
53
-
54
-
55
- def fake_rotation_scan(
56
- parameters: RotationScan,
57
- subscription: RotationNexusFileCallback,
58
- rotation_devices: RotationScanComposite,
59
- ):
60
- single_scan_parameters = next(parameters.single_rotation_scans)
61
-
62
- @bpp.subs_decorator(subscription)
63
- @bpp.set_run_key_decorator("rotation_scan_with_cleanup_and_subs")
64
- @bpp.run_decorator( # attach experiment metadata to the start document
65
- md={
66
- "subplan_name": CONST.PLAN.ROTATION_OUTER,
67
- "mx_bluesky_parameters": single_scan_parameters.model_dump_json(),
68
- "activate_callbacks": "RotationNexusFileCallback",
69
- }
70
- )
71
- def plan():
72
- yield from standard_read_hardware_during_collection(
73
- rotation_devices.aperture_scatterguard,
74
- rotation_devices.attenuator,
75
- rotation_devices.flux,
76
- rotation_devices.dcm,
77
- rotation_devices.eiger,
78
- )
79
-
80
- return plan()
81
-
82
-
83
- def fake_create_rotation_devices():
84
- beamstop = i03.beamstop(connect_immediately=True, mock=True)
85
- eiger = i03.eiger(connect_immediately=True, mock=True)
86
- smargon = i03.smargon(connect_immediately=True, mock=True)
87
- zebra = i03.zebra(connect_immediately=True, mock=True)
88
- detector_motion = i03.detector_motion(connect_immediately=True, mock=True)
89
- backlight = i03.backlight(mock=True)
90
- attenuator = i03.attenuator(connect_immediately=True, mock=True)
91
- flux = i03.flux(connect_immediately=True, mock=True)
92
- undulator = i03.undulator(connect_immediately=True, mock=True)
93
- aperture_scatterguard = i03.aperture_scatterguard(
94
- connect_immediately=True, mock=True
95
- )
96
- synchrotron = i03.synchrotron(connect_immediately=True, mock=True)
97
- s4_slit_gaps = i03.s4_slit_gaps(connect_immediately=True, mock=True)
98
- dcm = i03.dcm(connect_immediately=True, mock=True)
99
- robot = i03.robot(connect_immediately=True, mock=True)
100
- oav = i03.oav(
101
- connect_immediately=True,
102
- mock=True,
103
- params=OAVConfigBeamCentre(ZOOM_LEVELS_XML, DISPLAY_CONFIGURATION),
104
- )
105
- xbpm_feedback = i03.xbpm_feedback(connect_immediately=True, mock=True)
106
-
107
- set_mock_value(smargon.omega.max_velocity, 131)
108
- set_mock_value(dcm.energy_in_kev.user_readback, 12700)
109
-
110
- return RotationScanComposite(
111
- attenuator=attenuator,
112
- backlight=backlight,
113
- beamstop=beamstop,
114
- dcm=dcm,
115
- detector_motion=detector_motion,
116
- eiger=eiger,
117
- flux=flux,
118
- smargon=smargon,
119
- undulator=undulator,
120
- aperture_scatterguard=aperture_scatterguard,
121
- synchrotron=synchrotron,
122
- s4_slit_gaps=s4_slit_gaps,
123
- zebra=zebra,
124
- robot=robot,
125
- oav=oav,
126
- sample_shutter=i03.sample_shutter(connect_immediately=True, mock=True),
127
- xbpm_feedback=xbpm_feedback,
128
- )
129
-
130
-
131
- def sim_rotation_scan_to_create_nexus(
132
- test_params: RotationScan,
133
- fake_create_rotation_devices: RotationScanComposite,
134
- filename_stub,
135
- RE,
136
- ):
137
- run_number = test_params.detector_params.run_number
138
- nexus_filename = f"{filename_stub}_{run_number}.nxs"
139
-
140
- fake_create_rotation_devices.eiger.bit_depth.sim_put(32) # type: ignore
141
-
142
- RE(
143
- fake_rotation_scan(
144
- test_params, RotationNexusFileCallback(), fake_create_rotation_devices
145
- )
146
- )
147
-
148
- nexus_path = Path(test_params.storage_directory) / nexus_filename
149
- assert os.path.isfile(nexus_path)
150
- return filename_stub, run_number
151
-
152
-
153
- def extract_metafile(input_filename, output_filename):
154
- with gzip.open(input_filename) as metafile_fo:
155
- with open(output_filename, "wb") as output_fo:
156
- output_fo.write(metafile_fo.read())
157
-
158
-
159
- def _generate_fake_nexus(filename, dir=os.getcwd()):
160
- RE = RunEngine({})
161
- params = test_params(filename, dir)
162
- run_number = params.detector_params.run_number
163
- filename_stub, run_number = sim_rotation_scan_to_create_nexus(
164
- params, fake_create_rotation_devices(), filename, RE
165
- )
166
- return filename_stub, run_number
167
-
168
-
169
- def generate_test_nexus():
170
- filename_stub, run_number = _generate_fake_nexus(FILENAME_STUB)
171
- # ugly hack because we get double free error on exit
172
- with open("OUTPUT_FILENAME", "x") as f:
173
- f.write(f"{filename_stub}_{run_number}.nxs")
174
-
175
- extract_metafile(
176
- str(TEST_DATA_DIRECTORY / TEST_METAFILE),
177
- f"{FILENAME_STUB}_{run_number}_meta.h5",
178
- )
179
-
180
- new_hyp_data = [f"{FILENAME_STUB}_{run_number}_00000{n}.h5" for n in [1, 2, 3, 4]]
181
- [shutil.copy(TEST_DATA_DIRECTORY / FAKE_DATAFILE, d) for d in new_hyp_data]
182
-
183
- exit(0)
184
-
185
-
186
- def copy_test_meta_data_files():
187
- extract_metafile(
188
- str(TEST_DATA_DIRECTORY / TEST_METAFILE),
189
- f"{TEST_DATA_DIRECTORY}/ins_8_5_meta.h5",
190
- )
191
- new_data = [f"{TEST_DATA_DIRECTORY}/ins_8_5_00000{n}.h5" for n in [1, 2, 3, 4]]
192
- [shutil.copy(TEST_DATA_DIRECTORY / FAKE_DATAFILE, d) for d in new_data]
193
-
194
-
195
- if __name__ == "__main__":
196
- generate_test_nexus()