Lacunarity
Lacunarity, from the Latin lacuna meaning "gap" or "lake", is a specialized term in geometry referring to a measure of how patterns, especially fractals, fill space, where patterns having more or larger gaps generally have higher lacunarity. Beyond being an intuitive measure of gappiness, lacunarity can quantify additional features of patterns such as "rotational invariance" and more generally, heterogeneity.[1][2][3] This is illustrated in Figure 1 showing three fractal patterns. When rotated 90°, the first two fairly homogeneous patterns do not appear to change, but the third more heterogeneous figure does change and has correspondingly higher lacunarity. The earliest reference to the term in geometry is usually attributed to Mandelbrot, who, in 1983 or perhaps as early as 1977, introduced it as, in essence, an adjunct to fractal analysis.[4] Lacunarity analysis is now used to characterize patterns in a wide variety of fields and has application in multifractal analysis[5][6] in particular (see Applications).
Contents
Measuring lacunarity
In many patterns or data sets, lacunarity is not readily perceivable or quantifiable, so computer-aided methods have been developed to calculate it. As a measurable quantity, lacunarity is often denoted in scientific literature by the Greek letters or but it is important to note that there is no single standard and several different methods exist to assess and interpret lacunarity.
Box counting lacunarity
One well-known method of determining lacunarity for patterns extracted from digital images uses box counting, the same essential algorithm typically used for some types of fractal analysis.[1][4] Similar to looking at a slide through a microscope with changing levels of magnification, box counting algorithms look at a digital image from many levels of resolution to examine how certain features change with the size of the element used to inspect the image. Basically, the arrangement of pixels is measured using traditionally square (i.e., box-shaped) elements from an arbitrary set of sizes, conventionally denoted s. For each , the box is placed successively over the entire image, and each time it is laid down, the number of pixels that fall within the box is recorded.[note 1] In standard box counting, the box for each in is placed as though it were part of a grid overlaid on the image so that the box does not overlap itself, but in sliding box algorithms the box is slid over the image so that it overlaps itself and the "Sliding Box Lacunarity" or SLac is calculated.[3][7] Figure 2 illustrates both types of box counting.
Calculations from box counting
The data gathered for each are manipulated to calculate lacunarity. One measure, denoted here as , is found from the coefficient of variation (), calculated as the standard deviation () divided by the mean (), for pixels per box.[1][3][6] Because the way an image is sampled will depend on the arbitrary starting location, for any image sampled at any there will be some number () of possible orientations, each denoted here by , that the data can be gathered over, which can have varying effects on the measured distribution of pixels.[5][note 2] Equation 1 shows the basic method of calculating :
-
(1)
Probability distributions
Alternatively, some methods sort the numbers of pixels counted into a probability distribution having bins, and use the bin sizes (masses, ) and their corresponding probabilities () to calculate according to Equations 2 through 5:
-
(2)
-
(3)
-
(4)
-
(5)
Interpreting
Lacunarity based on has been assessed in several ways including by using the variation in or the average value of for each (see Equation 6) and by using the variation in or average over all grids (see Equation 7).[1][5][7][8]
-
(6)
-
(7)
Relationship to the fractal dimension
Lacunarity analyses using the types of values discussed above have shown that data sets extracted from dense fractals, from patterns that change little when rotated, or from patterns that are homogeneous, have low lacunarity, but as these features increase,[clarification needed] so generally does lacunarity. In some instances, it has been demonstrated that fractal dimensions and values of lacunarity were correlated,[1] but more recent research has shown that this relationship does not hold for all types of patterns and measures of lacunarity.[5] Indeed, as Mandelbrot originally proposed, lacunarity has been shown to be useful in discerning amongst patterns (e.g., fractals, textures, etc.) that share or have similar fractal dimensions in a variety of scientific fields including neuroscience.[8]
Graphical lacunarity
Other methods of assessing lacunarity from box counting data use the relationship between values of lacunarity (e.g., ) and in different ways from the ones noted above. One such method looks at the vs plot of these values. According to this method, the curve itself can be analyzed visually, or the slope at can be calculated from the vs regression line.[3][7] Because they tend to behave in certain ways for respectively mono-, multi-, and non-fractal patterns, vs lacunarity plots have been used to supplement methods of classifying such patterns.[5][8]
To make the plots for this type of analysis, the data from box counting first have to be transformed as in Equation 9:
-
(9)
This transformation avoids undefined values, which is important because homogeneous images will have at some equal to 0 so that the slope of the vs regression line would be impossible to find. With , homogeneous images have a slope of 0, corresponding intuitively to the idea of no rotational or translational invariance and no gaps.[9]
One box counting technique using a "gliding" box calculates lacunarity according to:
-
(10)
is the number of filled data points in the box and the normalized frequency distribution of for different box sizes.
Prefactor lacunarity
Another proposed way of assessing lacunarity using box counting, the Prefactor method, is based on the value obtained from box counting for the fractal dimension (). This statistic uses the variable from the scaling rule , where is calculated from the y-intercept () of the ln-ln regression line for and either the count () of boxes that had any pixels at all in them or else at . is particularly affected by image size and the way data are gathered, especially by the lower limit of s used. The final measure is calculated as shown in Equations 11 through 13:[1][4]
-
(11)
-
(12)
-
(13)
Applications
Below is a list of some fields where lacunarity plays an important role, along with links to relevant research illustrating practical uses of lacunarity.
- Ecology[2]
- Physics[10]
- Archaeology[11]
- Medical Imaging [6] [12]
- Urban Spatial Analysis[13][14]
- Seismic studies[15]
- Dentistry[16]
- Food Science[17]
Notes
- ↑ This contrasts with box counting fractal analysis where the total number of boxes that contained any pixels is counted to determine a fractal dimension.
- ↑ See http://rsb.info.nih.gov/ij/plugins/fraclac/FLHelp/BoxCounting.htm#gridlocation for an explanation of methods to address variation with grid location
References
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 2.0 2.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 3.0 3.1 3.2 3.3 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 4.0 4.1 4.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 5.0 5.1 5.2 5.3 5.4 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 6.0 6.1 6.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 7.0 7.1 7.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 8.0 8.1 8.2 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.