Characterizing highly irregular 2D pore images requires special image analysis methods. An opening operation with a small circular structuring element has been used to remove small pores and small features of large pores from an image. Through a series of openings with increasingly larger structuring elements, all pore pixels are gradually removed according to the sizes of associated features. A pore size distribution is obtained as a result of this process. However, the conventional opening algorithm is very slow in performing this size analysis due to its iterative character. A direct approach algorithm has been developed to map size values for all pore pixels without iterative steps. There are three major steps in this algorithm. First, a distance map is constructed in which each pixel has a value equal to the distance between the pixel and the nearest pore boundary. Second, local maxima on the distance map are found. Finally, for each local maximum, a circular area is scanned around the pixel with a radius equal to the pixel value and all pixels within the circle are assigned the same value (as the local maximum). One pixel may be assigned several values from different local maxima; in such a case, the largest value should be chosen. The result is a size map and the histogram of this size map represents the pore size distribution. This analysis can be applied to any binary image.