pymmcore-plus 0.10.0__py3-none-any.whl → 0.10.2__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.
- pymmcore_plus/core/events/_psygnal.py +2 -2
- pymmcore_plus/mda/_engine.py +10 -0
- pymmcore_plus/mda/events/_psygnal.py +2 -2
- {pymmcore_plus-0.10.0.dist-info → pymmcore_plus-0.10.2.dist-info}/METADATA +1 -1
- {pymmcore_plus-0.10.0.dist-info → pymmcore_plus-0.10.2.dist-info}/RECORD +8 -8
- {pymmcore_plus-0.10.0.dist-info → pymmcore_plus-0.10.2.dist-info}/WHEEL +0 -0
- {pymmcore_plus-0.10.0.dist-info → pymmcore_plus-0.10.2.dist-info}/entry_points.txt +0 -0
- {pymmcore_plus-0.10.0.dist-info → pymmcore_plus-0.10.2.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
from psygnal import Signal, SignalInstance
|
|
1
|
+
from psygnal import Signal, SignalGroup, SignalInstance
|
|
2
2
|
|
|
3
3
|
from pymmcore_plus.mda import MDAEngine
|
|
4
4
|
|
|
5
5
|
from ._prop_event_mixin import _DevicePropertyEventMixin
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
class CMMCoreSignaler(_DevicePropertyEventMixin):
|
|
8
|
+
class CMMCoreSignaler(SignalGroup, _DevicePropertyEventMixin):
|
|
9
9
|
"""Signals that will be emitted from CMMCorePlus objects."""
|
|
10
10
|
|
|
11
11
|
# native MMCore callback events
|
pymmcore_plus/mda/_engine.py
CHANGED
|
@@ -329,6 +329,8 @@ class MDAEngine(PMDAEngine):
|
|
|
329
329
|
core = self._mmc
|
|
330
330
|
if not event.keep_shutter_open and self._autoshutter_was_set:
|
|
331
331
|
core.setAutoShutter(True)
|
|
332
|
+
# FIXME: this may not be hitting as intended...
|
|
333
|
+
# https://github.com/pymmcore-plus/pymmcore-plus/pull/353#issuecomment-2159176491
|
|
332
334
|
if isinstance(event, SequencedEvent):
|
|
333
335
|
if event.exposure_sequence:
|
|
334
336
|
core.stopExposureSequence(self._mmc.getCameraDevice())
|
|
@@ -356,15 +358,23 @@ class MDAEngine(PMDAEngine):
|
|
|
356
358
|
cam_device = self._mmc.getCameraDevice()
|
|
357
359
|
|
|
358
360
|
if event.exposure_sequence:
|
|
361
|
+
with suppress(RuntimeError):
|
|
362
|
+
core.stopExposureSequence(cam_device)
|
|
359
363
|
core.loadExposureSequence(cam_device, event.exposure_sequence)
|
|
360
364
|
if event.x_sequence: # y_sequence is implied and will be the same length
|
|
361
365
|
stage = core.getXYStageDevice()
|
|
366
|
+
with suppress(RuntimeError):
|
|
367
|
+
core.stopXYStageSequence(stage)
|
|
362
368
|
core.loadXYStageSequence(stage, event.x_sequence, event.y_sequence)
|
|
363
369
|
if event.z_sequence:
|
|
364
370
|
zstage = core.getFocusDevice()
|
|
371
|
+
with suppress(RuntimeError):
|
|
372
|
+
core.stopStageSequence(zstage)
|
|
365
373
|
core.loadStageSequence(zstage, event.z_sequence)
|
|
366
374
|
if prop_seqs := event.property_sequences(core):
|
|
367
375
|
for (dev, prop), value_sequence in prop_seqs.items():
|
|
376
|
+
with suppress(RuntimeError):
|
|
377
|
+
core.stopPropertySequence(dev, prop)
|
|
368
378
|
core.loadPropertySequence(dev, prop, value_sequence)
|
|
369
379
|
|
|
370
380
|
# TODO: SLM
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import numpy as np
|
|
2
|
-
from psygnal import Signal
|
|
2
|
+
from psygnal import Signal, SignalGroup
|
|
3
3
|
from useq import MDAEvent, MDASequence
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
class MDASignaler:
|
|
6
|
+
class MDASignaler(SignalGroup):
|
|
7
7
|
sequenceStarted = Signal(MDASequence, dict) # at the start of an MDA sequence
|
|
8
8
|
sequencePauseToggled = Signal(bool) # when MDA is paused/unpaused
|
|
9
9
|
sequenceCanceled = Signal(MDASequence) # when mda is canceled
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pymmcore-plus
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.2
|
|
4
4
|
Summary: pymmcore superset providing improved APIs, event handling, and a pure python acquisition engine
|
|
5
5
|
Project-URL: Source, https://github.com/pymmcore-plus/pymmcore-plus
|
|
6
6
|
Project-URL: Tracker, https://github.com/pymmcore-plus/pymmcore-plus/issues
|
|
@@ -22,16 +22,16 @@ pymmcore_plus/core/events/_device_signal_view.py,sha256=st_di51xOmKKOM9-yY8ouKlT
|
|
|
22
22
|
pymmcore_plus/core/events/_norm_slot.py,sha256=cp6VeH5h98G7bPWrKzTsHJmzCIbi2D4sv6bSdywQbsk,2937
|
|
23
23
|
pymmcore_plus/core/events/_prop_event_mixin.py,sha256=XfoXrMjRRXPHv6XkavBmSuz-6nItpJ8oG60DqK2WBEA,3939
|
|
24
24
|
pymmcore_plus/core/events/_protocol.py,sha256=Cf9uGZe_uP8nIa8rsaDIX5RCW5pNQQt2juLL-rriRn4,7448
|
|
25
|
-
pymmcore_plus/core/events/_psygnal.py,sha256=
|
|
25
|
+
pymmcore_plus/core/events/_psygnal.py,sha256=owaKlW2zpvocXDbAW4kHovBoVv4Fjfn-S5oUJrVWsD4,1646
|
|
26
26
|
pymmcore_plus/core/events/_qsignals.py,sha256=gr-GDiSVLhFhSfaoKrdTz2y3I_2IUg62bYDGuGrB3j0,3018
|
|
27
27
|
pymmcore_plus/mda/__init__.py,sha256=MrRYE2rYuIw4dQib4KiRgVbTkjdsE-6tcTjns68Grzk,298
|
|
28
|
-
pymmcore_plus/mda/_engine.py,sha256=
|
|
28
|
+
pymmcore_plus/mda/_engine.py,sha256=vHkMyrOAj7glNgdvltINOzFVOmhnJ1dSmp-S-GJapBE,21953
|
|
29
29
|
pymmcore_plus/mda/_protocol.py,sha256=p98OkG390Q2Rj05Cl5mza6BUTscPol_cgTxXXMkpNcI,3182
|
|
30
30
|
pymmcore_plus/mda/_runner.py,sha256=1U39sfI7g29K7fkrNLqDGyWYSjStIWLymVrp2Kj_HF8,15365
|
|
31
31
|
pymmcore_plus/mda/_thread_relay.py,sha256=wjP1tag7nN2Sr0RzaPnYRqHl8XjAQg2MpXOt0ONLcQ8,6112
|
|
32
32
|
pymmcore_plus/mda/events/__init__.py,sha256=UZFBlIzTmKqgMw_vVSZSSAN1tkAu8qccYb-aXXBRc3I,1192
|
|
33
33
|
pymmcore_plus/mda/events/_protocol.py,sha256=Ve4RbjcdHyDob-GZ2ny4gmw46JhahvI4XbXUwVZ-7zc,1315
|
|
34
|
-
pymmcore_plus/mda/events/_psygnal.py,sha256=
|
|
34
|
+
pymmcore_plus/mda/events/_psygnal.py,sha256=TdN1mFGpTPXmEs9iwFKSC1svv87PDZkT2JZvl0tEGrQ,640
|
|
35
35
|
pymmcore_plus/mda/events/_qsignals.py,sha256=tULQg-e_NX197DxJXaWHn1zLJ-4tzc9QyOAnsobEDtA,554
|
|
36
36
|
pymmcore_plus/mda/handlers/_5d_writer_base.py,sha256=9hBW8TH9mLh318QQk4knpCJZuhgKZOPv2X_UVZcDH-c,11515
|
|
37
37
|
pymmcore_plus/mda/handlers/__init__.py,sha256=yQFRVDdCyu5t2JilobHGPC8lgCY4htNF5dzctrteSZA,305
|
|
@@ -49,8 +49,8 @@ pymmcore_plus/model/_device.py,sha256=cQngFxQ6tufrT9G46oO5iX9wh-44zZraaIFNQCyzML
|
|
|
49
49
|
pymmcore_plus/model/_microscope.py,sha256=-soGj918ue_71mrROQ5_7cbjexKp41wPn7im0l2BfaY,9822
|
|
50
50
|
pymmcore_plus/model/_pixel_size_config.py,sha256=J4qJmPZsN9dwEkoMtct5Ik-8zEC-v0aKxOBKGFH7kOE,2718
|
|
51
51
|
pymmcore_plus/model/_property.py,sha256=gJM7SFjLB2HnN0E8HOn4qVlB2wAxmkEFxSJFjKauZEk,3328
|
|
52
|
-
pymmcore_plus-0.10.
|
|
53
|
-
pymmcore_plus-0.10.
|
|
54
|
-
pymmcore_plus-0.10.
|
|
55
|
-
pymmcore_plus-0.10.
|
|
56
|
-
pymmcore_plus-0.10.
|
|
52
|
+
pymmcore_plus-0.10.2.dist-info/METADATA,sha256=qUaNdtH932kT10tVTpK_tsOIu52o9j3TVC-33DzKoNI,9220
|
|
53
|
+
pymmcore_plus-0.10.2.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
|
|
54
|
+
pymmcore_plus-0.10.2.dist-info/entry_points.txt,sha256=NtFyndrQzBpUNJyil-8e5hMGke2utAf7mkGavTLcLOY,51
|
|
55
|
+
pymmcore_plus-0.10.2.dist-info/licenses/LICENSE,sha256=OHJjRpOPKKRc7FEnpehNWdR5LRBdBhUtIFG-ZI0dCEA,1522
|
|
56
|
+
pymmcore_plus-0.10.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|