Files
dev/script/transp.py
2019-09-11 15:09:52 +02:00

38 lines
1.2 KiB
Python

import json
from logging import getLogger
import numpy
from cam_server.pipeline.data_processing import functions
_logger = getLogger(__name__)
def process_image(image, timestamp, x_axis, y_axis, parameters, image_background_array=None):
# Add return values
return_value = dict()
if image_background_array is not None:
image = functions.subtract_background(image, image_background_array)
image_threshold = parameters.get("image_threshold")
if image_threshold is not None and image_threshold > 0:
functions.apply_threshold(image, image_threshold)
image_region_of_interest = parameters.get("image_region_of_interest")
if image_region_of_interest:
offset_x, size_x, offset_y, size_y = image_region_of_interest
image = functions.get_region_of_interest(image, offset_x, size_x, offset_y, size_y)
# Apply roi to geometry x_axis and y_axis
x_axis = x_axis[offset_x:offset_x + size_x]
y_axis = y_axis[offset_y:offset_y + size_y]
# Add return values
return_value["x_axis"] = x_axis
return_value["y_axis"] = y_axis
return_value["image"] = image
# Needed for config traceability.
return_value["processing_parameters"] = json.dumps(parameters)
return return_value