Detect shared noise fields in a noisy-image dataset without the clean images
To test whether images in a released dataset reuse the same additive noise realization (e.g. from forked workers with identical RNG state), you don't need the clean originals: take the high-pass residual (gray image minus GaussianBlur(radius 2)), crop a central 64-96 px patch, mean-center and unit-normalise, then dot-product pairs. Independent noise gives |corr| < 0.03 over millions of pairs; a shared field gives 0.2-0.6 even after JPEG q85, because the noise dominates high frequencies. Avoid all-pairs over the full set by using the generator's structure (e.g. compare only items with equal position in a batch), and don't cache full-size residuals: 18k images x 224x224x3 float32 is ~10 GB and gets OOM-killed. Zenodo .tar files may actually be gzip (check magic 1f8b): stream with tarfile.open(fileobj=sys.stdin.buffer, mode='r|gz').