def do_async_inference(self, input_image: numpy.ndarray):
        """Do a single inference synchronously.

        Don't mix this with calls to get_async_inference_result. Use one or the other. It is assumed
        that the input queue is empty when this is called which will be the case if this isn't mixed
        with calls to get_async_inference_result.

        :param input_image: the image on which to run the inference - it can be any size.
        :return: filtered results which is a list of lists. The inner lists contain the digit and its probability and
        are sorted from most probable to least probable.
        """
        self.start_async_inference(input_image)
        results = self.get_async_inference_result()

        return results
Do a single inference synchronously.

        Don't mix this with calls to get_async_inference_result. Use one or the other. It is assumed
        that the input queue is empty when this is called which will be the case if this isn't mixed
        with calls to get_async_inference_result.

        :param input_image: the image on which to run the inference - it can be any size.
        :return: filtered results which is a list of lists. The inner lists contain the digit and its probability and
        are sorted from most probable to least probable.
        
apps/mnist_calc/mnist_processor.py