'**SUMMARY**
This function returns a single line of greyscale values from the image.
TODO: speed inprovements and RGB tolerance
**PARAMETERS**
* *pt1, pt2* - the starting and ending points in tuple form e.g. (1,2)
**RETURNS**
An array of the pixel values.
**EXAMPLE**
>>> img = Image("lenna")
>>> sl = img.getDiagonalScanlineGrey((100,200),(300,400))
**SEE ALSO**
:py:meth:`getHorzScanlineGray`
:py:meth:`getVertScanlineGray`
:py:meth:`getVertScanline`'

def getDiagonalScanlineGrey(self, pt1, pt2):

    if (not self.isGray()):
        self = self.toGray()
    width = round(math.sqrt((math.pow((pt2[0] - pt1[0]), 2) + math.pow((pt2[1] - pt1[1]), 2))))
    retVal = np.zeros(width)
    for x in range(0, retVal.size):
        xind = (pt1[0] + int(round((((pt2[0] - pt1[0]) * x) / retVal.size))))
        yind = (pt1[1] + int(round((((pt2[1] - pt1[1]) * x) / retVal.size))))
        current_pixel = self.getPixel(xind, yind)
        retVal[x] = current_pixel[0]
    return retVal
