mxcubecore 1.382.0__py3-none-any.whl → 1.384.0__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.
@@ -1010,10 +1010,11 @@ class MiniDiff(HardwareObject):
1010
1010
  time.sleep(0.1)
1011
1011
 
1012
1012
  def take_snapshot(self, image_path_list: list) -> None:
1013
- if self.get_current_phase() != "Centring":
1014
- use_custom_snapshot_routine = self.get_property(
1015
- "custom_snapshot_script_dir", False
1016
- )
1013
+ if len(image_path_list) > 0:
1014
+ if self.get_current_phase() != "Centring":
1015
+ use_custom_snapshot_routine = self.get_property(
1016
+ "custom_snapshot_script_dir", False
1017
+ )
1017
1018
 
1018
1019
  if not use_custom_snapshot_routine:
1019
1020
  self.set_phase("Centring", wait=True, timeout=200)
@@ -1024,7 +1025,9 @@ class MiniDiff(HardwareObject):
1024
1025
  f"Taking {snapshot_index + 1} sample snapshot(s)"
1025
1026
  )
1026
1027
  HWR.beamline.sample_view.save_snapshot(path=image_path)
1027
- self.phiMotor.set_value_relative(90, timeout=5)
1028
+ # do not move 90 degrees if not needed
1029
+ if not self.in_plate_mode() and snapshot_index < len(image_path_list) - 1:
1030
+ self.phiMotor.set_value_relative(90, timeout=5)
1028
1031
 
1029
1032
  def snapshotsDone(self, snapshotsProcedure):
1030
1033
  HWR.beamline.sample_view.camera.forceUpdate = False
@@ -315,6 +315,10 @@ class AbstractMultiCollect(object):
315
315
  pass
316
316
 
317
317
  def take_snapshots(self, dc_params):
318
+ # do nothing if no snapshots asked
319
+ if not self.number_of_snapshots:
320
+ return
321
+
318
322
  snapshot_directory = dc_params["fileinfo"]["archive_directory"]
319
323
 
320
324
  if HWR.beamline.diffractometer.in_plate_mode():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: mxcubecore
3
- Version: 1.382.0
3
+ Version: 1.384.0
4
4
  Summary: Core libraries for the MXCuBE application
5
5
  License: LGPL-3.0-or-later
6
6
  Keywords: mxcube,mxcube3,mxcubecore
@@ -141,7 +141,7 @@ mxcubecore/HardwareObjects/ESRF/ESRFBeam.py,sha256=9B6VgoG5pUIExgY08sUyvL3LYniUW
141
141
  mxcubecore/HardwareObjects/ESRF/ESRFBeamDefiner.py,sha256=D_dG30DRQNInpfzLlDHPTbhvPq6fExCU4AquzHg8Dw4,3798
142
142
  mxcubecore/HardwareObjects/ESRF/ESRFBeamInfo.py,sha256=_JLCOPwhcwd-9REnrBOQlgvJgKqTseaA2aRc4cM_ai8,2298
143
143
  mxcubecore/HardwareObjects/ESRF/ESRFBeamlineActions.py,sha256=GGC1_9rEd1RQzGdOoVdIAGAjOPtwpjpoUFVcJHT9oTc,3259
144
- mxcubecore/HardwareObjects/ESRF/ESRFEnergyScan.py,sha256=FztM1wCtbcqLWaCg34z-IPq_HPd9u2KWuPxdsH7oXiQ,13427
144
+ mxcubecore/HardwareObjects/ESRF/ESRFEnergyScan.py,sha256=XEJGWwKL1ZT1n-GKVNzpboCQ_NCQJPKbG19xvk6hCRA,15513
145
145
  mxcubecore/HardwareObjects/ESRF/ESRFMD2SC3.py,sha256=jTbMmwp_HYFD8Vr6Hk-y1Hwi9UcSqsrbhGji7dfRpC4,1469
146
146
  mxcubecore/HardwareObjects/ESRF/ESRFMetadataManagerClient.py,sha256=bGFsp6EjU1Xb8iujJ90Tph95F335rnKYvimYTwcp2bE,22122
147
147
  mxcubecore/HardwareObjects/ESRF/ESRFMultiCollect.py,sha256=38eXiTn0o3u_hcG5vuZSY-jkySRZkXOAgMH5OuRqIF4,22937
@@ -150,9 +150,7 @@ mxcubecore/HardwareObjects/ESRF/ESRFSC3.py,sha256=Mw2Lj_0w7TapaCesDxhRWSAY1PRG4D
150
150
  mxcubecore/HardwareObjects/ESRF/ESRFSession.py,sha256=iIcJUM0cVlwJdqNZo-L7IY_S2KYHQXPQPupbv4JoAkk,4323
151
151
  mxcubecore/HardwareObjects/ESRF/ESRFSmallXrayCentring.py,sha256=YJFMtb3VxHchxTWi_pqrEz3ML1YunoYLkAseDZqF1JA,3617
152
152
  mxcubecore/HardwareObjects/ESRF/ESRFXRFSpectrum.py,sha256=4zN3F_VsmQWQVfNwIV9qcUlVLeB830FOl8I36y7xClc,12217
153
- mxcubecore/HardwareObjects/ESRF/ID231EnergyScan.py,sha256=f6Loqqgl5E64-xACuK-6nF2sH9ftpwa7e1It0C1e-s4,1144
154
153
  mxcubecore/HardwareObjects/ESRF/ID232BeamDefiner.py,sha256=4Piso4ftMDSBw3rZJpjoJtU-ARkxVa1Vy49BybleCyY,5030
155
- mxcubecore/HardwareObjects/ESRF/ID29EnergyScan.py,sha256=9Nscojz8KonwWZltpIcRwH06RC2AtZKZGu-oEbMqLLg,2778
156
154
  mxcubecore/HardwareObjects/ESRF/ID29HutchTrigger.py,sha256=vKLuCSuKcHQLvTysQ3r2PGlzY5FkVIDRZt5oOZd3cBE,2949
157
155
  mxcubecore/HardwareObjects/ESRF/ID30A3BeamDefiner.py,sha256=V7gn4JTYhzG0ajeJwjR68MbJuDt26mHaNROHhd1Z0QI,3996
158
156
  mxcubecore/HardwareObjects/ESRF/ID30BBeamDefiner.py,sha256=uZJ0szJFdGysZsgiaxxUYKq1nPVYwK4jZ3xMX74cwqU,5046
@@ -198,7 +196,7 @@ mxcubecore/HardwareObjects/GrobMotor.py,sha256=l5A9Us_ceLXlhEF6RNwyXQsI56fJiobWh
198
196
  mxcubecore/HardwareObjects/GrobSampleChanger.py,sha256=LMetcL45fWrwP4C8rtENrEDNydelLpJ77SD1JC5C3go,8113
199
197
  mxcubecore/HardwareObjects/Harvester.py,sha256=0TYUXmz-Pmfd7Dhz7ToUGHzJRuJmnga8-4BK4B0KGQA,26524
200
198
  mxcubecore/HardwareObjects/HarvesterMaintenance.py,sha256=8s4yHDEFG-C1WYyW_RlwrFPSpc8o5hGi14aQuFQFrHs,9405
201
- mxcubecore/HardwareObjects/ICATLIMS.py,sha256=IUaH_ddqxELDGRsWmw9o2y4vEvhqRBMamvTxDbbs6l8,51290
199
+ mxcubecore/HardwareObjects/ICATLIMS.py,sha256=irvsn5xLy0CZpheFG_UGUzFO1nIKn5Mz3GVGZt9c2ic,53129
202
200
  mxcubecore/HardwareObjects/ISARAMaint.py,sha256=I8LHXK6wCfzixsxWmmcqWlrdaL3AOX91XmVeAwT7GPk,8959
203
201
  mxcubecore/HardwareObjects/LNLS/EPICSActuator.py,sha256=3dDj6aXyTz03m8osdA6udq_a4bch-KNcUMrXSNvbG5Q,2587
204
202
  mxcubecore/HardwareObjects/LNLS/EPICSMotor.py,sha256=lRTc1t32rJKNTIcnKCECrqo2m9BhlYvLq9NWg4Y0w0Q,3576
@@ -247,7 +245,7 @@ mxcubecore/HardwareObjects/MicrodiffLightBeamstop.py,sha256=yg70YumCOhdlGhT7Jzgm
247
245
  mxcubecore/HardwareObjects/MicrodiffMotor.py,sha256=RTY3D2b2hkRuVzfkrzUq-v1fMBuVKwBIjWSIN2znwHM,9409
248
246
  mxcubecore/HardwareObjects/MicrodiffSamplePseudo.py,sha256=pWwpNRjnrqLyE0-2JQrJRHc7MqLSbvZuK9f14deTzKo,3675
249
247
  mxcubecore/HardwareObjects/MicrodiffZoom.py,sha256=_TaJy-w1zKZg2rlTyVOnMwWcDbYfymovqRwJSewA5Ss,3826
250
- mxcubecore/HardwareObjects/MiniDiff.py,sha256=3T-9CeixU0FEmIAykW-21G1k23NWVAAtuaS7qHjaMAo,38577
248
+ mxcubecore/HardwareObjects/MiniDiff.py,sha256=xndF_HdSJ5M-tfDWmkso19ff2ekOsf0XDW3o1kxgDh4,38772
251
249
  mxcubecore/HardwareObjects/MiniKappaCorrection.py,sha256=qo2bI76hRySjvdOEwidwE09DD748oiqxX7tfsRRecm0,3426
252
250
  mxcubecore/HardwareObjects/MinidiffAperture.py,sha256=wIgXXzbMCncF2y3pe0Ygy3K4el5XrsdHCdvE1Dh2yuA,1422
253
251
  mxcubecore/HardwareObjects/MotorWPositions.py,sha256=QDX8yF8KTTh75e4H-k0f1AaavGiXF-qce86IgVFLeiU,5633
@@ -356,7 +354,7 @@ mxcubecore/HardwareObjects/abstract/AbstractLims.py,sha256=8EwvJ8xOlmsKgYiSZXuc0
356
354
  mxcubecore/HardwareObjects/abstract/AbstractMCA.py,sha256=vqu3RqZ1YYtjYZCyV7iD3Sc5f_Vjbc18qfcNTdoQ3dQ,4443
357
355
  mxcubecore/HardwareObjects/abstract/AbstractMachineInfo.py,sha256=vZ1qKSNFrrBP-7xnzu92zThMH-U_Fz5Av-3ml1NWhM8,3959
358
356
  mxcubecore/HardwareObjects/abstract/AbstractMotor.py,sha256=EuQwFocgcE2cNjHkwgEQqzz5jSh5vVaJvf3_m7QhArU,3411
359
- mxcubecore/HardwareObjects/abstract/AbstractMultiCollect.py,sha256=-Tgb7l_Ovv4IQIFqEis-HnUAZh3-gze16IbdVdKkHBc,51580
357
+ mxcubecore/HardwareObjects/abstract/AbstractMultiCollect.py,sha256=gn3cZ-lBrS77IQWO5ueF8n-cHgQrFNeJ60Eceij4Jqo,51684
360
358
  mxcubecore/HardwareObjects/abstract/AbstractNState.py,sha256=JZvD_ZpQu5U8ycaWFiijSfkfo8HfBN84hSDfpq0hyOE,4016
361
359
  mxcubecore/HardwareObjects/abstract/AbstractOnlineProcessing.py,sha256=vs_fJsDDLwivu1kYHA7RKJXj1aTH5V6G2tEy7MYGw4c,34104
362
360
  mxcubecore/HardwareObjects/abstract/AbstractProcedure.py,sha256=kW2SzN5kYYCeOS2IzpzQ9VAjYAoRU7ZtyDxqrOb8Pbg,7849
@@ -469,8 +467,8 @@ mxcubecore/utils/conversion.py,sha256=G1bk2Mi2ZwGbZa5pEeiFaKWxhSVXVGqu1L9_SioyUO
469
467
  mxcubecore/utils/qt_import.py,sha256=0lPmqok_oYQZ059kJCq7RWdg490T8YKyRvoZGyWDy4M,14486
470
468
  mxcubecore/utils/tango.py,sha256=vwEVrIrWKEFaeaJUz3xbaC7XWHY8ZeJ-pfcSrTfZPIE,2114
471
469
  mxcubecore/utils/units.py,sha256=Gh7ovTUN00XBMUoyDG5W7akCx1pROL-M6pK2z1ouemg,1361
472
- mxcubecore-1.382.0.dist-info/COPYING,sha256=u-Mc8zCecwyo4YoP8UulmzCiZZ_MmCLROd_NBtOcRj0,35148
473
- mxcubecore-1.382.0.dist-info/COPYING.LESSER,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
474
- mxcubecore-1.382.0.dist-info/METADATA,sha256=HQsiDOzX4yiMPim6wg9J1lqYM3u0qCnnQtKXP6HIqS8,4259
475
- mxcubecore-1.382.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
476
- mxcubecore-1.382.0.dist-info/RECORD,,
470
+ mxcubecore-1.384.0.dist-info/COPYING,sha256=u-Mc8zCecwyo4YoP8UulmzCiZZ_MmCLROd_NBtOcRj0,35148
471
+ mxcubecore-1.384.0.dist-info/COPYING.LESSER,sha256=46mU2C5kSwOnkqkw9XQAJlhBL2JAf1_uCD8lVcXyMRg,7652
472
+ mxcubecore-1.384.0.dist-info/METADATA,sha256=66iGNybEYtqpHBGq_qJ5xpvzlYErk-ys5D7XCMh86OY,4259
473
+ mxcubecore-1.384.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
474
+ mxcubecore-1.384.0.dist-info/RECORD,,
@@ -1,40 +0,0 @@
1
- from mxcubecore.TaskUtils import task
2
-
3
- from .ESRFEnergyScan import (
4
- ESRFEnergyScan,
5
- TunableEnergy,
6
- )
7
-
8
-
9
- class ID231EnergyScan(ESRFEnergyScan):
10
- def __init__(self, name):
11
- ESRFEnergyScan.__init__(self, name, TunableEnergy())
12
-
13
- @task
14
- def energy_scan_hook(self, energy_scan_parameters):
15
- self.energy = energy_scan_parameters["edgeEnergy"]
16
- if self.energy_scan_parameters["findattEnergy"]:
17
- ESRFEnergyScan.move_energy(self, energy_scan_parameters["findattEnergy"])
18
-
19
- def calculate_und_gaps(self, energy, undulator="u21d"):
20
- GAPS = {}
21
- return GAPS
22
-
23
- @task
24
- def move_undulators(self, gaps):
25
- pass
26
-
27
- @task
28
- def set_mca_roi(self, eroi_min, eroi_max):
29
- self.execute_command("calculateMcaRoi", eroi_min, eroi_max)
30
-
31
- @task
32
- def choose_attenuation(self):
33
- self.execute_command("chooseAttenuation")
34
- self.energy_scan_parameters["transmissionFactor"] = (
35
- self.transmission.get_value()
36
- )
37
-
38
- @task
39
- def execute_energy_scan(self, energy_scan_parameters):
40
- self.execute_command("executeScan", energy_scan_parameters)
@@ -1,77 +0,0 @@
1
- from datetime import datetime
2
-
3
- from mxcubecore import HardwareRepository as HWR
4
-
5
- from .ESRFEnergyScan import ESRFEnergyScan
6
-
7
-
8
- class ID29EnergyScan(ESRFEnergyScan):
9
- def energy_scan_hook(self, energy_scan_parameters):
10
- self.energy = energy_scan_parameters["edgeEnergy"]
11
- if self.energy_scan_parameters["findattEnergy"]:
12
- HWR.beamline.energy.set_value(energy_scan_parameters["findattEnergy"])
13
-
14
- def set_mca_roi(self, eroi_min, eroi_max):
15
- """
16
- self.mca = self.get_object_by_role("MCA")
17
- self.energy_scan_parameters["fluorescenceDetector"] = self.mca.get_property(
18
- "username"
19
- )
20
- """
21
- self.energy_scan_parameters["fluorescenceDetector"] = "KETEK_AXAS-A"
22
- # check if roi in eV or keV
23
- if eroi_min > 1000:
24
- eroi_min /= 1000.0
25
- eroi_max /= 1000.0
26
- self.ctrl.mca.set_roi(
27
- eroi_min,
28
- eroi_max,
29
- channel=1,
30
- element=self.energy_scan_parameters["element"],
31
- atomic_nb=self.energy_scan_parameters["atomic_nb"],
32
- )
33
- print(self.ctrl.mca.get_roi())
34
-
35
- def choose_attenuation(self):
36
- eroi_min = self.energy_scan_parameters["eroi_min"]
37
- eroi_max = self.energy_scan_parameters["eroi_max"]
38
- self.ctrl.detcover.set_in()
39
- self.ctrl.find_max_attenuation(
40
- ctime=2, roi=[eroi_min, eroi_max], datafile="/tmp/abb"
41
- )
42
- self.energy_scan_parameters["transmissionFactor"] = (
43
- HWR.beamline.transmission.get_value()
44
- )
45
-
46
- def execute_energy_scan(self, energy_scan_parameters):
47
- startE = energy_scan_parameters["startEnergy"]
48
- endE = energy_scan_parameters["endEnergy"]
49
- dd = datetime.now()
50
- fname = "%s/%s_%s_%s_%s.scan" % (
51
- energy_scan_parameters["directory"],
52
- energy_scan_parameters["prefix"],
53
- datetime.strftime(dd, "%d"),
54
- datetime.strftime(dd, "%B"),
55
- datetime.strftime(dd, "%Y"),
56
- )
57
- self.ctrl.energy_scan.do_energy_scan(startE, endE, datafile=fname)
58
-
59
- """
60
- self.energy_scan_parameters["exposureTime"] = self.ctrl.MONOSCAN_INITSTATE[
61
- "exposure_time"
62
- ]
63
- """
64
-
65
- def escan_prepare(self):
66
- self.ctrl = self.get_object_by_role("controller")
67
-
68
- self.ctrl.detcover.set_in()
69
- self.ctrl.diffractometer.fldet_in()
70
- # self.ctrl.fluodet.IN
71
- self.ctrl.diffractometer.set_phase("DataCollection")
72
-
73
- if self.beamsize:
74
- # get the aperture size
75
- bsX = self.beamsize.get_size(self.beamsize.get_value().name)
76
- self.energy_scan_parameters["beamSizeHorizontal"] = bsX
77
- self.energy_scan_parameters["beamSizeVertical"] = bsX