I have a monochrome image whose size is greater than 10 gigabytes (50000x50000). This image has a lot of "holes", pixels with NULL value.
Conventionally, I know how to use python griddata function to read in the whole image and fill the pixels with NULL value with different interpolation method. But the problem now is that I can't process the whole image at once due to the size of this image, which will give me an memory exhausted error.
So, now my idea is that I could divide this image into 2500 (50x50) windows and I run the interpolation method on each window. But the obvious problem is that for each window, the NULL pixel is interpolated with neighboring pixels only in the same window, which is against the nature of an image, because the pixel on the edge of a window can not be interpolated by the pixel in neighboring windows. In order to solve this problem, overlapping the windows may be a solution. I can only think of this solution. Does anyone know if there is an efficient and intact method to interpolate a very large image.