docstr: Stack all available buffers into one for human consumption
docstr_tok: ["Stack","all","available","buffers","into","one","for","human","consumption"]
code: def __build_human_render_image(self):
      """Stack all available buffers into one for human consumption"""
      game_state = self.game.get_state()
      valid_buffers = game_state is not None
  
      if not valid_buffers:
          # Return a blank image
          num_enabled_buffers = (
              1 + self.depth + self.labels + self.automap
          )
          img = np.zeros(
              (
                  self.game.get_screen_height(),
                  self.game.get_screen_width() * num_enabled_buffers,
                  3,
              ),
              dtype=np.uint8,
          )
          return img
  
      image_list = [game_state.screen_buffer]
      if self.channels == 1:
          image_list = [
              np.repeat(
                  game_state.screen_buffer[..., None], repeats=3, axis=2
              )
          ]
  
      if self.depth:
          image_list.append(
              np.repeat(
                  game_state.depth_buffer[..., None], repeats=3, axis=2
              )
          )
  
      if self.labels:
          # Give each label a fixed color.
          # We need to connect each pixel in labels_buffer to the corresponding
          # id via `value``
          labels_rgb = np.zeros_like(image_list[0])
          labels_buffer = game_state.labels_buffer
          for label in game_state.labels:
              color = LABEL_COLORS[label.object_id % 256]
              labels_rgb[labels_buffer == label.value] = color
          image_list.append(labels_rgb)
  
      if self.automap:
          automap_buffer = game_state.automap_buffer
          if self.channels == 1:
              automap_buffer = np.repeat(
                  automap_buffer[..., None], repeats=3, axis=2
              )
          image_list.append(automap_buffer)
  
      return np.concatenate(image_list, axis=1)
  
imports: import itertools
  import warnings
  from typing import Optional
  import gymnasium
  import numpy
  import pygame
  from gymnasium.utils import EzPickle
  import vizdoom.vizdoom
label_desc: Use image node_id 8 for calling the VizdoomEnv obj's underlying member method code with example usage: obj.__build_human_render_image() and returns: np, img