Department of Signal Theory and Communications University of Vigo Vigo, Spain Fax: +34-986-812-121 Phone: +34-986-812-126 julio@uvigo.es
ABSTRACT Composite systems are usually modeled as regular host matrixes with inclusions of one or several different species. From a computational point of view, this kind of representation, either in two or three dimensions, is undistinguishable from a digital image. Therefore, fundamental low level image processing techniques can be, and de facto are, applied to the study of composite systems. One of the basic tasks at the root of many studies is the identification and characterization of aggregates of matrix cells belonging to the same species. Another common necessity is the characterization of the local structure at every node in the matrix. I present novel techniques for these two tasks which are specially suited for typical problems in spatial analysis of composites: Hybrid cluster identification, an algorithm for the identification of aggregates which outperforms the best known algorithms for cluster labeling while allowing the simultaneous characterization of the aggregates, and Sthr Edge Encoding (SEE), an encoding scheme for the local configuration of matrix nodes which facilitates the implementation of discrete, grid based numerical methods, such as finite elements (FEM), finite differences (FDM), or boundary elements (BEM). I will describe the methods and show an example of the application of both techniques to the characterization of the effective response of composites using a numerical method to solve the Dirichlet problem of the potential at the boundaries of the inclusions.
Keywords: Low-level image processing, grid methods, composite systems
INTRODUCTION Image processing techniques are extensively used for the analysis of samples of composite materials, using imaging methods such as light microscopical techniques, from optical reflection microscopy and confocal laser scanning microscopy to novel techniques such raman microscopy, tomography, and microtomography, as well as non-optical microscopy techniques including electron microscopy, nuclear magnetic resonance and ultrasonics, and scanning acoustic microscopy [1]. However, image processing techniques can also be successfully used in the implementation of numerical methods for the analysis of composite systems when these are modeled with regular discrete grids, which, from a computational point of view, do not differ from digital images. Composites are often modeled as host matrixes with inclusions of one or several species, and regular lattices are used to discretize matrix and inclusions. Thus modeled, if lattice cells covering host material are interpreted as background pixels, and lattice cells covering inclusion material are interpreted as pixels of different colors (different species), the model is indistinguishable from a digital monochrome (if only one species is present) or color (if several species are present) image. As such, there is a wealth of image processing techniques that can be used to aid in analysis and simulation. One of the basic tasks is the identification and characterization of aggregates of cells belonging to the same species. This is known in image processing as object labeling or connected component labeling [2], and in statistical physics as cluster identification or labeling [3]. Another common task is the characterization of the local structure of the lattice. In this paper I present novel techniques for these two tasks which are specially suited for typical problems in spatial analysis of composites. Hybrid cluster identification [4] is an algorithm for the identification of aggregates which outperforms the best known algorithms while allowing the simultaneous characterization of aggregates. Hybrid cluster identification combines traditional recursive labeling [5][2] with iterative scanning, keeping the advantages of recursive and two-pass iterative methods while minimizing their drawbacks: The risk of a stack overflow, and the necessity of a second pass and additional data structures, respectively. Sthr Edge Encoding (SEE) [6][7] is an efficient encoding scheme for the local configuration of lattice nodes which facilitates the implementation of discrete, grid based numerical methods, such as finite differences methods. SEE allows fast indexing of lattice nodes by their local structure, and keeps a convenient internal representation of the local structure of each node, which optimizes the computation of boundary conditions at interfaces and the resolution of surface and volume integrals, among others. In the following I describe both techniques and show an example of their application to the characterization of the effective response of composites using a Monte Carlo method to solve the Dirichlet problem of the potential at the boundaries of the inclusions [6][8].
HYBRID CLUSTER IDENTIFICATION Cluster labeling algorithms can be classified into two classes: Recursive or cluster growth techniques and two-pass iterative techniques. The classical recursive technique [9][10][5] labels all aggregates in the lattice with a single pass over the lattice, assigning the same integer label to every cell of each aggregate. Labels are consecutive, and each aggregate is labeled with definitive labels at the first touch, allowing very easy characterization, such as area/volume, perimeter/surface, centre of masses, axes, or bounding box, during the labeling. The algorithm is very simple: When the first cell in an aggregate is found, a recursive function is called which assigns the current label to that cell, looks into the neighborhood for more inclusion cells and, if any is found, calls itself to repeat the procedure at that cell. The major drawback of the recursive techniques is the need of an oversized stack to hold a high number of recursive calls when labeling big aggregates. The stack size is usually limited by the system, and labeling even moderately sized aggregates may become impossible. Two-pass iterative techniques [2][11] use exclusively iterative scanning, first assigning temporary labels to each cell, and then in a second pass translating conflicting labels into correct ones according to a global equivalence table, constructed during the first pass by adding equivalence entries every time a conflicting label (a label in an adjacent cell different from the current label) is found. The global equivalence table is implemented with optimized structures, such as the Union-Find data structure [12]. However, this implies greater complexity than the recursive technique. Besides, the temporary labeling hinders the parallel characterization of the aggregates, and usually a third pass is needed for characterization. Parallel characterization is possible, but at a considerable cost [13]. Hybrid cluster labeling takes the best of both worlds to keep the advantages of recursive labeling (simplicity and parallel aggregate characterization) while minimizing the stack size, without needing to resort to additional data structures. It labels cells in bursts, which it scans iteratively, and reserves recursive calls exclusively to enter the bursts. A burst of cells is a set of adjacent cells along the same lattice row, bounded by lattice boundaries or host cells. When the first cell in an aggregate is detected, a function labels iteratively the whole burst including the cell, and then examines the adjacent rows along the burst in search of another inclusion cell. If any is found, the function calls itself to repeat the procedure with the newly found burst. If every inclusion in the host matrix were covered by a single cell, hybrid labeling and traditional recursive labeling would have the same cost. If inclusion cells are grouped, and speaking about aggregates has sense, the number of recursive calls per aggregate is reduced in proportion to the aggregation density [4]. If the aggregation is anisotropic, as it is the case with oriented fibers, and the composite is modeled with the principal axis of the fibers in the direction of the lattice rows, the decrease can be impressive. Concretely, using a 512 2 lattice, hybrid labeling needed 9% of the recursive calls needed by traditional recursive labeling for uniform random distributions of inclusion cells, 3% for Ising samples, and 0.2% for random distributions of square aggregates of cells in the same lattices. This was accompanied with a speed increase of 17%, 26%, and 74%, respectively. It was also faster than Union-Find iterative labeling (1%, 9%, and 42%, respectively), while allowing for easy simultaneous aggregate characterization. A typical application of aggregate labeling is checking for percolation (connectivity between boundaries) [14]. With two-pass iterative methods, a third pass is needed after the whole lattice has been labeled, and the conflicting labels translated, to check for matches between opposite lattice borders. Recursive labeling allows percolation detection during the labeling (by checking if two opposite boundaries are visited during the labeling of a single aggregate), clearly outperforming the iterative methods. Moreover, if percolation checking is the only purpose of the labeling, only the aggregates touching one of the lattice boundaries need to be labeled. If the opposite boundary is reached during the procedure, percolation does exist. This very fast percolation checking., can be made even faster, and robust, if hybrid labeling is used instead of traditional recursive labeling, with lattice rows in the direction of suspected percolation.
STHR EDGE ENCODING Solving numerical methods on the lattice that represents the composite usually involves iterative computations at each cell of the lattice, or at each node of the mesh rendered by the lattice, computations determined by the local configuration of the nodes. The determination of the local configuration requires the inspection of the neighbor cells of each node to determine if they cover inclusion or host material. Doing this in each iteration is a considerable overhead. A solution is to encode the local configuration of the cells surrounding each node according to an efficient scheme, such that later, during the iterative computations, the code associated to each node will determine the local configuration. One such a scheme is Sthr Edge Encoding (SEE) [7]. Let us call a lattice cell covering inclusion material an occupied cell, and a cell covering host material an empty cell. A mesh of node codes is set to all zeros. An integer weight is assigned to each corner of every cell in the lattice, such that in a single scan the weight of each corner of each occupied cell is added to the code of the corresponding node. After the scan, every node in the mesh has a code describing the configuration of the surrounding cells. We use as weights the first four (2D) or eight (3D) elements in the 4(-8)-Sthr sequence. An h-Sthr sequence [15] is defined as follows: let a 1 = 1 and define a n+1 to be the least integer greater than a n
which cannot be written as the sum of at most h addends among the terms a 1 , a 2 , , a n . Using the first members of the 4(-8)-Sthr sequence warrants that all the possible sums where each element can occur at most once span an entire integer interval from 0 ([0, 15] in the 2D case), i.e. every code belongs to the interval, and every integer in the interval is a meaningful code. This allows using the codes directly as indexes in a look-up table (LUT) of parameters.
Fig.1. SEE with Bornvon Karman periodic boundaries. Dark cells are inclusion cells. Node codes (right) are the result of adding up (center) the corresponding weights in dark cells (left). A 0 node is embedded in host material, a 15 node is embedded in an inclusion. All the rest are boundaries inclusion/host. I will illustrate the 2D case for clarity. The 3D case follows in a straightforward manner. The first four elements of the 4-Sthr sequence are {1, 2, 4, 8}. The assignation of weights to each of the four corners in a 2D cell determines the correspondence between codes and local configurations. Each cell is assigned the weights in the same order (Fig.1, left). Let ui be an operator that increments integer i in u units. If c x,y is the code of node (x,y), a single scan over the lattice performing 1c x,y+1 , 2c x+1,y+1 , 4c x,y , and 8c x+1,y for each occupied cell (x,y) would produce the result in Fig. 1 (center), where the resulting code of each node uniquely identifies its local configuration (Fig. 1, right). The cost of the SEE scheme is just four integer sums per cell covering inclusion material. The 3D case is similar, using the first eight elements of the 8-Sthr sequence to produce the 256 codes necessary for the 256 different local configurations possible in a 3D mesh.
EXAMPLE: EFFECTIVE PERMITTIVITY OF COMPOSITES UNDER LWA The effective permittivity of a non-loss non-magnetic composite under the long wave approximation (LWA) can be estimated by computing the potential at the boundaries of the inclusions when the unit cell is subjected to a known macroscopic electric field [6]. Using a regular lattice to model the composite, the problem is reduced to the computation of the potential at the mesh nodes on the boundaries of inclusions. This is a Dirichlet problem, that can be solved by traditional Finite Differences methods or Monte Carlo random walk. Either of them requires a set of interpolation coefficients (transition probabilities in the Monte Carlo method) for each node in the mesh, which depend on the local configuration of the nodes (the permittivity of each cell surrounding a node). SEE allows constructing a LUT of interpolation coefficients indexed by the SEE codes. Moreover, the coefficients are computed directly from the SEE codes, because these include an internal representation of the local configuration they represent. Each bit in a SEE code corresponds to one of the neighboring cells of the node. If the bit is set, the cell is occupied. Therefore, obtaining the corresponding interpolation coefficients is just a matter of counting bits in the SEE codes.
Figure 2. Effective permittivity of a layered ABA BCC arrangement of spherical inclusions (two species) in a host with , h =3, v. contrast of constituent permittivities (, B :, A , with , A =10) and volume fraction. After obtaining the potential at the inclusion boundary nodes, a surface integral has to be computed for each inclusion, to obtain the macroscopic field in the inclusion. In a discrete lattice, this is a summation involving only the cells belonging to a given inclusion. A cluster labeling algorithm can identify the cells belonging to each inclusion, and hybrid labeling is specially well suited: As a recursive algorithm that allows cluster characterization during the labeling, it allows performing the summation during the labeling. Its advantages with respect to classical recursive labeling have already been discussed. Thus the procedure can be summarized as follows: A SEE code is assigned to each node in the mesh. A LUT of interpolation coefficients is built using the SEE codes. The potential is solved iteratively with the coefficients provided by the LUT. The local field in each inclusion is obtained by integrating the potential at the surface using hybrid cluster identification. The formula derived in [6] is applied to obtain the effective permittivity of the composite (Fig. 2).
REFERENCES [1] Clarke, A. and C. Eberhardt, Microscopy Techniques for Materials Science. Cambridge, England: Woodhead Publishing, 2002. [2] Shapiro, L.G. and G.C. Stockman, Computer Vision. New Jersey: Prentice Hall, 2001. [3] Gould, H. and S. Tobochnick, An Introduction to Computer Simulation Methods: Applications to Physical Systems, vol. 2, 2 nd ed. New York: Addison-Wesley, 1996. [4] Martn-Herrero, J., Hybrid cluster identification, J. Phys. A, vol. 37, pp. 9377-9386, 2004. [5] Tanimoto, S., The Elements of Artificial Intelligence using Common LISP. New York: Freeman, 1990. [6] Martn-Herrero, J., Computation of Long Wave Electromagnetic Response of Nonhomogeneous Media, submitted to IEEE Trans. Geosci. Remote Sensing. [7] Martn-Herrero, J., Sthr Edge Encoding: A scale and rotation variant descriptor for object recognition, pose determination, defect detection, and texture classification,'' in preparation. [8] Pen-Fernndez, J., J. Martn-Herrero, N. Banerji, T.P. Iglesias, Numerical study of effective permittivity in composite systems, Appl. Surf. Sci., vol. 226, pp. 78-82, 2004. [9] Leath, P.L., Cluster size and boundary distribution near percolation threshold, Phys. Rev. B., vol. 14, pp. 5046-5055, 1976. [10] Aho, A., J. Hopcroft, J. Ullman, Design and Analysis of Computer Algorithms. Reading, MA: Addison-Wesley, 1979. [11] Hoshen, J. and R. Kopelman, Percolation and cluster distribution: Cluster multiple labeling technique and critical concentration algorithm, Phys. Rev. B, vol. 14, pp. 3438, 1976. [12] Tarjan, R.E., Efficiency of a good but not linear set union algorithm, J. Assoc. Comput. Mach., vol. 22, pp. 215-225, 1975. [13] Hoshen, J., M.W. Berry and K.S. Minser, Percolation and cluster structure parameters: The enhanced Hosehn-Kopelman algorithm, Phys. Rev. E, vol. 56, pp. 1455, 1997. [14] Satuffer, D. and A. Aharony, Introduction to Percolation Theory. London, England: Taylor and Francis, 1994. [15] Sthr, A., Gelste und ungelste Fragen ber Basen der natrlichen Zahlenreihe. I, II,'' J. reine Angew. Math., vol. 194, pp. 40-65, 111-140, 1955.