code: def _analyze(self):
          
          self._analyze_start_time = time.time()
          self._clear_ui()
          try:
              self._analysis_process.terminate()  # clear anything existing
          except AttributeError:  # there wasn't actually a process
              pass
          # self._analysis_process = _AsyncReadyFunction(self._analysis_function,
          #                                              None, 'async_results_q')
          out_q = mp.Queue()
          self._analysis_process = mp.Process(target=self._analysis_function,
                                              kwargs={'async_results_q': out_q})
          setattr(self._analysis_process, 'out_q', out_q)
          self._analysis_process.start()
          self._base.after(self._POLL_PERIOD_MILLISECONDS,
                           self._scheduled_check_for_summaries)
          self._update_notification('Analyzing the on-screen game.')
docs: (Re)start analysis of the game on screen.