Files
x04sa-es3/script/device/Image.py
2018-10-30 16:59:55 +01:00

46 lines
1.7 KiB
Python

from shutil import copyfile
class Image(DeviceBase, Readable):
def __init__(self, name, pixel):
DeviceBase.__init__(self, name)
self.pixel = pixel
self.roi = [0,0, self.pixel.PIX_XDIM-1, self.pixel.PIX_XDIM]
self.broi = [0,0, self.pixel.PIX_XDIM-1, self.pixel.PIX_YDIM]
def get_int(self, threshold1= None, threshold2= None, threshold3= None, threshold4= None, filename = None):
if threshold1 is None:
threshold1 = self.pixel.PIX_THRESH1
if threshold2 is None:
threshold2 = self.pixel.PIX_THRESH2
if threshold3 is None:
threshold3 = self.pixel.PIX_THRESH3
if threshold4 is None:
threshold4 = self.pixel.PIX_THRESH4
if filename is None:
filename = self.pixel.get_image_filename()
tmp_file = self.pixel.image_root_folder + "tmp/spec_image_info.dat"
copyfile(filename, tmp_file)
return img_get_int(tmp_file, threshold1, threshold2, threshold3, threshold4, \
self.pixel.IMAGE_HEADER_LENGTH, self.pixel.PIX_XDIM, self.pixel.PIX_YDIM,self.pixel.PIX_COLOR_DEPTH, \
self.roi[0], self.roi[1], self.roi[2], self.roi[3], self.broi[0], self.broi[1], self.broi[2], self.broi[3])
print ret
return I_sum
def read(self):
(I_sum, area_I, thresh1_count, thresh2_count, thresh3_count, thresh4_count, I_sum_bgr, area_bgr) = self.get_int()
ret = I_sum
if area_bgr > 0:
ret = ret - ((I_sum_bgr / area_bgr) * area_I)
return ret
add_device( Image("image", pixel), True)