mx-bluesky 0.0.2__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 +273 -143
- 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 -412
- 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 +39 -41
- 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.2.dist-info → mx_bluesky-0.3.1.dist-info}/METADATA +33 -27
- mx_bluesky-0.3.1.dist-info/RECORD +67 -0
- {mx_bluesky-0.0.2.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 -706
- 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.2.dist-info/RECORD +0 -58
- mx_bluesky-0.0.2.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.2.dist-info → mx_bluesky-0.3.1.dist-info}/LICENSE +0 -0
- {mx_bluesky-0.0.2.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,31 +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
|
-
Requires-Dist: GitPython ; extra == 'dev'
|
|
227
231
|
Requires-Dist: black ; extra == 'dev'
|
|
232
|
+
Requires-Dist: copier ; extra == 'dev'
|
|
233
|
+
Requires-Dist: GitPython ; extra == 'dev'
|
|
228
234
|
Requires-Dist: mypy ; extra == 'dev'
|
|
235
|
+
Requires-Dist: myst-parser ; extra == 'dev'
|
|
229
236
|
Requires-Dist: pipdeptree ; extra == 'dev'
|
|
230
237
|
Requires-Dist: pre-commit ; extra == 'dev'
|
|
231
238
|
Requires-Dist: pydata-sphinx-theme >=0.12 ; extra == 'dev'
|
|
239
|
+
Requires-Dist: pyright ; extra == 'dev'
|
|
240
|
+
Requires-Dist: pytest-asyncio ; extra == 'dev'
|
|
232
241
|
Requires-Dist: pytest-cov ; extra == 'dev'
|
|
242
|
+
Requires-Dist: pytest-random-order ; extra == 'dev'
|
|
243
|
+
Requires-Dist: pytest ; extra == 'dev'
|
|
233
244
|
Requires-Dist: ruff ; extra == 'dev'
|
|
234
245
|
Requires-Dist: sphinx-autobuild ; extra == 'dev'
|
|
235
246
|
Requires-Dist: sphinx-copybutton ; extra == 'dev'
|
|
@@ -238,24 +249,24 @@ Requires-Dist: tox-direct ; extra == 'dev'
|
|
|
238
249
|
Requires-Dist: types-mock ; extra == 'dev'
|
|
239
250
|
Requires-Dist: types-requests ; extra == 'dev'
|
|
240
251
|
|
|
241
|
-
|
|
252
|
+
mx-bluesky
|
|
242
253
|
===========================
|
|
243
254
|
|
|
244
|
-
|
|
|
255
|
+
|ci| |coverage| |pypi_version| |license|
|
|
245
256
|
|
|
246
257
|
Contains code for working with Bluesky on MX beamlines at Diamond
|
|
247
258
|
|
|
248
259
|
============== ==============================================================
|
|
249
|
-
PyPI ``pip install
|
|
250
|
-
Source code https://github.com/DiamondLightSource/
|
|
251
|
-
Documentation https://DiamondLightSource.github.io/
|
|
252
|
-
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
|
|
253
264
|
============== ==============================================================
|
|
254
265
|
|
|
255
266
|
Getting Started
|
|
256
267
|
===============
|
|
257
268
|
|
|
258
|
-
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``.
|
|
259
270
|
|
|
260
271
|
If you want to develop interactively at the beamline we recommend using jupyter notebooks. You can get started with this by running::
|
|
261
272
|
|
|
@@ -263,24 +274,19 @@ If you want to develop interactively at the beamline we recommend using jupyter
|
|
|
263
274
|
|
|
264
275
|
If you're doing more in-depth development we recommend developing with VSCode. You can do this at DLS by running::
|
|
265
276
|
|
|
266
|
-
|
|
267
277
|
$ module load vscode
|
|
268
|
-
$ code .
|
|
278
|
+
$ code .vscode/mx-bluesky.code-workspace
|
|
269
279
|
|
|
270
|
-
.. |
|
|
271
|
-
: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
|
|
272
282
|
:alt: Code CI
|
|
273
283
|
|
|
274
|
-
.. |
|
|
275
|
-
:target: https://
|
|
276
|
-
:alt: Docs CI
|
|
277
|
-
|
|
278
|
-
.. |coverage| image:: https://codecov.io/gh/DiamondLightSource/mx_bluesky/branch/main/graph/badge.svg
|
|
279
|
-
: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
|
|
280
286
|
:alt: Test Coverage
|
|
281
287
|
|
|
282
|
-
.. |pypi_version| image:: https://img.shields.io/pypi/v/
|
|
283
|
-
: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
|
|
284
290
|
:alt: Latest PyPI version
|
|
285
291
|
|
|
286
292
|
.. |license| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg
|
|
@@ -291,4 +297,4 @@ If you're doing more in-depth development we recommend developing with VSCode. Y
|
|
|
291
297
|
Anything below this line is used when viewing README.rst and will be replaced
|
|
292
298
|
when included in index.rst
|
|
293
299
|
|
|
294
|
-
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,,
|