I am looking for a technique or an algorithm that outputs a unique number/vector for each pixel of the image. I want to give the pixel a perspective so the neighboring pixels have more visibility and the farther away pixel have less visibility. Imagine if someone walks on the pixels, he sees different patterns, and I want to get such pattern for each pixel. I tried to think of the 2D image as a 3D image stretched on a sphere, but then I would miss the neighboring pixels, and I also thought of planar convolution, but I had no luck, or very intuitive method. I hope that I could explain what I am looking for. Please ask your questions so I could make it more clear.