27 lines
1.0 KiB
Python
27 lines
1.0 KiB
Python
import numpy as np
|
|
|
|
from collections import OrderedDict
|
|
from cam_server.pipeline.data_processing import functions
|
|
from logging import getLogger
|
|
|
|
_logger = getLogger(__name__)
|
|
|
|
def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata):
|
|
ret = OrderedDict()
|
|
prefix = parameters["camera_name"]
|
|
(x_profile, y_profile) = functions.get_x_y_profile(image)
|
|
_, _, x_fit_amplitude, x_fit_mean, _, _, _ = functions.gauss_fit(x_profile, x_axis)
|
|
_, _, y_fit_amplitude, y_fit_mean, _, _, _ = functions.gauss_fit(y_profile, y_axis)
|
|
x_fwhm = functions.get_fw(x_axis,x_profile)
|
|
y_fwhm = functions.get_fw(y_axis,y_profile)
|
|
intensity = x_profile.sum()
|
|
ret[prefix+":intensity"] = intensity
|
|
ret[prefix+":x_fit_mean"] = x_fit_mean
|
|
ret[prefix+":y_fit_mean"] = y_fit_mean
|
|
ret[prefix+":x_fwhm"] = x_fwhm
|
|
ret[prefix+":y_fwhm"] = y_fwhm
|
|
ret[prefix+":x_fit_amplitude"] = x_fit_amplitude
|
|
ret[prefix+":y_fit_amplitude"] = y_fit_amplitude
|
|
ret[prefix+":xy_test"] = 42
|
|
return ret
|