class_docstr: Maintains cumulative moving min and max of incoming numpy arrays along axis 0.
  
  Output shapes:
  scalar -> scalar
  vector -> scalar
  matrix -> vector
  :param initial_min: Initial (known) minimum value.
  :param initial_max: Initial (known) maximum value.
class_docstr_tok: ["Maintains","cumulative","moving","min","and","max","of","incoming","numpy","arrays","along","axis","0",".","Output","shapes",":","scalar","-",">","scalar","vector","-",">","scalar","matrix","-",">","vector",":","param","initial_min",":","Initial","(","known",")","minimum","value",".",":","param","initial_max",":","Initial","(","known",")","maximum","value","."]
code: def __init__(
      self,
      initial_min: Optional[float] = None,
      initial_max: Optional[float] = None,
  ):
      self.min = (
          initial_min
          if initial_min is not None
          else np.finfo(np.float32).max
      )
      self.max = (
          initial_max
          if initial_max is not None
          else np.finfo(np.float32).min
      )
  
file_path: maze/maze/core/utils/stats_utils.py
imports: from typing import Optional, Union
  import numpy
label_desc: Use image node_id 1 to create a new CumulativeMovingMinMax object from inherited base classes: object with example: obj = CumulativeMovingMinMax(initial_min, initial_max)