code: def threshold_gradients(self, grad_thresh):
          
          data = np.copy(self._data)
          gx, gy = self.gradients()
          gradients = np.zeros([gx.shape[0], gx.shape[1], 2])
          gradients[:, :, 0] = gx
          gradients[:, :, 1] = gy
          gradient_mags = np.linalg.norm(gradients, axis=2)
          ind = np.where(gradient_mags > grad_thresh)
          data[ind[0], ind[1]] = 0.0
          return DepthImage(data, self._frame)
docs: Creates a new DepthImage by zeroing out all depths
          where the magnitude of the gradient at that point is
          greater than grad_thresh.
  
          Parameters
          ----------
          grad_thresh : float
              A threshold for the gradient magnitude.
  
          Returns
          -------
          :obj:`DepthImage`
              A new DepthImage created from the thresholding operation.