Skip to content

Commit 2179e89

Browse files
Benchmarks
Maybe a bad idea.
1 parent 2a7d4ef commit 2179e89

File tree

3 files changed

+72
-2
lines changed

3 files changed

+72
-2
lines changed

docs/source/user_guide/file_formats.rst

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,77 @@ to store metadata.
3636
----------------
3737

3838
BigDataViewer H5/N5/OME-Zarr
39-
-------------------
39+
----------------------------
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
4545
speed. The N5 format is faster than H5 because it allows multithreaded writes.
46+
47+
----------------
48+
49+
Image Writing Benchmarks
50+
------------------------
51+
52+
To evaluate the performance of saving imaging data in different formats, we conducted
53+
benchmarks on a Linux-based system. We assessed the average disk write time for TIFF,
54+
OME-TIFF, H5, N5, and OME-Zarr formats across image resolutions of 512x512,
55+
1024x1024, and 2048x2048 under two conditions: (A) capturing 1000 single-plane
56+
images and (B) acquiring a single z-stack composed of 1000 planes. All times
57+
are measured in milliseconds. Bottom panel for both A and B has a reduced y-axis to
58+
highlight the differences in write times between the formats. Results are also
59+
presented in a table format below.
60+
61+
The initial setup for writing H5/N5 files introduces
62+
significant overhead, and to a lesser extent for TIFF and OME-TIFF files, which
63+
elevates the average write time. However, the median write time remains consistently
64+
low and stable across most of the acquisition. For z-stack imaging, TIFF and OME-TIFF
65+
formats achieved write speeds of up to approximately 400 Hz for a 2048x2048 camera
66+
resolution, surpassing the operational speeds of most contemporary sCMOS cameras.
67+
The Big-TIFF variant was used for both TIFF and OME-TIFF formats to accommodate the
68+
large file sizes.
69+
70+
71+
.. image:: images/benchmarks.png
72+
:width: 50%
73+
:align: center
74+
75+
.. table::
76+
:widths: auto
77+
:align: center
78+
79+
+-------------+---------+----------+-------+-------+---------+
80+
| Z=1, T=1000 | TIFF | OME-TIFF | H5 | N5 | OME-Zarr|
81+
+=============+=========+==========+=======+=======+=========+
82+
| 512x512 | 4.06 | 15.26 | 2.79 | 12.09 | 1.35 |
83+
+-------------+---------+----------+-------+-------+---------+
84+
| 1024x1024 | 6.69 | 15.25 | 8.33 | 14.74 | 2.46 |
85+
+-------------+---------+----------+-------+-------+---------+
86+
| 2048x2048 | 22.25 | 38.57 | 34.71 | 29.56 | 11.85 |
87+
+-------------+---------+----------+-------+-------+---------+
88+
89+
.. table::
90+
:widths: auto
91+
:align: center
92+
93+
+--------------+---------+----------+-------+-------+---------+
94+
| Z=1000, T=1 | TIFF | OME-TIFF | H5 | N5 | OME-Zarr|
95+
+==============+=========+==========+=======+=======+=========+
96+
| 512x512 | 0.21 | 0.17 | 4.76 | 1.80 | 1.30 |
97+
+--------------+---------+----------+-------+-------+---------+
98+
| 1024x1024 | 0.52 | 0.57 | 15.70 | 5.38 | 4.22 |
99+
+--------------+---------+----------+-------+-------+---------+
100+
| 2048x2048 | 2.35 | 2.14 | 75.56 | 14.08 | 8.60 |
101+
+--------------+---------+----------+-------+-------+---------+
102+
103+
The computer specifications that the benchmarks were performed on are as follows:
104+
105+
- Architecture: x86_64
106+
- CPU operational modes: 32-bit, 64-bit
107+
- Number of CPUs: 72
108+
- Threads per core: 2
109+
- Cores per socket: 18
110+
- CPU Model: Intel(R) Xeon(R) Gold 6354 CPU @ 3.00GHz
111+
- CPU Speed: 883.850 MHz
112+
- Memory: 0.5 TB

docs/source/user_guide/hardware/supported_hardware.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ Configuring Hardware Devices
33
============================
44

55
The following section aims to provide users with the requisite information for configuring
6-
hardware devices. A high-level overview of the supported devices can be found :doc:`here <../hardware_overview>`.
6+
hardware devices. A high-level overview of the supported devices can be found
7+
:doc:`here <../hardware_overview>`. Additional devices are available by installing the
8+
**navigate-mmcore-plugin**. To learn more, please visit the **navigate-mmcore-plugin**
9+
`documentation <https://thedeanlab.github.io/navigate-mmcore-plugin/>`_.
710

811

912
Data Acquisition Card
240 KB
Loading

0 commit comments

Comments
 (0)