code: def transform_non_affine(self, x, mask_out_of_range=True):
          
          # Mask out-of-range values
          if mask_out_of_range:
              x_masked = np.ma.masked_where((x < self._xmin) | (x > self._xmax),
                                            x)
          else:
              x_masked = x
          # Calculate s and return
          return np.interp(x_masked, self._x_range, self._s_range)
docs: Transform a Nx1 numpy array.
  
          Parameters
          ----------
          x : array
              Data to be transformed.
          mask_out_of_range : bool, optional
              Whether to mask input values out of range.
  
          Return
          ------
          array or masked array
              Transformed data.