def report(instance: "DebugInfo", adv_object: AdversarialObject, image: np.ndarray) -> None:
        """
        Log info and save image in the preset directory, based on the :instance.

        :param instance: DebugInfo object.
        :param adv_object: Object that will be printed out.
        :param image: Image to save.
        """
        if instance.logger is not None:
            instance.log(adv_object)
        if instance.artifacts_directory is not None:
            instance.save_image(image)

        Log info and save image in the preset directory, based on the :instance.

        :param instance: DebugInfo object.
        :param adv_object: Object that will be printed out.
        :param image: Image to save.
        
art/attacks/evasion/laser_attack/utils.py