Learned Observation Selection with UNet–Transformer Denoising for Digital Inline Holography — Synthetic Hologram Dataset
Description
This dataset supports the manuscript “Learned Observation Selection with UNet–Transformer Denoising for Digital Inline Holography.” It consists of synthetically generated digital inline hologram data stored in an HDF5 file. The observations were generated computationally using a numerical optical propagation model. We generated 90,000 complex-valued grayscale objects on 96 × 96 pixel grids. Each object consisted of a randomly positioned and rotated circle, ellipse, or triangle. Inside the object support, the amplitude varied spatially through smooth random variations, directional gradients, and a weak checkerboard pattern; the sample-dependent minimum nonzero amplitude was drawn uniformly from 0.10 to 0.30. Four phase profiles were used: constant, horizontal gradient, vertical gradient, and radial variation. The maximum phase excursion was sampled uniformly from 0.15π/2 to π/2 radians. Clean inline holograms were simulated using Fourier-domain angular-spectrum propagation, with wavelength 0.65 µm, transverse sampling interval 0.325 µm, and object-to-sensor distance 9.75 µm. The propagated object wave was combined with a scalar reference component derived from its zero-frequency Fourier coefficient; the squared magnitude of the combined field gave the hologram intensity. Each clean hologram was min–max normalized to [0, 1]. For every clean hologram, nine noisy candidate observations were created by independently adding zero-mean Gaussian noise at target signal-to-noise ratios of 0, 4, 8, 12, 16, 20, 24, 28, and 32 dB. The noise variance for each target SNR s was set to P_H / 10^(s/10), where P_H is the mean squared intensity of the normalized clean hologram. Noisy pixel intensities were clipped to [0, 1]. The resulting data were organized into an object-wise training/validation/test split of 75,600 / 13,950 / 450 objects, respectively, as described in the manuscript.
Files
Steps to reproduce
1. Create 90,000 random 96 × 96 complex-valued objects following the amplitude, shape, and phase distributions above. 2. Propagate each complex object numerically using the angular-spectrum transfer function at the stated wavelength, sampling interval, and propagation distance. 3. Add the scalar reference field, calculate the intensity hologram, and normalize it to [0, 1]. 4. Generate nine independent Gaussian-noise realizations per clean hologram using the target-SNR variance formula, and clip the results to [0, 1]. 5. Partition objects, rather than individual observations, into training, validation, and held-out test sets using the specified sizes; save the resulting data as HDF5 (.h5). The workflow can be implemented with Python, a numerical array/FFT package, and an HDF5 library such as h5py.