docs: def extract_along_line(self, pid, xy0, xy1, N=10):
          """Extract parameter values along a given line.
  
          Parameters
          ----------
          pid: int
              The parameter id to extract values from
          xy0: tuple
              A tupe with (x,y) start point coordinates
          xy1: tuple
              A tupe with (x,y) end point coordinates
          N: integer, optional
              The number of values to extract along the line (including start and
              end point)
  
          Returns
          -------
          values: numpy.ndarray (n x 1)
              data values for extracted data points
          """
          assert N >= 2
          xy0 = np.array(xy0).squeeze()
          xy1 = np.array(xy1).squeeze()
          assert xy0.size == 2
          assert xy1.size == 2
  
          # compute points
          points = [(x, y) for x, y in zip(
              np.linspace(xy0[0], xy1[0], N), np.linspace(xy0[1], xy1[1], N)
          )]
          result = self.extract_points(pid, points)
  
          results_xyv = np.hstack((
              points,
              result[:, np.newaxis]
          ))
          return results_xyv