code: def bootstrap_noise(data, func, n=10000, std=1, symmetric=True):
      
      boot_dist = []
      arr = N.zeros(data.shape)
      for i in range(n):
          if symmetric:
              # Noise on all three axes
              arr = N.random.randn(*data.shape)*std
          else:
              # Only z-coordinate noise
              arr[:,-1] = N.random.randn(data.shape[0])*std
          boot_dist.append(func(data+arr))
      return N.array(boot_dist)
docs: Bootstrap by adding noise