class_docstr: Iterative estimation of row and column centering/scaling
  using the algorithm from page 31 of:
      Matrix Completion and Low-Rank SVD via Fast Alternating Least Squares
code: def clamp(self, X, inplace=False):
      if not inplace:
          X = X.copy()
      if self.min_value is not None:
          X[X < self.min_value] = self.min_value
      if self.max_value is not None:
          X[X > self.max_value] = self.max_value
      return X
  
imports: import numpy
label_desc: Use image node_id 9 for calling the BiScaler obj's underlying member method code with example usage: obj.clamp(X, inplace) and returns: X