class_docstr: Normalizes observations to have zero mean and standard deviation one.
  
  The strategy first subtracts the observation mean followed by a division with the standard deviation.
  Depending on the original distribution of the input observations this yields a standard Normal.
docstr: Implementation of
  :class:`~maze.core.wrappers.observation_normalization.normalization_strategies.base.ObservationNormalizationStrategy`
  interface.
docstr_tok: ["Implementation","of",":","class",":","`","~maze.core.wrappers.observation_normalization.normalization_strategies.base.ObservationNormalizationStrategy","`","interface","."]
code: def estimate_stats(
      self, observations: List[np.ndarray]
  ) -> StatisticsType:
      """Implementation of
      :class:`~maze.core.wrappers.observation_normalization.normalization_strategies.base.ObservationNormalizationStrategy`
      interface.
      """
  
      # compute statistics
      array = np.vstack(observations)
      keepdims = False if self._axis is None else True
      mean: np.ndarray = np.mean(
          array, axis=self._axis, keepdims=keepdims
      )
      std: np.ndarray = np.std(
          array, axis=self._axis, keepdims=keepdims
      )
  
      if keepdims:
          mean = mean[0]
          std = std[0]
  
      if not isinstance(std, np.ndarray):
          mean = np.asarray(mean, np.float32)
          std = np.asarray(std, np.float32)
  
      # fix standard deviations to avoid division by zero
      std[std == 0] = 1.0
  
      statistics = {"mean": mean, "std": std}
  
      return statistics
  
file_path: maze/maze/core/wrappers/observation_normalization/normalization_strategies/mean_zero_std_one.py
imports: from typing import List
  import numpy
  from maze.core.annotations import override
  from maze.core.wrappers.observation_normalization.normalization_strategies.base import ObservationNormalizationStrategy, StatisticsType
label_desc: Use image node_id 1 for calling the MeanZeroStdOneObservationNormalizationStrategy obj's underlying member method code with example usage: obj.estimate_stats(observations) and returns: statistics