various fixes

This commit is contained in:
2022-09-16 12:25:36 +02:00
parent 6a7b5ab91e
commit ba4f5feecb
7 changed files with 141 additions and 87 deletions

View File

@@ -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: