@@ -36,10 +36,77 @@ to store metadata.
3636----------------
3737
3838BigDataViewer 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
4343file format. This is a pyramidal format, necessitating the saving of both the original
4444data and down sampled versions of this data. The additional data slows down the write
4545speed. 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
0 commit comments