Files
camserver_sf/configuration/user_scripts/spectral_brightness_test.py
2024-01-17 15:16:20 +01:00

39 lines
946 B
Python

import time
from collections import defaultdict, deque
from functools import partial
from logging import getLogger
from threading import Thread
import epics
import numpy as np
from cam_server.utils import create_thread_pvs, epics_lock
_logger = getLogger(__name__)
initialized = False
output_pv = None
sent_pid = -1
def initialize(params):
global initialized
global output_pvname
epics.ca.clear_cache()
output_pvname = params["out_PV"]
initialized = True
def process(data, pulse_id, timestamp, params):
if not initialized:
initialize(params)
spectral_brightness = data[params["intensity"]]/data[params["FWHM"]]
output = {}
output["Intensity"] = data[params["intensity"]]
output["FWHM"] = data[params["FWHM"]]
output["spectral_brightness"] = spectral_brightness
# try update pv
output_pv = epics.PV(params["out_PV"])
output_pv.put(str(spectral_brightness))
return output