Files
camserver_sls/configuration/user_scripts/sp_pipolar.py
2025-02-19 09:22:21 +01:00

32 lines
1.1 KiB
Python

import sys
import os
from emittance import calculate_emittance
from cam_server.pipeline.data_processing import functions, processor
def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata=None):
ret = processor.process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata)
camera = parameters["camera_name"]
emittance = emittance2 = float("NaN")
status = "Ok"
try:
r = calculate_emittance(image, parameters['fit'])
if r is not None:
emittance,emittance2=r
except Exception as e:
status="Error: "
exc_type, exc_obj, exc_tb = sys.exc_info()
while exc_tb is not None:
fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
status = status + fname + " line " + str(exc_tb.tb_lineno) + ": " + str(e) + " | "
exc_tb = exc_tb.tb_next
ret["emittance"] = emittance
ret["emittance2"] = emittance2
ret["emittance_status"] = str(status)
ret["y_fit_standard_deviation_orig"] = ret["y_fit_standard_deviation"]
ret["y_fit_standard_deviation"] = emittance
return ret