Script execution
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user