def _analyze(self):
        """(Re)start analysis of the game on screen."""
        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.')