28 lines
883 B
Python
28 lines
883 B
Python
import numpy
|
|
from cam_server.pipeline.data_processing import functions, processor
|
|
from logging import getLogger
|
|
|
|
_logger = getLogger(__name__)
|
|
image_buffer = []
|
|
|
|
def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata=None):
|
|
global image_buffer
|
|
averaging = parameters.get("late_averaging")
|
|
if averaging:
|
|
while len(image_buffer) >= averaging:
|
|
image_buffer.pop(0)
|
|
image_buffer.append(image)
|
|
try:
|
|
frames = numpy.array(image_buffer)
|
|
image = numpy.average(frames, 0)*averaging
|
|
#_logger.info("Averaged: %d" % len(image_buffer))
|
|
except:
|
|
# Different shapes
|
|
image_buffer = []
|
|
return None
|
|
else:
|
|
image_buffer = []
|
|
|
|
ret = processor.process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata)
|
|
return ret
|