Script execution
This commit is contained in:
+27
-24
@@ -1,4 +1,5 @@
|
||||
from shutil import copyfile
|
||||
import threading
|
||||
|
||||
|
||||
class ImageIntensity(DeviceBase, Readable):
|
||||
@@ -62,7 +63,8 @@ class Image(DeviceBase, Readable):
|
||||
self.corrected_intensity = ImageCorrectedIntensity(self)
|
||||
self.last_filename = None
|
||||
self.last_image = None
|
||||
self.current_reading = None
|
||||
#self.current_reading = None
|
||||
self.image_lock = threading.Lock()
|
||||
|
||||
|
||||
def get_int(self, filename = None):
|
||||
@@ -98,30 +100,31 @@ class Image(DeviceBase, Readable):
|
||||
filename = self.pixel.get_full_path() + filename
|
||||
filename = str(filename)
|
||||
|
||||
print filename == self.last_filename, filename == self.current_reading #, filename, self.last_filename, self.current_reading
|
||||
if filename == self.last_filename:
|
||||
return self.last_image
|
||||
elif filename == self.current_reading:
|
||||
print "Current"
|
||||
while self.current_reading is not None:
|
||||
time.sleep(0.005)
|
||||
return self.last_image
|
||||
self.current_reading = filename
|
||||
print "Reading image : " + filename
|
||||
self.image_lock.acquire()
|
||||
try:
|
||||
ret = img_read(filename, self.pixel.image_header_length, self.pixel.PIX_XDIM, self.pixel.PIX_YDIM,self.pixel.PIX_COLOR_DEPTH)
|
||||
except:
|
||||
log("Error reading data file: " + str(filename) + " - " + str(sys.exc_info()[1]), False)
|
||||
self.last_filename = None
|
||||
self.last_image = None
|
||||
self.current_reading = None
|
||||
return None
|
||||
ret = Convert.reshape(ret, self.pixel.PIX_YDIM, self.pixel.PIX_XDIM)
|
||||
self.last_filename = filename
|
||||
self.last_image = ret
|
||||
self.current_reading = None
|
||||
return ret
|
||||
|
||||
if filename == self.last_filename:
|
||||
return self.last_image
|
||||
#elif filename == self.current_reading:
|
||||
# while self.current_reading is not None:
|
||||
# time.sleep(0.005)
|
||||
# return self.last_image
|
||||
#self.current_reading = filename
|
||||
print "Reading image : " + filename
|
||||
try:
|
||||
ret = img_read(filename, self.pixel.image_header_length, self.pixel.PIX_XDIM, self.pixel.PIX_YDIM,self.pixel.PIX_COLOR_DEPTH)
|
||||
except:
|
||||
log("Error reading data file: " + str(filename) + " - " + str(sys.exc_info()[1]), False)
|
||||
self.last_filename = None
|
||||
self.last_image = None
|
||||
#self.current_reading = None
|
||||
return None
|
||||
ret = Convert.reshape(ret, self.pixel.PIX_YDIM, self.pixel.PIX_XDIM)
|
||||
self.last_filename = filename
|
||||
self.last_image = ret
|
||||
#self.current_reading = None
|
||||
return ret
|
||||
finally:
|
||||
self.lock.release
|
||||
def read(self):
|
||||
return self.get_int()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user