pigeon-tem-comms 1.1.3__py3-none-any.whl → 1.3.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.
TEM_comms/__init__.py CHANGED
@@ -1,4 +1,9 @@
1
- from . import buffer, camera, montage, qc, roi, scope, stage, tile, ui
1
+ from pigeon import BaseMessage
2
+ from . import buffer, camera, montage, qc, roi, scope, stage, tile, ui, calibration
3
+
4
+
5
+ class State(BaseMessage):
6
+ state: str
2
7
 
3
8
 
4
9
  topics = {
@@ -32,4 +37,7 @@ topics = {
32
37
  "roi.create": roi.CreateROI,
33
38
  "roi.current": roi.ROI,
34
39
  "montage.minimaps": montage.Minimaps,
40
+ "calibration.resolution": calibration.Resolution,
41
+ "calibration.centroid": calibration.Centroid,
42
+ "state": State,
35
43
  }
@@ -0,0 +1,18 @@
1
+ from pigeon import BaseMessage
2
+ from typing import Mapping
3
+
4
+
5
+ class _Resolution(BaseMessage):
6
+ nm_per_px: tuple[float, float]
7
+ rotation: float
8
+
9
+
10
+ class Resolution(BaseMessage):
11
+ lowmag: Mapping[int, _Resolution]
12
+ mag: Mapping[int, _Resolution]
13
+
14
+
15
+ class Centroid(BaseMessage):
16
+ aperture_id: int
17
+ x: int
18
+ y: int
TEM_comms/montage.py CHANGED
@@ -1,11 +1,17 @@
1
1
  from pigeon import BaseMessage
2
- from typing import Mapping, List, Any, Optional, Tuple
2
+ from typing import Mapping, Dict, Any, Optional, Tuple
3
3
  from datetime import datetime
4
4
 
5
5
 
6
+ class Tile(BaseMessage):
7
+ raster_index: int
8
+ stage_position: Tuple[int, int]
9
+ raster_position: Tuple[int, int]
10
+
11
+
6
12
  class Complete(BaseMessage):
7
13
  montage_id: str
8
- tile_ids: List[str]
14
+ tiles: Dict[str, Tile]
9
15
  acquisition_id: str
10
16
  start_time: datetime
11
17
  pixel_size: float
@@ -1,12 +1,17 @@
1
1
  from pigeon import BaseMessage
2
+ from pydantic import ConfigDict
2
3
 
3
4
 
4
5
  class Command(BaseMessage):
6
+ model_config = ConfigDict(extra="allow")
7
+
5
8
  aperture_id: int | None = None
6
9
  calibrate: bool = False
7
10
 
8
11
 
9
12
  class Status(BaseMessage):
13
+ model_config = ConfigDict(extra="allow")
14
+
10
15
  current_aperture: int | None
11
16
  calibrated: bool
12
17
  error: str = ""
TEM_comms/stage/motion.py CHANGED
@@ -1,8 +1,11 @@
1
1
  from typing import Optional
2
2
  from pigeon import BaseMessage
3
+ from pydantic import ConfigDict
3
4
 
4
5
 
5
6
  class Command(BaseMessage):
7
+ model_config = ConfigDict(extra="allow")
8
+
6
9
  x: int | None = None
7
10
  y: int | None = None
8
11
  z: Optional[int] = None
@@ -10,6 +13,8 @@ class Command(BaseMessage):
10
13
 
11
14
 
12
15
  class Status(BaseMessage):
16
+ model_config = ConfigDict(extra="allow")
17
+
13
18
  x: int | None
14
19
  y: int | None
15
20
  z: Optional[int] = None
TEM_comms/ui.py CHANGED
@@ -20,6 +20,7 @@ class Run(BaseMessage):
20
20
  abort_now: bool = False
21
21
  abort_at_end: bool = False
22
22
  resume: bool = False
23
+ cancel: bool = False
23
24
 
24
25
  @model_validator(mode="after")
25
26
  def check_grid(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pigeon-tem-comms
3
- Version: 1.1.3
3
+ Version: 1.3.0
4
4
  Summary: Pigeon messages for the next generation TEM imaging system.
5
5
  Author-email: Cameron Devine <cameron.devine@alleninstitute.org>
6
6
  License: BSD 3 Clause
@@ -1,21 +1,22 @@
1
- TEM_comms/__init__.py,sha256=lP9VixOSpFW0h0kPq-z-pUOpD53RBat6_G3ZrFyUuqI,1264
1
+ TEM_comms/__init__.py,sha256=ptgtd0FnSXyDZz26kX-4ivwOPQ8hXePNtepilqQl7B0,1475
2
2
  TEM_comms/buffer.py,sha256=Jr6fUIbUPreQSSGKWR7jkA1McyZZv3lVE8uQSER8VL4,123
3
+ TEM_comms/calibration.py,sha256=aDxJ0VepU9A6dZR-SK1yEoTFLwzF6bz5eingSMJLcvw,327
3
4
  TEM_comms/camera.py,sha256=5tOFqm7zOPVoX6ZFr5KIMxb0jAjWpE8yo8bctvOpbcU,698
4
- TEM_comms/montage.py,sha256=NmY8RGvArMwK-Qgmrc_IPzgOc3_m51YuNIUzntd62vc,541
5
+ TEM_comms/montage.py,sha256=QQ5IJcIfPb4y5QdZ-lXYNV0WLTcZUrLmOwuS0t84_2M,666
5
6
  TEM_comms/qc.py,sha256=sujy2i0wimMvrHDPEXKdaiO7xxvRcHiy83mVpATLyqA,141
6
7
  TEM_comms/roi.py,sha256=37fKMT-KNJfWOwWvFAPTFHuBzkV1h6RS42kQsU00teQ,1145
7
8
  TEM_comms/scope.py,sha256=EfsOaEWfzT_UhYLRAYE733RoRyQQmNQc1Kz90gYLiqs,816
8
- TEM_comms/ui.py,sha256=Yxd0i4wjmddDl9sVzcFHHu5b6n0ICzaO0b_8SmAysxg,1459
9
+ TEM_comms/ui.py,sha256=pyjF9vex2qVzmKCoHdVTtDMEKRDOuhO-dWTBa2qb47Y,1484
9
10
  TEM_comms/stage/__init__.py,sha256=UVtYKzMBI01FUADS24xSItNIjhqdZtlDeJdqsDJNVIc,67
10
- TEM_comms/stage/aperture.py,sha256=lyJO34_K76MKrZ-o2izd5V7eEN55d3lGu__RvZq-NlA,227
11
- TEM_comms/stage/motion.py,sha256=0QnMOgVB8THQEims4Nc5ZxonqIH-XRjrw9F7p30Ex9k,328
11
+ TEM_comms/stage/aperture.py,sha256=QBO9MiVgzWJM_oAdy-9-z2qtX-pUqLyYSuMXkIDwMX4,351
12
+ TEM_comms/stage/motion.py,sha256=EiMDAviHZo8DYjzeFcYFkbHFs90kLDsZKbrcla0y7eU,452
12
13
  TEM_comms/stage/rotation.py,sha256=tUcf6IpQ2ooRDYb51Zb4pi7pQUrBuLPiLKSg8Ebb2DY,332
13
14
  TEM_comms/tile/__init__.py,sha256=ID3b4VAHqVXAkxTYOZ7H2oTSrnVdUYt4Xb6gpQ0I3qo,316
14
15
  TEM_comms/tile/metadata.py,sha256=pUxmi_C02e5nwTm51rIULkKaRz6ij5mlXylzAcDU-9c,149
15
16
  TEM_comms/tile/statistics.py,sha256=C1pMEOjwVrhjGR6R7efKJE-pR_tw9ZAGrprLIHcXc_A,245
16
- pigeon_tem_comms-1.1.3.dist-info/licenses/LICENSE,sha256=tZfQIUX7uNGacTb751ZWInVenJl6OwYQihcGbYrKSts,1463
17
- pigeon_tem_comms-1.1.3.dist-info/METADATA,sha256=bh508V_fGUxGh8pJqhGiy7t9UnhEApzZJGSZgOCpWfk,1575
18
- pigeon_tem_comms-1.1.3.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
19
- pigeon_tem_comms-1.1.3.dist-info/entry_points.txt,sha256=X2WfBCDgfH9XVVqiI4rLu7BLyMNuLW6WWckqXxfbrgk,38
20
- pigeon_tem_comms-1.1.3.dist-info/top_level.txt,sha256=3_1RcQ7xvS2dJEYnPIigo9snoKcSXSNJzPqunY0qydI,10
21
- pigeon_tem_comms-1.1.3.dist-info/RECORD,,
17
+ pigeon_tem_comms-1.3.0.dist-info/licenses/LICENSE,sha256=tZfQIUX7uNGacTb751ZWInVenJl6OwYQihcGbYrKSts,1463
18
+ pigeon_tem_comms-1.3.0.dist-info/METADATA,sha256=FEvO4zWuex8k0WVMNxDTGJ05QhXMQ0EBUadkNxWVpRw,1575
19
+ pigeon_tem_comms-1.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
20
+ pigeon_tem_comms-1.3.0.dist-info/entry_points.txt,sha256=X2WfBCDgfH9XVVqiI4rLu7BLyMNuLW6WWckqXxfbrgk,38
21
+ pigeon_tem_comms-1.3.0.dist-info/top_level.txt,sha256=3_1RcQ7xvS2dJEYnPIigo9snoKcSXSNJzPqunY0qydI,10
22
+ pigeon_tem_comms-1.3.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (78.1.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5