Skip to content

Commit f8c9bc8

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into fix-loading-plugin-error
2 parents bfea4da + e80fd30 commit f8c9bc8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+9359
-6189
lines changed

docs/source/contributing/software_architecture.rst

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ Software Architecture
66
:align: center
77
:alt: Software Architecture
88

9+
------------------
10+
911
.. _software-architecture-section:
1012

1113
Model View Controller (MVC)
@@ -26,9 +28,11 @@ The architecture of **navigate** is designed following the industry-standard Mod
2628
It relays user input in the form of traces and commands to the model and relays model
2729
output in the form of images and data to the view.
2830

31+
------------------
32+
2933

30-
Communication Enhancements
31-
----------------------------
34+
Extendability
35+
============================
3236

3337
To maximize the extendability of **navigate**, it incorporates:
3438

@@ -39,8 +43,11 @@ To maximize the extendability of **navigate**, it incorporates:
3943
- **Plugin Layer**: Offers the flexibility to integrate non-supported devices through
4044
plugins, enhancing the system's adaptability to various hardware.
4145

46+
------------------
47+
48+
4249
Data Acquisition and Processing
43-
--------------------------------
50+
===============================
4451

4552
**navigate** employs a feature container for running acquisition routines, characterized by:
4653

@@ -55,8 +62,11 @@ Data Acquisition and Processing
5562
**navigate** during run-time. Image analysis is performed on images in memory that are
5663
stored as numpy arrays, ensuring rapid processing.
5764

65+
------------------
66+
67+
5868
Feature Lists
59-
-------------------
69+
============================
6070

6171
Feature lists are highly versatile, capable of:
6272

docs/source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ technology developers.
5757
:caption: User Guide
5858
:maxdepth: 1
5959

60-
user_guide/hardware_overview
60+
user_guide/hardware/hardware_home
6161
user_guide/file_formats
6262
user_guide/gui_walkthrough
6363
user_guide/setup_microscope

docs/source/user_guide/file_formats.rst

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ Supported File Formats
33
======================
44

55
The choice of file format for saving imaging data in microscopy is crucial
6-
because it affects data integrity, accessibility, and analysis efficiency.
6+
because it affects write speed, data integrity, accessibility, and analysis efficiency.
77
Formats like TIFF and its derivative OME-TIFF are widely used due to their ability
88
to store metadata and support multiple imaging channels. However, modern formats such
9-
as Zarr, N5, and HDF5, including OME-ZARR, cater to the needs of large-scale,
9+
as Zarr, N5, and HDF5, including OME-Zarr, cater to the needs of large-scale,
1010
multi-dimensional datasets by enabling efficient data storage, access, and processing at
1111
cloud-compute scales.
1212

@@ -35,22 +35,30 @@ to store metadata.
3535

3636
----------------
3737

38-
BigDataViewer H5/N5/OME-Zarr
38+
BigDataViewer H5/N5
3939
----------------------------
4040

4141
**navigate** uses `h5py <https://docs.h5py.org/en/stable/index.html>`_ (H5) and
4242
`zarr <https://zarr.readthedocs.io/en/stable/>`_ (N5) to store data in a BigDataViewer
4343
file format. This is a pyramidal format, necessitating the saving of both the original
4444
data and down sampled versions of this data. The additional data slows down the write
45-
speed. The N5 format is faster than H5 because it allows multithreaded writes.
45+
speed. The N5 format can be faster than H5 because it allows for multithreaded writes.
46+
47+
OME-Zarr
48+
--------
49+
OME-Zarr is a Zarr file format that adheres to strict metadata specifications, detailed
50+
at https://ngff.openmicroscopy.org/0.4/index.html. It allows for pyramidal data writing,
51+
storage of segmentation labels with the data set, and updating the pyramidal structure
52+
on the fly.
53+
4654

4755
----------------
4856

4957
Image Writing Benchmarks
5058
------------------------
5159

5260
To evaluate the performance of saving imaging data in different formats, we conducted
53-
benchmarks on a Linux-based system. We assessed the median disk write time for TIFF,
61+
benchmarks on a RedHat Linux system. We assessed the median disk write time for TIFF,
5462
OME-TIFF, H5, N5, and OME-Zarr formats across image resolutions of 512x512,
5563
1024x1024, and 2048x2048 under two conditions: (A) capturing 1000 single-plane
5664
images and (B) acquiring a single z-stack composed of 1000 planes. All times
@@ -73,11 +81,11 @@ milliseconds.
7381
+-------------+---------+----------+-------+-------+---------+
7482
| | TIFF | OME-TIFF | H5 | N5 | OME-Zarr|
7583
+=============+=========+==========+=======+=======+=========+
76-
| 512x512 | 4.06 | 15.26 | 2.79 | 12.09 | 1.35 |
84+
| 512x512 | 0.83 | 10.0 | 1.69 | 3.02 | 1.09 |
7785
+-------------+---------+----------+-------+-------+---------+
78-
| 1024x1024 | 6.69 | 15.25 | 8.33 | 14.74 | 2.46 |
86+
| 1024x1024 | 1.55 | 10.4 | 6.46 | 5.70 | 2.27 |
7987
+-------------+---------+----------+-------+-------+---------+
80-
| 2048x2048 | 22.25 | 38.57 | 34.71 | 29.56 | 11.85 |
88+
| 2048x2048 | 11.2 | 38.6 | 28.8 | 19.6 | 11.6 |
8189
+-------------+---------+----------+-------+-------+---------+
8290

8391
Z-Stack Imaging
@@ -92,11 +100,11 @@ Z-Stack Imaging
92100
+--------------+---------+----------+-------+-------+---------+
93101
| | TIFF | OME-TIFF | H5 | N5 | OME-Zarr|
94102
+==============+=========+==========+=======+=======+=========+
95-
| 512x512 | 0.21 | 0.17 | 4.76 | 1.80 | 1.30 |
103+
| 512x512 | 0.14 | 0.13 | 2.64 | 1.58 | 1.05 |
96104
+--------------+---------+----------+-------+-------+---------+
97-
| 1024x1024 | 0.52 | 0.57 | 15.70 | 5.38 | 4.22 |
105+
| 1024x1024 | 0.49 | 0.48 | 10.6 | 5.08 | 4.06 |
98106
+--------------+---------+----------+-------+-------+---------+
99-
| 2048x2048 | 2.35 | 2.14 | 75.56 | 14.08 | 8.60 |
107+
| 2048x2048 | 1.92 | 1.86 | 52.7 | 13.90 | 8.50 |
100108
+--------------+---------+----------+-------+-------+---------+
101109

102110
Additional Sources of Overhead
Lines changed: 209 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
2+
.. _camera_configuration:
3+
=======
4+
Cameras
5+
=======
6+
7+
The software supports camera-based acquisition. It can run both normal and rolling
8+
shutter modes of contemporary scientific CMOS cameras.
9+
10+
Hamamatsu
11+
---------
12+
13+
.. note::
14+
15+
**navigate** has been tested with the following versions of the Hamamatsu's
16+
drivers:
17+
18+
- DCAM API: 20.7.641, 21.7.4321, 22.9.6509, 22.11.4321, 23.12.6736
19+
- Camera Firmware: 2.21B, 2.53.A, 3.20.A, 4.30.B,
20+
- Active Silicon CoaXpress: 1.10, 1.13, 1.21.
21+
22+
23+
-----------------
24+
25+
ORCA-Flash4.0 V3
26+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
27+
28+
- :ref:`Install Directions <dcam>`.
29+
- `ORCA-Flash 4.0 v3 Manual <https://www.hamamatsu
30+
.com/us/en/product/cameras/cmos-cameras/C13440-20CU.html>`_.
31+
32+
.. collapse:: Configuration File
33+
34+
.. code-block:: yaml
35+
36+
microscopes:
37+
microscope_name:
38+
camera:
39+
hardware:
40+
type: HamamatsuOrca
41+
serial_number: 111
42+
camera_connection:
43+
defect_correct_mode: 2.0
44+
delay: 1.0 #ms
45+
settle_down: 0.1 #ms
46+
flip_x: False
47+
flip_y: False
48+
49+
50+
|
51+
52+
------------------
53+
54+
55+
ORCA-Fusion
56+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
57+
58+
- :ref:`Install Directions <dcam>`.
59+
- `ORCA-Fusion Manual <https://www.hamamatsu
60+
.com/jp/en/product/cameras/cmos-cameras/C15440-20UP.html>`_.
61+
62+
.. collapse:: Configuration File
63+
64+
.. code-block:: yaml
65+
66+
microscopes:
67+
microscope_name:
68+
camera:
69+
hardware:
70+
type: HamamatsuOrcaFusion
71+
serial_number: 111
72+
camera_connection:
73+
defect_correct_mode: 2.0
74+
delay: 1.0 #ms
75+
settle_down: 0.1 #ms
76+
flip_x: False
77+
flip_y: False
78+
79+
80+
|
81+
82+
------------------
83+
84+
85+
ORCA-Lightning
86+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
87+
88+
- :ref:`Install Directions <dcam>`.
89+
- `ORCA-Lightning Manual <https://www.hamamatsu
90+
.com/us/en/product/cameras/cmos-cameras/C14120-20P.html>`_.
91+
92+
93+
.. collapse:: Configuration File
94+
95+
.. code-block:: yaml
96+
97+
microscopes:
98+
microscope_name:
99+
camera:
100+
hardware:
101+
type: HamamatsuOrcaLightning
102+
serial_number: 111
103+
camera_connection:
104+
defect_correct_mode: 2.0
105+
delay: 1.0 #ms
106+
settle_down: 0.1 #ms
107+
flip_x: False
108+
flip_y: False
109+
110+
111+
|
112+
113+
------------------
114+
115+
116+
ORCA-Fire
117+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
118+
119+
120+
- :ref:`Install Directions <dcam>`.
121+
- `ORCA-Fire Manual <https://www.hamamatsu.com/us/en/product/cameras/cmos-cameras/C16240-20UP.html>`_.
122+
123+
124+
.. collapse:: Configuration File
125+
126+
.. code-block:: yaml
127+
128+
microscopes:
129+
microscope_name:
130+
camera:
131+
hardware:
132+
type: HamamatsuOrcaFire
133+
serial_number: 111
134+
camera_connection:
135+
defect_correct_mode: 2.0
136+
delay: 1.0 #ms
137+
settle_down: 0.1 #ms
138+
flip_x: False
139+
flip_y: False
140+
141+
|
142+
143+
------------------
144+
145+
Photometrics
146+
------------
147+
148+
- :ref:`Install Directions <pvcam>`.
149+
150+
151+
.. note::
152+
153+
**navigate** has been tested with the following versions of the Photometric's
154+
drivers:
155+
156+
- PVCAM: 3.9.13
157+
158+
-----------------
159+
160+
Iris 15
161+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
162+
163+
.. collapse:: Configuration File
164+
165+
.. code-block:: yaml
166+
167+
microscopes:
168+
microscope_name:
169+
camera:
170+
hardware:
171+
type: Photometrics
172+
serial_number: 111
173+
camera_connection: PMPCIECam00
174+
defect_correct_mode: 2.0
175+
delay: 1.0 #ms
176+
settle_down: 0.1 #ms
177+
flip_x: False
178+
flip_y: False
179+
180+
181+
|
182+
183+
------------------
184+
185+
186+
Synthetic Camera
187+
----------------
188+
189+
The synthetic camera simulates noise images from an sCMOS camera. If no camera is present,
190+
the synthetic camera class must be used.
191+
192+
.. collapse:: Configuration File
193+
194+
.. code-block:: yaml
195+
196+
microscopes:
197+
microscope_name:
198+
camera:
199+
hardware:
200+
type: synthetic
201+
serial_number: 111
202+
camera_connection:
203+
defect_correct_mode: 2.0
204+
delay: 1.0 #ms
205+
settle_down: 0.1 #ms
206+
flip_x: False
207+
flip_y: False
208+
209+
|

0 commit comments

Comments
 (0)