pigeon-tem-comms 0.4.11__py3-none-any.whl → 1.0.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,5 +1,6 @@
1
1
  from . import buffer, camera, montage, qc, roi, scope, stage, tile, ui
2
2
 
3
+
3
4
  topics = {
4
5
  "buffer.status": buffer.Status,
5
6
  "camera.command": camera.Command,
@@ -15,7 +16,7 @@ topics = {
15
16
  "stage.rotation.command": stage.rotation.Command,
16
17
  "stage.rotation.status": stage.rotation.Status,
17
18
  "tile.preview": tile.Preview,
18
- "tile.minimap": tile.Minimap,
19
+ "tile.mini": tile.Mini,
19
20
  "tile.processed": tile.Processed,
20
21
  "tile.raw": tile.Raw,
21
22
  "tile.statistics.focus": tile.statistics.Focus,
@@ -31,4 +32,5 @@ topics = {
31
32
  "roi.load": roi.LoadROI,
32
33
  "roi.create": roi.CreateROI,
33
34
  "roi.current": roi.ROI,
35
+ "montage.minimaps": montage.Minimaps,
34
36
  }
TEM_comms/camera.py CHANGED
@@ -4,11 +4,15 @@ from typing import Optional
4
4
 
5
5
  class Command(BaseMessage):
6
6
  tile_id: str
7
+ montage_id: str
8
+ brightfield: Optional[bool] = False
9
+ darkfield: Optional[bool] = False
10
+ lens_correction: Optional[bool] = True
7
11
 
8
12
 
9
13
  class Image(BaseMessage):
10
14
  tile_id: str
11
- path: str
15
+ montage_id: str
12
16
 
13
17
 
14
18
  class Settings(BaseMessage):
TEM_comms/montage.py CHANGED
@@ -1,5 +1,5 @@
1
1
  from pigeon import BaseMessage
2
- from typing import Mapping, List, Any
2
+ from typing import Mapping, List, Any, Optional
3
3
 
4
4
 
5
5
  class Start(BaseMessage):
@@ -13,3 +13,16 @@ class Finished(BaseMessage):
13
13
  roi: str
14
14
  specimen: str
15
15
  metadata: Mapping[str, Any] | List[Any]
16
+
17
+
18
+ class Minimap(BaseMessage):
19
+ image: Optional[str]
20
+ colorbar: str
21
+ min: Optional[float]
22
+ max: Optional[float]
23
+
24
+
25
+ class Minimaps(BaseMessage):
26
+ montage_id: str
27
+ montage: Minimap
28
+ focus: Minimap
TEM_comms/roi.py CHANGED
@@ -2,10 +2,12 @@ from pigeon import BaseMessage
2
2
  from typing import List, Tuple, Optional
3
3
  from pydantic import Field
4
4
 
5
+
5
6
  class Vertex(BaseMessage):
6
- x: float
7
+ x: float
7
8
  y: float
8
9
 
10
+
9
11
  class ROI(BaseMessage):
10
12
  vertices: List[Vertex]
11
13
  rotation_angle: float
@@ -15,13 +17,19 @@ class ROI(BaseMessage):
15
17
  grid_id: Optional[str] = None
16
18
  section_id: Optional[str] = None
17
19
  metadata: Optional[dict] = None
18
- queue_position: Optional[int] = Field(None, description="Position in queue, None means set as current")
20
+ queue_position: Optional[int] = Field(
21
+ None, description="Position in queue, None means set as current"
22
+ )
23
+
19
24
 
20
25
  class LoadROI(BaseMessage):
21
26
  specimen_id: str
22
27
  section_id: str
23
28
  grid_id: Optional[str] = None
24
- queue_position: Optional[int] = Field(None, description="Position in queue, None means set as current")
29
+ queue_position: Optional[int] = Field(
30
+ None, description="Position in queue, None means set as current"
31
+ )
32
+
25
33
 
26
34
  class CreateROI(BaseMessage):
27
35
  center: Vertex
@@ -32,5 +40,6 @@ class CreateROI(BaseMessage):
32
40
  specimen_id: Optional[str] = None
33
41
  grid_id: Optional[str] = None
34
42
  section_id: Optional[str] = None
35
- queue_position: Optional[int] = Field(None, description="Position in queue, None means set as current")
36
-
43
+ queue_position: Optional[int] = Field(
44
+ None, description="Position in queue, None means set as current"
45
+ )
TEM_comms/stage/motion.py CHANGED
@@ -4,11 +4,13 @@ from pigeon import BaseMessage
4
4
  class Command(BaseMessage):
5
5
  x: int | None = None
6
6
  y: int | None = None
7
+ z: int | None = None
7
8
  calibrate: bool = False
8
9
 
9
10
 
10
11
  class Status(BaseMessage):
11
12
  x: int | None
12
13
  y: int | None
14
+ z: int | None
13
15
  in_motion: bool
14
16
  error: str = ""
@@ -4,11 +4,13 @@ from pigeon import BaseMessage
4
4
  class Command(BaseMessage):
5
5
  angle_x: float | None = None
6
6
  angle_y: float | None = None
7
+ eucentric_height: float | None = None
7
8
  calibrate: bool = False
8
9
 
9
10
 
10
11
  class Status(BaseMessage):
11
12
  angle_x: float
12
13
  angle_y: float
14
+ eucentric_height: float
13
15
  in_motion: bool
14
16
  error: str = ""
@@ -1,35 +1,24 @@
1
- from pigeon import BaseMessage
1
+ from .metadata import TileMetadata
2
2
  from . import statistics
3
3
 
4
4
 
5
- class Preview(BaseMessage):
6
- tile_id: str
5
+ class Preview(TileMetadata):
7
6
  image: str
8
7
 
9
8
 
10
- class Minimap(BaseMessage):
11
- tile_id: str
12
- path: str
9
+ class Mini(TileMetadata):
10
+ image: str
13
11
 
14
12
 
15
- class Raw(BaseMessage):
16
- tile_id: str
17
- montage_id: str
13
+ class Raw(TileMetadata):
18
14
  path: str
19
- row: int
20
- column: int
21
- overlap: int
22
15
 
23
16
 
24
- class Transform(BaseMessage):
25
- montage_id: str
26
- tile_id: str
17
+ class Transform(TileMetadata):
27
18
  rotation: float
28
19
  x: float
29
20
  y: float
30
21
 
31
22
 
32
- class Processed(BaseMessage):
33
- montage_id: str
34
- tile_id: str
23
+ class Processed(TileMetadata):
35
24
  path: str
@@ -0,0 +1,9 @@
1
+ from pigeon import BaseMessage
2
+
3
+
4
+ class TileMetadata(BaseMessage):
5
+ tile_id: str
6
+ montage_id: str
7
+ row: int
8
+ column: int
9
+ overlap: int
@@ -1,22 +1,16 @@
1
- from pigeon import BaseMessage
1
+ from .metadata import TileMetadata
2
+ from typing import List
2
3
 
3
4
 
4
- class Focus(BaseMessage):
5
- montage_id: str
6
- tile_id: str
5
+ class Focus(TileMetadata):
7
6
  focus: float
8
7
 
9
8
 
10
- class Histogram(BaseMessage):
11
- montage_id: str
12
- tile_id: str
13
- path: str
9
+ class Histogram(TileMetadata):
10
+ hist: List[int]
14
11
 
15
12
 
16
- class MinMaxMean(BaseMessage):
17
- montage_id: str
18
- tile_id: str
13
+ class MinMaxMean(TileMetadata):
19
14
  min: int
20
15
  max: int
21
16
  mean: int
22
-
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: pigeon-tem-comms
3
- Version: 0.4.11
3
+ Version: 1.0.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
@@ -18,6 +18,7 @@ Description-Content-Type: text/markdown
18
18
  License-File: LICENSE
19
19
  Requires-Dist: pigeon-client
20
20
  Requires-Dist: pydantic
21
+ Dynamic: license-file
21
22
 
22
23
  [![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/AllenInstitute/TEM_comms/main.yaml)](https://github.com/AllenInstitute/TEM_comms/actions)
23
24
  [![PyPI - Version](https://img.shields.io/pypi/v/pigeon-tem-comms)](https://pypi.org/project/pigeon-tem-comms/)
@@ -0,0 +1,21 @@
1
+ TEM_comms/__init__.py,sha256=ujCgc64ihXYl3uvwxW6zfQGIAxiMBoV-betCiMMBuCQ,1300
2
+ TEM_comms/buffer.py,sha256=Jr6fUIbUPreQSSGKWR7jkA1McyZZv3lVE8uQSER8VL4,123
3
+ TEM_comms/camera.py,sha256=uOw8uEfNc0DqhOyNce4-OBHcLpdZU24zG06ibHvehHQ,669
4
+ TEM_comms/montage.py,sha256=H4bpqSfJLroR3WBoSY2KdPrE8A2WXrDgzp0wAA0M0oE,505
5
+ TEM_comms/qc.py,sha256=sujy2i0wimMvrHDPEXKdaiO7xxvRcHiy83mVpATLyqA,141
6
+ TEM_comms/roi.py,sha256=37fKMT-KNJfWOwWvFAPTFHuBzkV1h6RS42kQsU00teQ,1145
7
+ TEM_comms/scope.py,sha256=lPEKzWT2raR6ailiAitvWXH-Xu6fxWwYBf3GPfVIizc,761
8
+ TEM_comms/ui.py,sha256=Yxd0i4wjmddDl9sVzcFHHu5b6n0ICzaO0b_8SmAysxg,1459
9
+ 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=CqP-BS7mRP5Z9VkFT9-ePiICg6HQiviUubaO1qSioxo,287
12
+ TEM_comms/stage/rotation.py,sha256=tUcf6IpQ2ooRDYb51Zb4pi7pQUrBuLPiLKSg8Ebb2DY,332
13
+ TEM_comms/tile/__init__.py,sha256=ID3b4VAHqVXAkxTYOZ7H2oTSrnVdUYt4Xb6gpQ0I3qo,316
14
+ TEM_comms/tile/metadata.py,sha256=pUxmi_C02e5nwTm51rIULkKaRz6ij5mlXylzAcDU-9c,149
15
+ TEM_comms/tile/statistics.py,sha256=ij0ggk15J_jikIkuSDmhvY96yjliofFRN5SNdsGA0lA,232
16
+ pigeon_tem_comms-1.0.0.dist-info/licenses/LICENSE,sha256=tZfQIUX7uNGacTb751ZWInVenJl6OwYQihcGbYrKSts,1463
17
+ pigeon_tem_comms-1.0.0.dist-info/METADATA,sha256=L-ZnoBYgyiEYm9_XL6Qj23R8Jmju4EdXDGtjM3LgUb4,1575
18
+ pigeon_tem_comms-1.0.0.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
19
+ pigeon_tem_comms-1.0.0.dist-info/entry_points.txt,sha256=X2WfBCDgfH9XVVqiI4rLu7BLyMNuLW6WWckqXxfbrgk,38
20
+ pigeon_tem_comms-1.0.0.dist-info/top_level.txt,sha256=3_1RcQ7xvS2dJEYnPIigo9snoKcSXSNJzPqunY0qydI,10
21
+ pigeon_tem_comms-1.0.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (77.0.3)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,20 +0,0 @@
1
- TEM_comms/__init__.py,sha256=YCjLxCTzYjlYToUwPCuUeTUWIi3yrEPb0P6h_gJJ_Po,1263
2
- TEM_comms/buffer.py,sha256=Jr6fUIbUPreQSSGKWR7jkA1McyZZv3lVE8uQSER8VL4,123
3
- TEM_comms/camera.py,sha256=L9ebaZra-M3g571PUzQCAuC92Auw4ox3gRceJ2uKRhs,522
4
- TEM_comms/montage.py,sha256=PCfve__0M3S2RSmBtrDRlDlmIW_qJffDRE8gnlEHoxY,281
5
- TEM_comms/qc.py,sha256=sujy2i0wimMvrHDPEXKdaiO7xxvRcHiy83mVpATLyqA,141
6
- TEM_comms/roi.py,sha256=RWLy9xb12cGCkvnZ9wO9kheoof0aRzg9py7sGgrT7Qo,1101
7
- TEM_comms/scope.py,sha256=lPEKzWT2raR6ailiAitvWXH-Xu6fxWwYBf3GPfVIizc,761
8
- TEM_comms/ui.py,sha256=Yxd0i4wjmddDl9sVzcFHHu5b6n0ICzaO0b_8SmAysxg,1459
9
- 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=1NSuGQvPjlxwnkaV410VGDBBtmsISQn_XjZcPuUXvQg,244
12
- TEM_comms/stage/rotation.py,sha256=J7tAIP2nskjInhZmdIbqwrvxTFXihEynVOAyxbDDfjU,262
13
- TEM_comms/tile/__init__.py,sha256=RlmgJt3ELn3PWlv1kIr0dRAgMaSaMcsy6fgtsQ3hMr0,500
14
- TEM_comms/tile/statistics.py,sha256=big7ydZe18RaT_B_sh1ust7MiGITOZ1aJdH7mY9T2BY,307
15
- pigeon_tem_comms-0.4.11.dist-info/LICENSE,sha256=tZfQIUX7uNGacTb751ZWInVenJl6OwYQihcGbYrKSts,1463
16
- pigeon_tem_comms-0.4.11.dist-info/METADATA,sha256=6PXKNAqmZAibC6lg2dK7lg2XkrHShn_B-3BqCs0GJuE,1554
17
- pigeon_tem_comms-0.4.11.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
18
- pigeon_tem_comms-0.4.11.dist-info/entry_points.txt,sha256=X2WfBCDgfH9XVVqiI4rLu7BLyMNuLW6WWckqXxfbrgk,38
19
- pigeon_tem_comms-0.4.11.dist-info/top_level.txt,sha256=3_1RcQ7xvS2dJEYnPIigo9snoKcSXSNJzPqunY0qydI,10
20
- pigeon_tem_comms-0.4.11.dist-info/RECORD,,