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

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