Files
camserver_sf/configuration/user_scripts/maloja_spectrometers.py
2021-09-30 15:29:48 +02:00

45 lines
1.3 KiB
Python

import json
def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, image_background_array=None):
res = {}
camera_name = parameters["camera_name"]
roi_signal = parameters.get("roi_signal")
roi_background = parameters.get("roi_background")
project_axis = parameters.get("project_axis", 0)
processing_parameters = {
"roi_signal": roi_signal,
"roi_background": roi_background,
"project_axis": project_axis,
# "input_params": len(parameters.get("background_data", [123]))
}
processing_parameters = json.dumps(processing_parameters)
res[camera_name + ".processing_parameters"] = processing_parameters
if roi_signal:
projection_signal = get_roi_projection(image, roi_signal, project_axis)
res[camera_name + ".projection_signal"] = projection_signal
if roi_background:
projection_background = get_roi_projection(image, roi_background, project_axis)
res[camera_name + ".projection_background"] = projection_background
# res["TEST-SPEC"] = 123 #list(parameters)
return res
def get_roi_projection(image, roi, axis):
x_start, x_stop, y_start, y_stop = roi
cropped = image[x_start:x_stop, y_start:y_stop]
project = cropped.mean(axis=axis)
return project