various fixes
This commit is contained in:
37
camera.py
37
camera.py
@@ -109,35 +109,28 @@ class epics_cam(object):
|
||||
def get_image(self):
|
||||
_log.warning('this can be very slow. Use callbacks if possible.')
|
||||
try:
|
||||
pv_pic=self.getPv('FPICTURE')
|
||||
except AttributeError:
|
||||
imgSeq=self._sim['imgSeq']
|
||||
except AttributeError: pass
|
||||
else:
|
||||
imgSeq=self._sim['imgSeq']
|
||||
idx=self._sim['imgIdx']
|
||||
self._sim['imgIdx']=(idx + 1) % imgSeq.shape[0]
|
||||
#_log.debug('simulated idx:{}'.format(idx))
|
||||
self.pic=pic=imgSeq[idx]
|
||||
self._pic=pic=imgSeq[idx]
|
||||
return pic
|
||||
try:
|
||||
sz=self._sz
|
||||
pic = pv_pic.get(count=sz[0]*sz[1], as_numpy=True).reshape(sz[::-1])
|
||||
epics_cam.set_fiducial(pic,255)
|
||||
except AttributeError as e:
|
||||
_log.warning("failed to fetch image")
|
||||
else:
|
||||
if pic.dtype==np.int16:
|
||||
pic.dtype=np.uint16
|
||||
try:
|
||||
trf=self._transformation
|
||||
except AttributeError as e:
|
||||
pass
|
||||
else:
|
||||
if trf[1,0]==0:
|
||||
pic=pic[::trf[0,0],::trf[1,1]]
|
||||
else:
|
||||
pic=pic[::trf[0,1],::trf[1,0]].T
|
||||
|
||||
self.pic=pic
|
||||
pic=self._pic
|
||||
return pic
|
||||
except AttributeError as e:
|
||||
pass
|
||||
pv_pic=self.getPv('FPICTURE')
|
||||
sz=self._sz
|
||||
pic = pv_pic.get(count=sz[0]*sz[1], as_numpy=True).reshape(sz[::-1])
|
||||
epics_cam.set_fiducial(pic,255)
|
||||
if pic.dtype==np.int16:
|
||||
pic.dtype=np.uint16
|
||||
self._pic=pic
|
||||
return pic
|
||||
|
||||
def stop(self,v=CameraStatus.IDLE):
|
||||
if 'pic' in self._pv:
|
||||
|
||||
Reference in New Issue
Block a user