Script execution

This commit is contained in:
sfop
2017-05-29 11:29:02 +02:00
parent de4cfd46de
commit 157979283d
+27 -13
View File
@@ -6,6 +6,7 @@ import java.awt.Color as Color
import random
import ch.psi.pshell.imaging.ImageListener as ImageListener
from operator import add, mul, sub, truediv
from ch.psi.pshell.imaging.Utils import *
def arrmul(a, b):
"""Multiply 2 series of the same size.
@@ -127,25 +128,27 @@ class ImageStats(DeviceBase):
self.num_images = 5
self.initialize()
class SourceListener (ImageListener):
def __init__(self, dev):
self.dev=dev
def onImage(self, origin, image, data):
self.dev.doUpdate()
def onError(self, origin, ex):
self.dev.com_x_samples, self.dev.com_y_samples = [], []
self.rms_x_samples, self.rms_y_samples = [], []
self.listener = SourceListener(self)
self.source.addListener(self.listener)
#class SourceListener (ImageListener):
# def __init__(self, dev):
# self.dev=dev
# def onImage(self, origin, image, data):
# self.dev.doUpdate()
# def onError(self, origin, ex):
# self.dev.com_x_samples, self.dev.com_y_samples = [], []
# self.rms_x_samples, self.rms_y_samples = [], []
#self.listener = SourceListener(self)
#self.source.addListener(self.listener)
def doUpdate(self):
print "Do update"
#print "Do update"
self.com_x_samples, self.com_y_samples = [], []
self.rms_x_samples, self.rms_y_samples = [], []
for i in range(self.num_images):
if type(self.source) is not ch.psi.pshell.imaging.FileSource:
self.source.waitNext(5000)
#time.sleep(0.2)
#print "Ok"
#centroid = get_centroid(self.source)
#print "cent ", centroid
#if centroid is not None:
@@ -165,13 +168,19 @@ class ImageStats(DeviceBase):
def enableBackground(self, value):
self.bg_en = value
class BackgroundSubtractor(Filter):
def process(self, image, data):
image = sobel(image)
return image
self.source.filter = BackgroundSubtractor()
def captureBackground(self, images):
self.doInitialize()
def doClose(self):
print "close"
self.source.removeListener(self.listener)
self.source.filter = None
#self.source.removeListener(self.listener)
def start(self):
pass
@@ -189,6 +198,8 @@ def get_simulated_source(img):
return simulated_source
if __name__ == "__builtin__":
#simulated_source = get_simulated_source(image)
#print get_centroid(simulated_source)
@@ -203,4 +214,7 @@ if __name__ == "__builtin__":
image_stats.setNumberOfImages(3)
sensors = [image_stats.com_x_mean, image_stats.com_y_mean, image_stats.com_x_stdev, image_stats.com_y_stdev]
tscan(sensors, 10, 0.1)
def before_sample():
image_stats.update()
tscan(sensors, 10, 1.0, before_read = before_sample)