@@ -50,36 +50,30 @@ def __init__(self, dev_id = 0, **kwargs):
5050 self .Roi = ROI (None ,None ,None ,None )
5151
5252 def _fetch_data (self ):
53+ if not self ._acquiring :
54+ return
55+
5356 trigger_type = self .handle .get_trigger_source ()
54- if trigger_type == 'XI_TRG_SOFTWARE' :
55- if self ._acquiring and self ._triggered :
56- try :
57- self .handle .get_image (self .img )
58- data = self .img .get_image_data_numpy ()
59- _logger .info ("Fetched imaged with dims %s and size %s." % (data .shape , data .size ))
60- _logger .info ('Sending image' )
61- self ._triggered = False
62- return self .img .get_image_data_numpy ()
63- except Exception as err :
64- if getattr (err , 'status' , None ) == 10 :
65- # This is a Timeout error
66- return None
67- else :
68- raise err
69- elif trigger_type == 'XI_TRG_EDGE_RISING' :
70- if self ._acquiring :
71- try :
72- self .handle .get_image (self .img )
73- data = self .img .get_image_data_numpy ()
74- _logger .info ("Fetched imaged with dims %s and size %s." % (data .shape , data .size ))
75- _logger .info ('Sending image' )
76- return self .img .get_image_data_numpy ()
77- except Exception as err :
78- if getattr (err , 'status' , None ) == 10 :
79- #This is a Timeout error
80- return None
81- else :
82- raise err
57+ if trigger_type == 'XI_TRG_SOFTWARE' and not self ._triggered :
58+ return
59+ elif trigger_type != 'XI_TRG_EDGE_RISING' :
60+ raise Exception ('unhandled trigger type %s' % trigger_type )
61+
62+ try :
63+ self .handle .get_image (self .img )
64+ data = self .img .get_image_data_numpy ()
65+ _logger .info ("Fetched imaged with dims %s and size %s." ,
66+ data .shape , data .size )
67+ _logger .info ('Sending image' )
68+ if trigger_type == 'XI_TRG_SOFTWARE' :
69+ self ._triggered = False
70+ return self .img .get_image_data_numpy ()
71+ except Exception as err :
72+ if getattr (err , 'status' , None ) == 10 :
73+ # This is a Timeout error
74+ return
75+ else :
76+ raise err
8377
8478 def abort (self ):
8579 _logger .info ('Disabling acquisition.' )
@@ -112,23 +106,6 @@ def initialize(self):
112106
113107 self .img = xiapi .Image ()
114108
115- def get_current_image (self ):
116- _logger .info ('In get_current_image' )
117- try :
118- if self ._acquiring and self ._triggered :
119- self .handle .get_image (self .img )
120- data = self .img .get_image_data_numpy ()
121- _logger .info ("Fetched imaged with dims %s and size %s." % (data .shape , data .size ))
122- _logger .info ('Sending image' )
123- self ._triggered = False
124- return data
125- except Exception as err :
126- if getattr (err , 'status' , None ) == 10 :
127- # This is a Timeout error
128- return None
129- else :
130- raise err
131-
132109 def make_safe (self ):
133110 if self ._acquiring :
134111 self .abort ()
0 commit comments