deepinterpolation-app / scripts /make_example.py
katospiegel's picture
Deploy deepinterpolation-app as an imaging-plaza Gradio Space (SDSC)
8f6f117 verified
Raw
History Blame Contribute Delete
1.05 kB
"""Bake a synthetic noisy calcium movie + clean ground-truth sidecar.
The noisy movie (Poisson shot + Gaussian read noise) is the /process input; the
clean movie is saved as example_clean.npy so PSNR/SSIM can be computed. No
external data dependence — this doubles as the smoke/validator input.
"""
from __future__ import annotations
import sys
import numpy as np
import tifffile
from core.io import APP_TMP_DIR, register_protected
from core.synth import add_noise, clean_movie
def main() -> int:
clean = clean_movie(T=120, H=96, W=96, n_neurons=10, fps=10.0, seed=7)
noisy = add_noise(clean, gain=0.15, read_sigma=180.0, seed=7)
out = APP_TMP_DIR / "example.tif"
tifffile.imwrite(out, noisy.astype("float32"))
np.save(APP_TMP_DIR / "example_clean.npy", clean.astype("float32")) # GT sidecar
register_protected(out)
register_protected(APP_TMP_DIR / "example_clean.npy")
print(f"wrote {out} shape={noisy.shape} (+ example_clean.npy sidecar)")
return 0
if __name__ == "__main__":
sys.exit(main())