Search code examples
image-processingmapsinterpolationdata-analysis

Creating a porosity map by interpolating between multiple overlapping grid squares


I have a binary image with black particles and white pore space. I am trying to observe the porosity variation across the image. To do this I have originally been using a square grid and measuring the porosity (ratio of black to white pixels) in each grid. I have then been uploading these values to matlab as XYZ coordinates, with X and Y being the centres of each grid and Z being the porosity value. I have then interpolated between these values to produce a porosity map.

However, when using a single square grid, the porosity map is not very representative of the binary image because the grids are coarse. However, I cannot reduce the grid size due to theoretical reasons in what I am trying to do.

However, I have found that if I overlay multiple grids, but which are shifted to the right or downwards incrementally, then I can upload these new XYZ values to matlab and interpolate between them which produces a much better porosity map.

The issue is that I can't find any reference to this method anywhere and so does anyone know if this technique is used at all or in any literature?. Also would interpolating between overlapping squares cause any issues because the porosity map produced using the overlapping squares looks good?

I have been searching the literature for what feels like an age looking for the answer to this question so I'd really appreciate any help.

enter image description here


Solution

  • Instead of using a coarse grid and interpolating between the values, I would use a sliding window (the same size as the cells your coarse grid) and compute the porosity at every position. The multigrid approach will probably produce artifacts (aliasing issues) and is difficult to interpret.