def _get_acq_streams(self): """ Return the streams that should be used for acquisition return: acq_st (list of streams): the streams to be acquired at every repetition """ if not self._dlg: return [] live_st = (self._dlg.view.getStreams() + self._dlg.hidden_view.getStreams()) logging.debug("View has %d streams", len(live_st)) # On the SPARC, the acquisition streams are not the same as the live # streams. On the SECOM/DELPHI, they are the same (for now) tab_data = self.main_app.main_data.tab.value.tab_data_model if hasattr(tab_data, "acquisitionStreams"): acq_st = tab_data.acquisitionStreams # Discard the acquisition streams which are not visible ss = [] for acs in acq_st: if isinstance(acs, stream.MultipleDetectorStream): if any(subs in live_st for subs in acs.streams): ss.append(acs) break elif acs in live_st: ss.append(acs) else: # No special acquisition streams ss = live_st self._acq_streams = acq.foldStreams(ss, self._acq_streams) return self._acq_streams
def get_acq_streams(self): """ return (list of Streams): the streams to be acquired """ # Only acquire the streams which are displayed streams = self._view.getStreams() + self._hidden_view.getStreams() # Add the overlay stream if requested, and folds all the streams if streams and self.chkbox_fine_align.Value: streams.append(self._ovrl_stream) self._acq_streams = acq.foldStreams(streams, self._acq_streams) return self._acq_streams