Files
maloja/cambkg.py

46 lines
959 B
Python
Executable File

#!/usr/bin/env python
import base64
import numpy as np
import h5py
from datetime import datetime, timedelta
from cam_server_client import PipelineClient
start = datetime.now() - timedelta(days=10)
cam = "SATES21-CAMS-PATT1"
pc = PipelineClient("http://sf-daqsync-01:8889")
bkg_names = pc.get_backgrounds(cam)
bkg_names.sort()
#fmt = "20221209_220537_978799"
fmt = "%Y%m%d_%H%M%S_%f"
N = len(cam) + 1
bkgs = {}
for bn in bkg_names:
ts = bn[N:]
dt = datetime.strptime(ts, fmt)
if dt >= start:
res = pc.get_background_image_bytes(bn)
bytes = res["bytes"]
dtype = res["dtype"]
shape = res["shape"]
bytes = base64.b64decode(bytes.encode())
array = np.frombuffer(bytes, dtype=dtype)
array.shape = shape
bkgs[ts] = array
print(array.shape, array[0, :3])
break
with h5py.File("bkgs.h5", "w") as f:
for ts, dat in bkgs.items():
f[f"{cam}/{ts}"] = dat