class_docstr: An un-squeeze pre-processor.
  
  :param observation_space: The observation space to pre-process.
  :param dim: Index where to add an additional dimension.
class_docstr_tok: ["An","un-squeeze","pre-processor",".",":","param","observation_space",":","The","observation","space","to","pre-process",".",":","param","dim",":","Index","where","to","add","an","additional","dimension","."]
docstr: implementation of :class:`~maze.core.wrappers.observation_preprocessing.preprocessors.base.PreProcessor` interface
          
docstr_tok: ["implementation","of",":","class",":","`","~maze.core.wrappers.observation_preprocessing.preprocessors.base.PreProcessor","`","interface"]
code: def process(self, observation: np.ndarray) -> np.ndarray:
      """implementation of :class:`~maze.core.wrappers.observation_preprocessing.preprocessors.base.PreProcessor` interface"""
      return np.expand_dims(observation, axis=self.dim)
  
file_path: maze/maze/core/wrappers/observation_preprocessing/preprocessors/unsqueeze.py
imports: from typing import Tuple
  import numpy
  from gym import spaces
  from maze.core.wrappers.observation_preprocessing.preprocessors.base import PreProcessor
  from maze.core.annotations import override
label_desc: Use image node_id 4 for calling the UnSqueezePreProcessor obj's underlying member method code with example usage: obj.process(observation) and returns: np