The Lac in FracLac stands for Lacunarity.
Lacunarity measures heterogeneity to complement fractal dimensions in describing complexity. It uses box mass instead of box count.
Lacunarity Increasing From Left to Right
The images increase in lacunarity from left to right. The top images are rotated 90° in the bottom row. Images to the left have lower lacunarity and appear virtually identical to their rotations, but the rightmost has the highest lacunarity and appears very different from its rotation.
The word lacunarity literally refers to a
gap or pool as derived from the word for "lake",
but in morphological analysis it has been variously defined as
gappiness, visual texture, inhomogeneity,
translational and rotational invariance, etc.
Usually denoted as Λ
or λ, in FracLac, lacunarity pertains to both gaps and
heterogeneity. If you are interested in using lacunarity values in
your fractal analysis,
do standard box-counting,
which calculates
lacunarity along with regular scans and reports it in the
standard results file, or set up a
sliding box
lacunarity analysis.
The general concept is illustrated in the images
above, which increase in lacunarity from left to right.
To grasp how this relates to their invariance and gappiness,
compare the top images to their 90° rotated versions
in the second row.
The left images, with lower lacunarity, appear virtually identical
to their rotations, but the image at the right,
with the highest lacunarity, appears much different from its
rotation.
The differences in lacunarity above are perceptible. The left and centre images are both essentially unchanged when rotated 90°. They have similarly low lacunarity values, but the centre one has more gaps in it than does the left, and this is paralleled in its slightly higher lacunarity value. The rightmost figure, in contrast, changes noticeably when rotated 90° and has many more irregular gaps than either of the other two images.
But lacunarity is not always easy to describe with words. Comparing two of those images to other images highlights this.
Varying Degrees of Subtlety in Lacunarity
Comparing images with similar numbers of pixels (top figures have similar numbers and ratios of black to white pixels compared to their respective bottom figures). Lower lacunarity, on the left, is generally easy to perceive, as illustrated above. Differences in lacunarity as it increases, as in the top and bottom right figures compared to their respective left figures, are often more difficult to describe without objective indices.
The top left figure (which was discussed above but is shown here
again for comparison) is similar to the bottom left. Both have
virtually the same numbers of black and white pixels and the pixels
are arranged in both cases in homogeneous, somewhat translationally
and rotationally invariant patterns, and both have virtually the
same low lacunarity as a result.
On the right, in contrast,
the images show greater variation and gaps than those on the left,
and have correspondingly higher lacunarities. When comparing the
bottom and top on the right, however, both have irregular gaps and
are no longer rotationally and translationally invariant. But it
is not as obvious that the lower right figure has greater lacunarity
than the upper right without reference to the objective indices.
FracLac calculates lacunarity from the pixel distribution in an image, meaning the variation in pixel density with different box counting calibres. To find the pixel distribution for one calibre, ε, the number of pixels in each ε-sized box in a grid that was placed on an image is counted during standard nonoverlapping or overlapping box counting. The variation is assessed from some basic statistics that are calculated for each calibre:
Thus, there is a λ value for each ε in each series of grid sizes, for each g, grid orientation, in a set of grid orientations. As such, there is never a single "λ", but instead λε, g, and then values for each grid and the image overall. FracLac reports all of these and also graphs how λ∝ε.
The most basic number for lacunarity, λ, is
λ(ε,g) = CV²(ε,g) = (σ / μ)²(ε,g)
See definitions.
λ(ε,g) is
reported in the detailed
Data File,
where it is recorded per ε and per g.
Because λ∝ε,
there are many λs to deal with in the data
file. The many λs and other data from a box
count are printed in sets of columns for each
grid, g,
in the lower part of the file. Each g has
a column for each value, with a row for
each ε.
As an example, if there are 3 gs, you will
see 3 columns of, for instance, σ
labeled as σ: 1, σ: 2,
and σ: 3, with rows corresponding
to each ε listed at the far left of the file.
Individual λs are in columns labeled "Fλ = 1 + (σ/μ)²" (this is the same as Fλ = 1 + λ) The F stands for Foreground pixels.
FracLac summarizes all of the λ(ε)s from one grid orientation into two values: the slope against ε and the mean over all ε.
FracLac reports and graphs the slope of the ln-ln regression line of Fλ over all ε using a data transformation. To see how λ∝ε graphically, select (before scanning) Graph Lacunarity, which will generate graphs of the data and the regression line labeled with the slope.
Why use Fλ = 1 + λ? The slope for each grid orientation is calculated using this transformation to avoid "undefined" calculations in the case of homogeneous images. To explain, if an image is homogeneous, the number of pixels per box does not vary, which means that the standard deviation, σ, for a box count at some ε will be 0. This, in turn, means that
λ = (σ / μ)² = 0
A zero here in itself makes sense, but it also means that the ln of λ and therefore the slope of the ln-ln regression line for λ vs ε would be undefined. Thus, to avoid this computationally awkward situation, we transform the data using λ + 1, so that a completely homogeneous image has a slope of 0, corresponding intuitively to the idea of no rotational or translational invariance and no gaps.
Another perspective on heterogeneity over one series of grid calibres is found in the average of all λ(ε,g):
λ(avg)(ε,g) =
&Lambda(g) =
∑λ(ε,g)
/ N(ε)
where N(ε) = the number
of calibres, ε, in the
series
and ∑λ(ε,g) is the
sum ∀ ε in the series
This is a mean for a dataset in itself, so can be supplemented by its own CV or CV². That is, the variation in λ over all ε can also be considered when evaluating the data.
FracLac does not calculate the other common statistics, the mode and median, but these can be found readily by importing the data file into a spreadsheet and calculating them from the appropriate columns.
To put all of the heterogeneity in one place and distill into one number for lacunarity over all grid orientations, there are two options, both of which are found in the FracLac Results File from fixed grid scans only.
The broadest value for lacunarity is L, which summarizes data over all grid orientations for an image - it is the mean of the means.
Image Lacunarity = L =
(ΣΛ(g))/N(G)
where N(G) is the
number of grid origins
Another summary value is PΛ or "Prefactor Lacunarity", which measures variation over grid orientations in a standard scan with multiple orientations.
PΛ is a measure of heterogeneity based on the y-intercept for the regression lines from all grid locations; it depends on ε and the number of grids; PΛ = 0 if there is only 1 grid position. Two values are reported in the results file; they are calculated by essentially the same method, but the first uses counts (the number of boxes containing pixels at ε), and the second masses (stats for the pixels per box at ε).
To find the results for PΛ, locate in the Results file the mean y-intercept lacunarity for box counts and for pixel masses along with the mean y-intercept.
Be aware that, according to the equation below, PΛ = 0 if there is only 1 grid location, which reflects not that there is no variation but that no variation was assessed.
This statistic uses the prefactor A from the scaling rule:
N = AεDB,
where A(g) = the prefactor
calculated from the
y-intercept
for the ln-ln regression line for
ε
and either count or mass at grid, g,
where G = the number of
grid locations.
The prefactor, A, is affected by the way data are gathered and especially by the lower limit of box sizes used.
To calculate PΛ:
A(g) = 1 / e y-intercept(g)
Mean A = [(for g=1 to G) Σ A(g) ] ÷ G
PΛ= (for g=1 to G)Σ [[{A(g) / Mean A}-1]²] / G
Lacunarity and fractal dimensions work together to characterize patterns extracted from digital images. As the picture below illustrates, sometimes patterns having identical fractal dimensions will be distinguishable by their lacunarity, or vice versa.
Lacunarity and the Fractal Dimension are Not Redundant
Lacunarity and the box counting fractal dimension complement each other. In some cases, they appear to vary together, but they are independent measures.
Lacunarity and multifractal analyses also go together very nicely to describe complex forms. In addition, FracLac reports the lacunarity values listed below. Read more about these in the online help.