added diagonal sobel operator