mx-bluesky 0.0.1__py3-none-any.whl → 0.3.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.
- mx_bluesky/__main__.py +1 -2
- mx_bluesky/_version.py +14 -2
- mx_bluesky/example.py +4 -4
- mx_bluesky/i04/__init__.py +3 -0
- mx_bluesky/i04/callbacks/murko_callback.py +45 -0
- mx_bluesky/i04/thawing_plan.py +84 -0
- mx_bluesky/i24/serial/__init__.py +49 -0
- mx_bluesky/i24/serial/blueapi_config.yaml +12 -0
- mx_bluesky/{I24 → i24}/serial/dcid.py +53 -41
- mx_bluesky/{I24 → i24}/serial/extruder/EX-gui-edm/DetStage.edl +1 -2
- mx_bluesky/{I24 → i24}/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl +28 -32
- mx_bluesky/{I24 → i24}/serial/extruder/EX-gui-edm/microdrop_alignment.edl +0 -1
- mx_bluesky/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +513 -0
- mx_bluesky/{I24 → i24}/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl +1 -2
- mx_bluesky/{I24 → i24}/serial/fixed_target/FT-gui-edm/DetStage.edl +1 -2
- mx_bluesky/{I24 → i24}/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl +46 -41
- mx_bluesky/{I24 → i24}/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl +0 -1
- mx_bluesky/{I24 → i24}/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl +10 -11
- mx_bluesky/{I24 → i24}/serial/fixed_target/FT-gui-edm/PMAC_Command.edl +0 -1
- mx_bluesky/{I24 → i24}/serial/fixed_target/FT-gui-edm/Shutter_Control.edl +0 -1
- mx_bluesky/{I24 → i24}/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl +0 -1
- mx_bluesky/{I24 → i24}/serial/fixed_target/FT-gui-edm/nudgechip.edl +0 -1
- mx_bluesky/{I24 → i24}/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl +300 -119
- mx_bluesky/i24/serial/fixed_target/FT-gui-edm/short1-laser.png +0 -0
- mx_bluesky/i24/serial/fixed_target/FT-gui-edm/short2-laser.png +0 -0
- mx_bluesky/{I24 → i24}/serial/fixed_target/ft_utils.py +24 -1
- mx_bluesky/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +798 -0
- mx_bluesky/{I24 → i24}/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py +374 -408
- mx_bluesky/{I24 → i24}/serial/fixed_target/i24ssx_Chip_Mapping_py3v1.py +34 -40
- mx_bluesky/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +325 -0
- mx_bluesky/{I24 → i24}/serial/fixed_target/i24ssx_moveonclick.py +40 -45
- mx_bluesky/i24/serial/log.py +156 -0
- mx_bluesky/i24/serial/parameters/__init__.py +15 -0
- mx_bluesky/i24/serial/parameters/constants.py +47 -0
- mx_bluesky/i24/serial/parameters/experiment_parameters.py +124 -0
- mx_bluesky/i24/serial/parameters/fixed_target/cs/cs_maker.json +9 -0
- mx_bluesky/{I24 → i24}/serial/parameters/fixed_target/cs/motor_direction.txt +1 -1
- mx_bluesky/{I24 → i24}/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar +1 -1
- mx_bluesky/i24/serial/parameters/utils.py +40 -0
- mx_bluesky/i24/serial/run_extruder.sh +19 -0
- mx_bluesky/i24/serial/run_fixed_target.sh +22 -0
- mx_bluesky/i24/serial/run_serial.py +36 -0
- mx_bluesky/{I24 → i24}/serial/set_visit_directory.sh +6 -1
- mx_bluesky/{I24 → i24}/serial/setup_beamline/pv.py +1 -62
- mx_bluesky/{I24 → i24}/serial/setup_beamline/pv_abstract.py +6 -7
- mx_bluesky/{I24 → i24}/serial/setup_beamline/setup_beamline.py +90 -269
- mx_bluesky/{I24 → i24}/serial/setup_beamline/setup_detector.py +47 -40
- mx_bluesky/i24/serial/setup_beamline/setup_zebra_plans.py +459 -0
- mx_bluesky/i24/serial/start_blueapi.sh +28 -0
- mx_bluesky/i24/serial/write_nexus.py +102 -0
- mx_bluesky/parameters/__init__.py +31 -0
- mx_bluesky/parameters/components.py +200 -0
- {mx_bluesky-0.0.1.dist-info → mx_bluesky-0.3.1.dist-info}/METADATA +37 -26
- mx_bluesky-0.3.1.dist-info/RECORD +67 -0
- {mx_bluesky-0.0.1.dist-info → mx_bluesky-0.3.1.dist-info}/WHEEL +1 -1
- mx_bluesky-0.3.1.dist-info/entry_points.txt +4 -0
- mx_bluesky/I24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py +0 -476
- mx_bluesky/I24/serial/fixed_target/FT-gui-edm/ME14E-motors.edl +0 -1874
- mx_bluesky/I24/serial/fixed_target/__init__.py +0 -0
- mx_bluesky/I24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py +0 -695
- mx_bluesky/I24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py +0 -463
- mx_bluesky/I24/serial/log.py +0 -101
- mx_bluesky/I24/serial/parameters/__init__.py +0 -5
- mx_bluesky/I24/serial/parameters/constants.py +0 -39
- mx_bluesky/I24/serial/parameters/fixed_target/cs/cs_maker.json +0 -9
- mx_bluesky/I24/serial/parameters/fixed_target/cs/fiducial_1.txt +0 -4
- mx_bluesky/I24/serial/parameters/fixed_target/cs/fiducial_2.txt +0 -4
- mx_bluesky/I24/serial/parameters/fixed_target/litemaps/currentchip.map +0 -81
- mx_bluesky/I24/serial/parameters/fixed_target/parameters.txt +0 -13
- mx_bluesky/I24/serial/run_serial.py +0 -52
- mx_bluesky/I24/serial/write_nexus.py +0 -113
- mx_bluesky-0.0.1.dist-info/RECORD +0 -58
- mx_bluesky-0.0.1.dist-info/entry_points.txt +0 -4
- /mx_bluesky/{I24 → i24}/__init__.py +0 -0
- /mx_bluesky/{I24/serial → i24/serial/extruder}/__init__.py +0 -0
- /mx_bluesky/{I24/serial/extruder → i24/serial/fixed_target}/__init__.py +0 -0
- /mx_bluesky/{I24 → i24}/serial/parameters/fixed_target/pvar_files/oxford.pvar +0 -0
- /mx_bluesky/{I24 → i24}/serial/run_ssx.sh +0 -0
- /mx_bluesky/{I24 → i24}/serial/setup_beamline/__init__.py +0 -0
- /mx_bluesky/{I24 → i24}/serial/setup_beamline/ca.py +0 -0
- {mx_bluesky-0.0.1.dist-info → mx_bluesky-0.3.1.dist-info}/LICENSE +0 -0
- {mx_bluesky-0.0.1.dist-info → mx_bluesky-0.3.1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from abc import abstractmethod
|
|
4
|
+
from collections.abc import Sequence
|
|
5
|
+
from enum import Enum
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
from typing import SupportsInt, TypeVar
|
|
8
|
+
|
|
9
|
+
from dodal.devices.aperturescatterguard import AperturePositionGDANames
|
|
10
|
+
from dodal.devices.detector import (
|
|
11
|
+
DetectorParams,
|
|
12
|
+
TriggerMode,
|
|
13
|
+
)
|
|
14
|
+
from pydantic import BaseModel, Field, root_validator
|
|
15
|
+
from scanspec.core import AxesPoints
|
|
16
|
+
from semver import Version
|
|
17
|
+
|
|
18
|
+
T = TypeVar("T")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class ParameterVersion(Version):
|
|
22
|
+
@classmethod
|
|
23
|
+
def _parse(cls, version):
|
|
24
|
+
if isinstance(version, cls):
|
|
25
|
+
return version
|
|
26
|
+
return cls.parse(version)
|
|
27
|
+
|
|
28
|
+
@classmethod
|
|
29
|
+
def __get_validators__(cls):
|
|
30
|
+
"""Return a list of validator methods for pydantic models."""
|
|
31
|
+
yield cls._parse
|
|
32
|
+
|
|
33
|
+
@classmethod
|
|
34
|
+
def __modify_schema__(cls, field_schema):
|
|
35
|
+
"""Inject/mutate the pydantic field schema in-place."""
|
|
36
|
+
field_schema.update(examples=["1.0.2", "2.15.3-alpha", "21.3.15-beta+12345"])
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class RotationAxis(str, Enum):
|
|
40
|
+
OMEGA = "omega"
|
|
41
|
+
PHI = "phi"
|
|
42
|
+
CHI = "chi"
|
|
43
|
+
KAPPA = "kappa"
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class XyzAxis(str, Enum):
|
|
47
|
+
X = "sam_x"
|
|
48
|
+
Y = "sam_y"
|
|
49
|
+
Z = "sam_z"
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class IspybExperimentType(str, Enum):
|
|
53
|
+
# Enum values from ispyb column data type
|
|
54
|
+
SAD = "SAD" # at or slightly above the peak
|
|
55
|
+
SAD_INVERSE_BEAM = "SAD - Inverse Beam"
|
|
56
|
+
OSC = "OSC" # "native" (in the absence of a heavy atom)
|
|
57
|
+
COLLECT_MULTIWEDGE = (
|
|
58
|
+
"Collect - Multiwedge" # "poorly determined" ~ EDNA complex strategy???
|
|
59
|
+
)
|
|
60
|
+
MAD = "MAD"
|
|
61
|
+
HELICAL = "Helical"
|
|
62
|
+
MULTI_POSITIONAL = "Multi-positional"
|
|
63
|
+
MESH = "Mesh"
|
|
64
|
+
BURN = "Burn"
|
|
65
|
+
MAD_INVERSE_BEAM = "MAD - Inverse Beam"
|
|
66
|
+
CHARACTERIZATION = "Characterization"
|
|
67
|
+
DEHYDRATION = "Dehydration"
|
|
68
|
+
TOMO = "tomo"
|
|
69
|
+
EXPERIMENT = "experiment"
|
|
70
|
+
EM = "EM"
|
|
71
|
+
PDF = "PDF"
|
|
72
|
+
PDF_BRAGG = "PDF+Bragg"
|
|
73
|
+
BRAGG = "Bragg"
|
|
74
|
+
SINGLE_PARTICLE = "single particle"
|
|
75
|
+
SERIAL_FIXED = "Serial Fixed"
|
|
76
|
+
SERIAL_JET = "Serial Jet"
|
|
77
|
+
STANDARD = "Standard" # Routine structure determination experiment
|
|
78
|
+
TIME_RESOLVED = "Time Resolved" # Investigate the change of a system over time
|
|
79
|
+
DLS_ANVIL_HP = "Diamond Anvil High Pressure" # HP sample environment pressure cell
|
|
80
|
+
CUSTOM = "Custom" # Special or non-standard data collection
|
|
81
|
+
XRF_MAP = "XRF map"
|
|
82
|
+
ENERGY_SCAN = "Energy scan"
|
|
83
|
+
XRF_SPECTRUM = "XRF spectrum"
|
|
84
|
+
XRF_MAP_XAS = "XRF map xas"
|
|
85
|
+
MESH_3D = "Mesh3D"
|
|
86
|
+
SCREENING = "Screening"
|
|
87
|
+
STILL = "Still"
|
|
88
|
+
SSX_CHIP = "SSX-Chip"
|
|
89
|
+
SSX_JET = "SSX-Jet"
|
|
90
|
+
|
|
91
|
+
# Aliases for historic hyperion experiment type mapping
|
|
92
|
+
ROTATION = "SAD"
|
|
93
|
+
GRIDSCAN_2D = "mesh"
|
|
94
|
+
GRIDSCAN_3D = "Mesh3D"
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class WithSnapshot(BaseModel):
|
|
98
|
+
snapshot_directory: Path
|
|
99
|
+
snapshot_omegas_deg: list[float] | None
|
|
100
|
+
|
|
101
|
+
@property
|
|
102
|
+
def take_snapshots(self) -> bool:
|
|
103
|
+
return bool(self.snapshot_omegas_deg)
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
class DiffractionExperiment(WithSnapshot):
|
|
107
|
+
"""For all experiments which use beam"""
|
|
108
|
+
|
|
109
|
+
visit: str = Field(min_length=5, regex=r"[\w]{2}[\d]+-[\d]+")
|
|
110
|
+
file_name: str
|
|
111
|
+
exposure_time_s: float = Field(gt=0)
|
|
112
|
+
comment: str = Field(default="")
|
|
113
|
+
beamline: str = Field(regex=r"BL\d{2}[BIJS]")
|
|
114
|
+
insertion_prefix: str = Field(regex=r"SR\d{2}[BIJS]")
|
|
115
|
+
det_dist_to_beam_converter_path: str
|
|
116
|
+
zocalo_environment: str
|
|
117
|
+
trigger_mode: TriggerMode = Field(default=TriggerMode.FREE_RUN)
|
|
118
|
+
detector_distance_mm: float | None = Field(default=None, gt=0)
|
|
119
|
+
demand_energy_ev: float | None = Field(default=None, gt=0)
|
|
120
|
+
run_number: int | None = Field(default=None, ge=0)
|
|
121
|
+
selected_aperture: AperturePositionGDANames | None = Field(default=None)
|
|
122
|
+
transmission_frac: float = Field(default=0.1)
|
|
123
|
+
ispyb_experiment_type: IspybExperimentType
|
|
124
|
+
storage_directory: str
|
|
125
|
+
|
|
126
|
+
@root_validator(pre=True)
|
|
127
|
+
def validate_snapshot_directory(cls, values):
|
|
128
|
+
snapshot_dir = values.get(
|
|
129
|
+
"snapshot_directory", Path(values["storage_directory"], "snapshots")
|
|
130
|
+
)
|
|
131
|
+
values["snapshot_directory"] = (
|
|
132
|
+
snapshot_dir if isinstance(snapshot_dir, Path) else Path(snapshot_dir)
|
|
133
|
+
)
|
|
134
|
+
return values
|
|
135
|
+
|
|
136
|
+
@property
|
|
137
|
+
def num_images(self) -> int:
|
|
138
|
+
return 0
|
|
139
|
+
|
|
140
|
+
@property
|
|
141
|
+
@abstractmethod
|
|
142
|
+
def detector_params(self) -> DetectorParams: ...
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
class WithScan(BaseModel):
|
|
146
|
+
"""For experiments where the scan is known"""
|
|
147
|
+
|
|
148
|
+
@property
|
|
149
|
+
@abstractmethod
|
|
150
|
+
def scan_points(self) -> AxesPoints: ...
|
|
151
|
+
|
|
152
|
+
@property
|
|
153
|
+
@abstractmethod
|
|
154
|
+
def num_images(self) -> int: ...
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
class SplitScan(BaseModel):
|
|
158
|
+
@property
|
|
159
|
+
@abstractmethod
|
|
160
|
+
def scan_indices(self) -> Sequence[SupportsInt]:
|
|
161
|
+
"""Should return the first index of each scan (i.e. for each nexus file)"""
|
|
162
|
+
...
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
class WithSample(BaseModel):
|
|
166
|
+
sample_id: int
|
|
167
|
+
sample_puck: int | None = None
|
|
168
|
+
sample_pin: int | None = None
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
class WithOavCentring(BaseModel):
|
|
172
|
+
oav_centring_file: str
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
class OptionalXyzStarts(BaseModel):
|
|
176
|
+
x_start_um: float | None = None
|
|
177
|
+
y_start_um: float | None = None
|
|
178
|
+
z_start_um: float | None = None
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
class XyzStarts(BaseModel):
|
|
182
|
+
x_start_um: float
|
|
183
|
+
y_start_um: float
|
|
184
|
+
z_start_um: float
|
|
185
|
+
|
|
186
|
+
def _start_for_axis(self, axis: XyzAxis) -> float:
|
|
187
|
+
match axis:
|
|
188
|
+
case XyzAxis.X:
|
|
189
|
+
return self.x_start_um
|
|
190
|
+
case XyzAxis.Y:
|
|
191
|
+
return self.y_start_um
|
|
192
|
+
case XyzAxis.Z:
|
|
193
|
+
return self.z_start_um
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
class OptionalGonioAngleStarts(BaseModel):
|
|
197
|
+
omega_start_deg: float | None = None
|
|
198
|
+
phi_start_deg: float | None = None
|
|
199
|
+
chi_start_deg: float | None = None
|
|
200
|
+
kappa_start_deg: float | None = None
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mx-bluesky
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary: Bluesky tools for MX Beamlines
|
|
3
|
+
Version: 0.3.1
|
|
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
|
|
7
7
|
Version 2.0, January 2004
|
|
@@ -205,30 +205,42 @@ License: Apache License
|
|
|
205
205
|
See the License for the specific language governing permissions and
|
|
206
206
|
limitations under the License.
|
|
207
207
|
|
|
208
|
-
Project-URL: GitHub, https://github.com/DiamondLightSource/
|
|
208
|
+
Project-URL: GitHub, https://github.com/DiamondLightSource/mx-bluesky
|
|
209
209
|
Classifier: Development Status :: 3 - Alpha
|
|
210
210
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
211
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
212
211
|
Classifier: Programming Language :: Python :: 3.10
|
|
213
212
|
Classifier: Programming Language :: Python :: 3.11
|
|
214
|
-
|
|
213
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
214
|
+
Requires-Python: >=3.10
|
|
215
215
|
Description-Content-Type: text/x-rst
|
|
216
216
|
License-File: LICENSE
|
|
217
217
|
Requires-Dist: bluesky
|
|
218
218
|
Requires-Dist: ophyd
|
|
219
219
|
Requires-Dist: pyepics
|
|
220
|
+
Requires-Dist: caproto
|
|
220
221
|
Requires-Dist: jupyterlab
|
|
221
222
|
Requires-Dist: matplotlib
|
|
222
223
|
Requires-Dist: requests
|
|
223
224
|
Requires-Dist: opencv-python
|
|
224
|
-
Requires-Dist:
|
|
225
|
+
Requires-Dist: pydantic
|
|
226
|
+
Requires-Dist: semver
|
|
227
|
+
Requires-Dist: fastapi[all]
|
|
228
|
+
Requires-Dist: dls-dodal ==1.30.0
|
|
229
|
+
Requires-Dist: blueapi ==0.4.4
|
|
225
230
|
Provides-Extra: dev
|
|
226
231
|
Requires-Dist: black ; extra == 'dev'
|
|
232
|
+
Requires-Dist: copier ; extra == 'dev'
|
|
233
|
+
Requires-Dist: GitPython ; extra == 'dev'
|
|
227
234
|
Requires-Dist: mypy ; extra == 'dev'
|
|
235
|
+
Requires-Dist: myst-parser ; extra == 'dev'
|
|
228
236
|
Requires-Dist: pipdeptree ; extra == 'dev'
|
|
229
237
|
Requires-Dist: pre-commit ; extra == 'dev'
|
|
230
238
|
Requires-Dist: pydata-sphinx-theme >=0.12 ; extra == 'dev'
|
|
239
|
+
Requires-Dist: pyright ; extra == 'dev'
|
|
240
|
+
Requires-Dist: pytest-asyncio ; extra == 'dev'
|
|
231
241
|
Requires-Dist: pytest-cov ; extra == 'dev'
|
|
242
|
+
Requires-Dist: pytest-random-order ; extra == 'dev'
|
|
243
|
+
Requires-Dist: pytest ; extra == 'dev'
|
|
232
244
|
Requires-Dist: ruff ; extra == 'dev'
|
|
233
245
|
Requires-Dist: sphinx-autobuild ; extra == 'dev'
|
|
234
246
|
Requires-Dist: sphinx-copybutton ; extra == 'dev'
|
|
@@ -237,45 +249,44 @@ Requires-Dist: tox-direct ; extra == 'dev'
|
|
|
237
249
|
Requires-Dist: types-mock ; extra == 'dev'
|
|
238
250
|
Requires-Dist: types-requests ; extra == 'dev'
|
|
239
251
|
|
|
240
|
-
|
|
252
|
+
mx-bluesky
|
|
241
253
|
===========================
|
|
242
254
|
|
|
243
|
-
|
|
|
255
|
+
|ci| |coverage| |pypi_version| |license|
|
|
244
256
|
|
|
245
257
|
Contains code for working with Bluesky on MX beamlines at Diamond
|
|
246
258
|
|
|
247
259
|
============== ==============================================================
|
|
248
|
-
PyPI ``pip install
|
|
249
|
-
Source code https://github.com/DiamondLightSource/
|
|
250
|
-
Documentation https://DiamondLightSource.github.io/
|
|
251
|
-
Releases https://github.com/DiamondLightSource/
|
|
260
|
+
PyPI ``pip install mx-bluesky``
|
|
261
|
+
Source code https://github.com/DiamondLightSource/mx-bluesky
|
|
262
|
+
Documentation https://DiamondLightSource.github.io/mx-bluesky
|
|
263
|
+
Releases https://github.com/DiamondLightSource/mx-bluesky/releases
|
|
252
264
|
============== ==============================================================
|
|
253
265
|
|
|
254
266
|
Getting Started
|
|
255
267
|
===============
|
|
256
268
|
|
|
257
|
-
To get started with developing this repo at DLS run
|
|
269
|
+
To get started with developing this repo at DLS run ``dls_dev_setup.sh``.
|
|
258
270
|
|
|
259
|
-
|
|
271
|
+
If you want to develop interactively at the beamline we recommend using jupyter notebooks. You can get started with this by running::
|
|
260
272
|
|
|
273
|
+
$ ./start_jupyter.sh
|
|
274
|
+
|
|
275
|
+
If you're doing more in-depth development we recommend developing with VSCode. You can do this at DLS by running::
|
|
261
276
|
|
|
262
277
|
$ module load vscode
|
|
263
|
-
$ code .
|
|
278
|
+
$ code .vscode/mx-bluesky.code-workspace
|
|
264
279
|
|
|
265
|
-
.. |
|
|
266
|
-
:target: https://github.com/DiamondLightSource/
|
|
280
|
+
.. |ci| image:: https://github.com/DiamondLightSource/mx-bluesky/actions/workflows/ci.yml/badge.svg?branch=main
|
|
281
|
+
:target: https://github.com/DiamondLightSource/mx-bluesky/actions/workflows/ci.yml
|
|
267
282
|
:alt: Code CI
|
|
268
283
|
|
|
269
|
-
.. |
|
|
270
|
-
:target: https://
|
|
271
|
-
:alt: Docs CI
|
|
272
|
-
|
|
273
|
-
.. |coverage| image:: https://codecov.io/gh/DiamondLightSource/mx_bluesky/branch/main/graph/badge.svg
|
|
274
|
-
:target: https://codecov.io/gh/DiamondLightSource/mx_bluesky
|
|
284
|
+
.. |coverage| image:: https://codecov.io/gh/DiamondLightSource/mx-bluesky/branch/main/graph/badge.svg
|
|
285
|
+
:target: https://codecov.io/gh/DiamondLightSource/mx-bluesky
|
|
275
286
|
:alt: Test Coverage
|
|
276
287
|
|
|
277
|
-
.. |pypi_version| image:: https://img.shields.io/pypi/v/
|
|
278
|
-
:target: https://pypi.org/project/
|
|
288
|
+
.. |pypi_version| image:: https://img.shields.io/pypi/v/mx-bluesky.svg
|
|
289
|
+
:target: https://pypi.org/project/mx-bluesky
|
|
279
290
|
:alt: Latest PyPI version
|
|
280
291
|
|
|
281
292
|
.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
|
|
@@ -286,4 +297,4 @@ We recommend developing with VSCode. You can do this at DLS by running::
|
|
|
286
297
|
Anything below this line is used when viewing README.rst and will be replaced
|
|
287
298
|
when included in index.rst
|
|
288
299
|
|
|
289
|
-
See https://DiamondLightSource.github.io/
|
|
300
|
+
See https://DiamondLightSource.github.io/mx-bluesky for more detailed documentation.
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
mx_bluesky/__init__.py,sha256=twUymKa_5teVCbYPgxRDu87WyQhJa8nMRb8HLTCFJZ8,115
|
|
2
|
+
mx_bluesky/__main__.py,sha256=bmFrxcsN8zGadkDLRnE3qV3-iXJcEWVPp5GNx2rsTJ0,383
|
|
3
|
+
mx_bluesky/_version.py,sha256=HzPz9rq3s1AiZXregKlqKaJJ2wGMtvH_a3V9la9CnpM,411
|
|
4
|
+
mx_bluesky/example.py,sha256=_zBoGrKAI1ReOvBz51F9PDorKWQufrb0_ydmoqJ2UAA,478
|
|
5
|
+
mx_bluesky/jupyter_example.ipynb,sha256=tfgYrPU8Rfyv5miiaJUjrTn1jduXlD3e78Z9iHG9s8Y,1663
|
|
6
|
+
mx_bluesky/i04/__init__.py,sha256=gz4F6vux8PoVu4-1a2wylakjR_Heqjf1mOD4gIz4zUc,101
|
|
7
|
+
mx_bluesky/i04/thawing_plan.py,sha256=tUexudXQZ-YU0zZGexysw-ja6AQyYKwLOTBpO5IqJ0A,3408
|
|
8
|
+
mx_bluesky/i04/callbacks/murko_callback.py,sha256=tq7dWDoTonuJZCTfrq6dBs7eOgCql88lnMOwRQCCP_o,1701
|
|
9
|
+
mx_bluesky/i24/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
+
mx_bluesky/i24/serial/__init__.py,sha256=Jfc9eLVRgPIai_Sob8E4yn35-PTKYajZX7PmQUeDNwM,1096
|
|
11
|
+
mx_bluesky/i24/serial/blueapi_config.yaml,sha256=72NE3cSoZ2taNQe-cFNeimIutfnwyBmKAisiVyZntKo,235
|
|
12
|
+
mx_bluesky/i24/serial/dcid.py,sha256=CXDliRxmRWsXlbnioQrcNBDb7qBO_x-IxwT3PBEWuY8,15152
|
|
13
|
+
mx_bluesky/i24/serial/log.py,sha256=xLKyKrxC6zro9-uHBitGSsQUTkN1aZjDvNu9YdFFXNI,4661
|
|
14
|
+
mx_bluesky/i24/serial/run_extruder.sh,sha256=Rujzmh3J6VZ7ZiupK5MVWJsCp0a4Z9Oh3eR64-v1F1Y,436
|
|
15
|
+
mx_bluesky/i24/serial/run_fixed_target.sh,sha256=BMpmLWbBpWNOFC5lYhEUw06DJIoq8KeIOJQDZuT_qVo,585
|
|
16
|
+
mx_bluesky/i24/serial/run_serial.py,sha256=UvebrQwEY5axl7RMOXh49udvrD-JwC_LLtHWERmPC_0,940
|
|
17
|
+
mx_bluesky/i24/serial/run_ssx.sh,sha256=0Ir5iQQ-xSN_5teHtxzht6G-mJ08mE1gxBS32vkh1eM,714
|
|
18
|
+
mx_bluesky/i24/serial/set_visit_directory.sh,sha256=WuN5PUBxTofzuESk1-3gWtTcbPjOx-26JaQSVCsZhZs,1660
|
|
19
|
+
mx_bluesky/i24/serial/start_blueapi.sh,sha256=4iBzQljTLXQiVIF4UO7drc9qUkP7KSRC6Mjh8hcGxpI,608
|
|
20
|
+
mx_bluesky/i24/serial/write_nexus.py,sha256=m94N1NdGNuj9U9a4UpGjNpIRMwn0mixG9Wl_7uZagwU,4007
|
|
21
|
+
mx_bluesky/i24/serial/extruder/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
22
|
+
mx_bluesky/i24/serial/extruder/i24ssx_Extruder_Collect_py3v2.py,sha256=XS2xfiyAGGQcep6mS55c7fCDfguzd2FUjo5BM2UtCO4,17797
|
|
23
|
+
mx_bluesky/i24/serial/extruder/EX-gui-edm/DetStage.edl,sha256=WX55FC_xraum6refr0nKpzTvlNdslEcCB33pwVCqAcc,1974
|
|
24
|
+
mx_bluesky/i24/serial/extruder/EX-gui-edm/DiamondExtruder-I24-py3v1.edl,sha256=z27XUU7lConpsunfWjhCd3pNBNkjNYFtLS_9N8MW7AY,30896
|
|
25
|
+
mx_bluesky/i24/serial/extruder/EX-gui-edm/microdrop_alignment.edl,sha256=K79vmGAcf9qVEQLXTgr0g4bZDWaJ7nFoK4e0Ex7qAwM,14690
|
|
26
|
+
mx_bluesky/i24/serial/fixed_target/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
+
mx_bluesky/i24/serial/fixed_target/ft_utils.py,sha256=cLZBEN-PK_7V6T5mjaHv53xa3rvKBStD4g-GUqCjkOM,1223
|
|
28
|
+
mx_bluesky/i24/serial/fixed_target/i24ssx_Chip_Collect_py3v1.py,sha256=prh5ICQxani7L0XfZdM1rbOumv84RiQpXQEluHxBXWk,28070
|
|
29
|
+
mx_bluesky/i24/serial/fixed_target/i24ssx_Chip_Manager_py3v1.py,sha256=irvWkruV4hOn_IJzibpxKrNAwkj7uwIVs4tq6l-ikWM,35424
|
|
30
|
+
mx_bluesky/i24/serial/fixed_target/i24ssx_Chip_Mapping_py3v1.py,sha256=Xnw0mVr6vziceHNLYFHoTtyNA9HazB1n94y1z6jJHBU,5202
|
|
31
|
+
mx_bluesky/i24/serial/fixed_target/i24ssx_Chip_StartUp_py3v1.py,sha256=RDFRifmUcNbkwICCnAVy9QNT9iUFFjzNvHu-XHDkn-8,10790
|
|
32
|
+
mx_bluesky/i24/serial/fixed_target/i24ssx_moveonclick.py,sha256=VCHHUSOUvY_8IzbUVwraobPDa_ig4pVBvKXZexLVISI,5778
|
|
33
|
+
mx_bluesky/i24/serial/fixed_target/FT-gui-edm/CustomChip_py3v1.edl,sha256=_Oyged8nr4sRNsRhNbvuId0nTshzY1BoCOIbmk2LAUU,10325
|
|
34
|
+
mx_bluesky/i24/serial/fixed_target/FT-gui-edm/DetStage.edl,sha256=gqCNAANug952ZM7_7Hmcta-nRmY8oMgQWuFG2xfDFMg,1977
|
|
35
|
+
mx_bluesky/i24/serial/fixed_target/FT-gui-edm/DiamondChipI24-py3v1.edl,sha256=eqOV27njC5woic1UxAXUnqXNwyo5ps6ZieSL_2ltWuw,55404
|
|
36
|
+
mx_bluesky/i24/serial/fixed_target/FT-gui-edm/ME14E-GeneralPurpose.edl,sha256=cpKpXfU668mGjIz35jUMTF8KAi0RI7WlVO2AR-EnJ8U,60868
|
|
37
|
+
mx_bluesky/i24/serial/fixed_target/FT-gui-edm/MappingLite-oxford_py3v1.edl,sha256=-zIGNE1V-O3uzGgBAdvP4comQdbkqfOunwBdEFiaciQ,38846
|
|
38
|
+
mx_bluesky/i24/serial/fixed_target/FT-gui-edm/PMAC_Command.edl,sha256=2KUy2iEcX9AC07zSH3Sp97b5qauGIm8_HjvoQ4pkyCU,1417
|
|
39
|
+
mx_bluesky/i24/serial/fixed_target/FT-gui-edm/Shutter_Control.edl,sha256=o2PDoIFzeErIUijDbGdfWdrh3wd5GFAqEsDD2at2a4k,1601
|
|
40
|
+
mx_bluesky/i24/serial/fixed_target/FT-gui-edm/microdrop_alignment.edl,sha256=8TWQTIBnX3OLa1kjsibsCnG5wCVotPYIOHwFam7rJe4,14679
|
|
41
|
+
mx_bluesky/i24/serial/fixed_target/FT-gui-edm/nudgechip.edl,sha256=IgLLF7gcNoG8Z4t9FTA7_4ggUccNm6-ekK5bb0V4ekY,15711
|
|
42
|
+
mx_bluesky/i24/serial/fixed_target/FT-gui-edm/pumpprobe-py3v1.edl,sha256=-E5-njqa9UnyeeqbAYPsXnVdRM_HBCly825aZNT9gsg,22558
|
|
43
|
+
mx_bluesky/i24/serial/fixed_target/FT-gui-edm/short1-laser.png,sha256=wDNuKCa_8hUPy4W01vdIrfdZtCyQKT8qVS5AS6kOTmo,9740
|
|
44
|
+
mx_bluesky/i24/serial/fixed_target/FT-gui-edm/short2-laser.png,sha256=MrdiCFX7j-ODkfSdzc4NQ_8hj2Gs8i9gQqWyNXvdM5s,10189
|
|
45
|
+
mx_bluesky/i24/serial/parameters/__init__.py,sha256=AoL4WdUHmarre1J0inFH_M59RymX7uPn-G7HX8w3Gr4,404
|
|
46
|
+
mx_bluesky/i24/serial/parameters/constants.py,sha256=3_k3JA7KXr1uKTzpELRJMq3OQvC1d9QCQWIcJtBeTEw,1484
|
|
47
|
+
mx_bluesky/i24/serial/parameters/experiment_parameters.py,sha256=FfxJmczWKLcxRRCflY9473ieBte6JeFBN-cxj1B8d_8,3411
|
|
48
|
+
mx_bluesky/i24/serial/parameters/utils.py,sha256=y1BLxjWPOQg6wM-tCtdHMSQUC87cgl01sk6VpHWjIAk,2079
|
|
49
|
+
mx_bluesky/i24/serial/parameters/fixed_target/cs/cs_maker.json,sha256=n8FxMtq3iFsbG3IIrFmgQWDdnG_BsFXZ_P40Z7wIuE4,142
|
|
50
|
+
mx_bluesky/i24/serial/parameters/fixed_target/cs/motor_direction.txt,sha256=oIPpcQpqCrKz5dPZ-qQ5gQ2Sdqtj6nsnf66pN8PGU50,199
|
|
51
|
+
mx_bluesky/i24/serial/parameters/fixed_target/pvar_files/minichip-oxford.pvar,sha256=SN4deU199dMcA1Bcx1BF6CBMvoSszxJWZC6vt7_5fHc,284
|
|
52
|
+
mx_bluesky/i24/serial/parameters/fixed_target/pvar_files/oxford.pvar,sha256=pZbFOEiN_S5yiTEtqdNHmTMtnQY-W2ImXVBYCovPCx0,1842
|
|
53
|
+
mx_bluesky/i24/serial/setup_beamline/__init__.py,sha256=UhBdMcPdJMzwV0d8DKOBzvYNd6TDSwcP9GJVqfGa7Jc,261
|
|
54
|
+
mx_bluesky/i24/serial/setup_beamline/ca.py,sha256=HdU4OUAT2du7cPfIssMjUNvIe9jQQChvCwnkiTw1_aA,1590
|
|
55
|
+
mx_bluesky/i24/serial/setup_beamline/pv.py,sha256=Wen5tTUBggb5Gf4f2yar5Rkn0GbkLRpKu6rbbFb6qPM,15566
|
|
56
|
+
mx_bluesky/i24/serial/setup_beamline/pv_abstract.py,sha256=KVj1_HiTb51RmG0wxp-kxIDuwyQYo0wMCARXnkX-dtc,1796
|
|
57
|
+
mx_bluesky/i24/serial/setup_beamline/setup_beamline.py,sha256=F0HHyj5WwdZzdHynnBpZ5t75UMTACxIFb0etwk1hTz0,18332
|
|
58
|
+
mx_bluesky/i24/serial/setup_beamline/setup_detector.py,sha256=iNnAjtD18Jd_mxGHeYkdhmi4ZozZkhPwa3V1FIlB1r0,3315
|
|
59
|
+
mx_bluesky/i24/serial/setup_beamline/setup_zebra_plans.py,sha256=dzkml6AbJovQr4znygV4yg2wrUffNQcRpgAQqGx0siY,17019
|
|
60
|
+
mx_bluesky/parameters/__init__.py,sha256=JfT3Y5XiAQAD2IHedVxb5KVZzC9B47HVe6GPuiCCS1U,583
|
|
61
|
+
mx_bluesky/parameters/components.py,sha256=3D2ww7xV3AY47lASqqOq8JXuiFafb4ZBbHuauAGa_-k,5659
|
|
62
|
+
mx_bluesky-0.3.1.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
|
63
|
+
mx_bluesky-0.3.1.dist-info/METADATA,sha256=BA3YdXE-z6zmKD2FK2S1Wa0YxmEQJuzHSjHetcfLe7Q,16677
|
|
64
|
+
mx_bluesky-0.3.1.dist-info/WHEEL,sha256=nCVcAvsfA9TDtwGwhYaRrlPhTLV9m-Ga6mdyDtuwK18,91
|
|
65
|
+
mx_bluesky-0.3.1.dist-info/entry_points.txt,sha256=LHs220CM6hOrmptR6i9pLzyWZfJ0_PZ4Mvyp2VFNsgY,186
|
|
66
|
+
mx_bluesky-0.3.1.dist-info/top_level.txt,sha256=S4rrzXIUef58ulf_04wn01XGZ3xeJjXs4LPEJ_xoF-I,11
|
|
67
|
+
mx_bluesky-0.3.1.dist-info/RECORD,,
|