Fractal Dimension Estimation Methods for Biomedical Images

The use of medical images has its main aim in the detection of potential abnormalities. This goal is accurately achieved with the synergy between the ability in recognizing unique image patterns and finding the relationship between them and possible diagnoses. One of the methods used to aid this process is the extrapolation of important features from the images called texture; texture is an important source of visual information and is a key component in image analysis.


Introduction
The use of medical images has its main aim in the detection of potential abnormalities.This goal is accurately achieved with the synergy between the ability in recognizing unique image patterns and finding the relationship between them and possible diagnoses.One of the methods used to aid this process is the extrapolation of important features from the images called texture; texture is an important source of visual information and is a key component in image analysis.
The current evolution of both texture analysis algorithms and computer technology made boosted development of new algorithms to quantify the textural properties of an image and for medical imaging in recent years.Promising results have shown the ability of texture analysis methods to extract diagnostically meaningful information from medical images that were obtained with various imaging modalities such as positron emission tomography (PET) and magnetic resonance imaging (MRI).Among the texture analysis techniques, fractal geometry has become a tool in medical image analysis.In fact, the concept of fractal dimension can be used in a large number of applications, such as shape analysis [1] and image segmentation [2].Interestingly, even though the fact that self-similarity can hardly be verified in biological objects imaged with a finite resolution, certain similarities at different spatial scales are quite evident.Precisely, the fractal dimension offers the ability to describe and to characterize the complexity of the images or more precisely of their texture composition.

Fractal geometry
A fractal is a geometrical object characterized by two fundamental properties: Self-similarity and Hausdorff Besicovich dimension.A self-similar object is exactly or approximately similar to a part of itself and that can be continuously subdivided in parts each of which is (at least approximately) a reduced-scale copy of the whole.Furthermore, a fractal generally shows irregular shapes that cannot be simply described by Euclidian dimension, but, fractal dimension ( f d) has to be introduced to extend the concept of dimension to these objects.However, unlike topological dimensions the fd can take non-integer values, meaning that the way a fractal set fills its space is qualitatively and quantitatively different from how an ordinary geometrical set does.
Nature presents a large variety of fractal forms, including trees, rocks, mountains, clouds, biological structures, water courses, coast lines, galaxies [3].Moreover, it is possible to construct mathematical objects which satisfy the condition of self-similarity and that present fd (Figure 1).

Figure 1.
Sierpinski triangle: starting with a simple initial configuration of units or with a geometrical object then the simple seed configuration is repeatedly added to itself in such way that the seed configuration is regarded as a unit and in the new structure these units are arranged with respect to each other according to the same symmetry as the original units in the seed configuration.And so on.
The objects in Figure 1 are self-similar since a part of the object is similar to the whole and the fractal dimension can be calculated by the equation: where N is the number of the auto-similar parts in which an object can be subdivided and S is the scaling, that is, the factor needed to observe N auto-similar parts.According to the Eq.1, the following values are obtained for the Koch fractal and the Sierpinski triangle: In mathematics, no universal definition of fd exists and the several definitions of fd may lead to different results for the same object.Among the wide variety of fd definitions that have been introduced, the Hausdorff dimension D H is surely the most important and the most widely used [4].Such definition can be theoretically applied to every fractal set but has the disadvantage it cannot always be easily determined by computational methods.

Hausdorff dimension D H
Hausdorff dimension D H was introduced in 1918 by mathematical Felix Hausdorff [3].Since many of the technical developments used to compute the Hausdorff dimension for highly irregular sets were obtained by Abram Samoilovitch Besicovitch, D H is sometimes called Hausdorff-Besicovitch dimension.
Hausdorff formulation [3] is based on the construction of a particular measure, H D δ , representing the uniform density of the fractal object.
Intuitively we can sum up the construction as follows: let be A a fractal and C(r, A) = {B 1 ....B k } a complete coverage of A consisting of spheres of diameter smaller than a given r that approximate A, so We define the Hausdorff measure as the function H D δ that identifies the smallest of all the covering spheres for A with δ < r: with ω D volume of the unit sphere in R D for integer D.
We obtain an approximate measurement of A, the so-called course-grained volume [4].
In the one-dimensional case (D = 1), H D δ supplies the length of set A measured with a ruler of length r.The shorter the ruler, the longer the length measured, a paradox known as the coastline paradox [3].
Hence, when r → 0 the effective length of A is well approximated.Limit for small r calculated for other values of D, however, lead to a degenerate H D δ : Therefore, D H can be defined as the transition point for the function H D δ monotonically decreasing with D: with H D δ the D-dimensional Hausdorff measure given by Eq. 3. The course-grained volume defined by Eq. 3 normally presents a scaling like: that provides a method to estimate the dimension D H .
In the uni-dimensional case D = 1 we can easily obtain: from which we derive D H .

Methods
Although the definition of Hausdorff dimension is particularly useful to operatively define the fd, that presents difficulties when implementing it.In fact, determining the lower bound value of all coverings, as defined in Eq. 5, can be quite complex.For example, let's consider the uni-dimensional case, in which we want to compute the fd of a coastline (Koch Curve).According to Eq. 3 in the case of D = 1 the coastline length is measured by a ruler of length r.
Accuracy of the measure increase with decreasing r.For r → 0 the coastline will have infinite length.Similar arguments can be applied to D = 2; for r → 0 the measure of This discussion implies that our coastline (ex.Koch Curve) will have a fd value more than one-dimensional and less than two-dimensional.For this reason, the fd is considered as the transition point (the lower bound value in Eq. 5) between H D δ → 0 and H D δ → ∞.Several computational approaches have been developed to avoid the need of defining the lower bound at issue.Therefore many strategies accomplished the fd computation by retrieving it from the scaling of the object's bulk with its size.In fact, object's bulk and its size have a linear relationship in a logarithmic scale so that the slope of the best fitting line may provide an accurate estimation of this relationship.By using this log-log graph, called Richardson's plot, the requirement of knowing the infimum over all coverings is relaxed.
Several approaches have been developed to estimate fractal dimension of images.In particular, this section will introduce two fractal analysis strategies: the Box Counting Method and the Hand and Dividers Method.
These methods overcome the problem by choosing as covering a simple rectangle fixed grid in order to obtain an upper bound on D H .
Five algorithms for a practical fd calculation based on these methods will also be presented.

Box counting method
The most popular method using the best fitting procedure is the so-called Box Counting Method [5] [6].
Given a fractal structure A embedded in a d-dimensional volume the box-counting method basically consists of partitioning the structure space with a d-dimensional fixed-grid of square boxes of equal size r.
The number N(r) of nonempty boxes of size r needed to cover the fractal structure depends on r: The box counting algorithm hence counts the number N(r) for different values of r and plot the log of the number N(r) versus the log of the actual box size r.The value of the box-counting dimension D is estimated from the Richardson's plot best fitting curve slope.
Figure 2 shows the Box counting method for the Koch Curve.
Several algorithms [7][8][9] based on box counting method have been developed and widely used for fd estimation, as it can be applied to sets with or without self-similarity.However, in computing fd with this method, one either counts or does not count a box according to whether there are no points or some points in the box.No provision is made for weighting the box according to the number of points belonging to the fractal and inside the current box.

Hand and dividers method
Useful features and information can be deducted from the contours of structures belonging to an image and there is a number of techniques that can be used when estimating the boundary fractal dimension.The most popular methods are all based on the Hand and Divers Method which was originally introduced by Richardson [10] and successively developed by Mandelbrot [11].
The Richardson method employs the so-called walking technique consisting of "walking" around the boundary of the structure with a given step length.
The actual structure boundary is so approximated by a polygon whose length is equal to: In a nutshell, it corresponds to the length of the single step multiplied by the number of steps needed to complete the walk.
The process is then reiterated for different step lengths: With P i the perimeter calculated with steps of length i .
The object's boundary fd D is finally estimate from: where m is the slope of the Richardson's plot.
The perimeter length of the boundary depends on the step length used so that a large step provides a rough estimation of the perimeter whereas a smaller step can take into account finer details of the contour.
Consequently, if the step length decreases the perimeter P increases.
In practice, the perimeter length is obtained by constructing a generally irregular polygon which approximate the border.Let δB be the set of coordinates of object boundary and let be a fixed step length.Given a starting point, an arbitrary contour point (x s , y s ), the next point on the boundary (x s 2 , y s 2 ) in a fixed direction (e.g.clockwise) is the point that has a distance as close as possible to .
The reached point then becomes the new starting point and is used to locate the next point on the boundary that satisfies the previous condition.This process is repeated until the initial starting point is reached.
The sum of all distances dj corresponds to the irregular polygon perimeter (Figure3).
A number of different perimeters for each polygon at each fixed step length are used to build the Richardson's plot and the slope of its best linear fit is exploited to estimate the fd.

Algorithms
All Hand and dividers techniques rely on the same identical principle that attempt to approximate the border perimeter with a different polygons.However, since the point coordinates belonging to border set are discrete, all the implemented methods differ in the choice of which point in the set has a distance that better approximate the step length.
The following two methods are the implementations of two different choices about how to overcome this particular issue.

HYBRID algorithm
The HYBRID algorithm is a computer implementation of Hand and Dividers method developed by Clark [12].Let δB be the boundary of the object whose fd we wish to compute.The main part of the method focuses on the perimeter estimation and the corresponding Richardson's plot is then attained by reiterating this hard core part at different step size.Figure 4 shows the flow chart of the method.Given an arbitrary starting point S and its coordinates (x S , y S ) on the boundary, the algorithm searches for the next pivot point.In particular the starting point is copied into a current point, C (x C , y C ), which identifies all points having a mutual distance of about .The actual point running through the entire border is indicated as running point R (x R , y R ).
Therefore the program searches for a specific running point having a distance from C as near as possible to the step .In particular, in the HYBRID method the real step may be chosen to be longer or shorter than the fixed step depending on the minimum deviation from it.Similarly once the running point hits a contour point having a distance from the actual current one bigger than the size step, the choice is made between that point and the preceding one.
Afterward, the computed distance between these two points R and C is stored and the running point becomes the new current point.
The procedure continues until the initial starting point is reached.Obviously it is likely that after a complete walking the starting point S may be reached before having hit the following current point C. In other words, there may not be a multiple of step size so that the final incomplete step length r is added to the others stored distances, whose sum represent the boundary's perimeter.Since the fixed step length is adapted every time during the perimeter computation, its averaged value is then computed and used in the Richardson's plot.

EXACT algorithm
The EXACT algorithm was proposed for the first time by Clark in 1986 [12].As it will be shown, this method requires a longer computational time by providing a simpler solution to the choice of the best current points.
Similarly to the previous method the entire perimeter estimation is displayed in the flow chart of Figure 5.
The procedure is very similar to the one used for the previous method.As before (see Figure 5), the end of the step may not coincide with the digitized coordinates of the boundary.
The way the EXACT method attempts to overcome this problem relies on the assumption of piecewise linearity, meaning that all the points on the contour can be joined by a series of straight line [13,14] (see Figure 6 (a)).
The location of the next current point C on the boundary from the one previously determined is schematically illustrated in Figure 6 (b).
The procedure starts from an arbitrary starting point (x S , y S ) and the algorithm searches for the next pivot point.In particular the starting point is copied into a current point, C (x C , y C ), which identifies all points having a mutual distance of about .The actual point running through the entire border is indicated as running point R (x R , y R ).
The distance from the current point to each point on the contour line is then calculated until the step length falls between two consecutive boundary points, (x R , y R ) and (x R+1 , y R+1 ) for which: The exact position of the point N with coordinates (x, y) is deduced by a process of geometric interpolation between the two consecutive running points (x R , y R ) and (x R+1 , y R+1 ).This point then becomes the new current point and is used to calculate the next boundary point and so on.
The process is stopped when we come back to the initial starting point (x S , y S ) in order to obtain a polygon as is shown in Figure 8.The perimeter length of the polygon is found by adding the final incomplete step length to the sum of the other step lengths needed to entirely cover the boundary.
The procedure is then repeated for different step lengths [15].

Box-counting algorithm
The Box-counting algorithm implementation of box-counting method relies on the basic idea of covering a given digital binary image with a set of measuring boxes of sizes S and then to count the number of boxes which actually contain the image.Figure 8 shows the flow chart for box-counting fd estimation and for different box sizes.Moreover, since the procedure of size scaling (S = S 0 /2 N with N number of iterations) may be not always applicable to any image matrix size, image padding with background pixels is performed.
Therefore the final image I has a dimension that is a power of 2. This can be easily implemented by using padarray matlab function.

Differential Box-counting algorithm (DBC)
The box counting method is an extremely powerful tool for fd computation; in fact, it is easy to implement as well as flexible and robust.
However, a major limitation lies on the fact that the counting process of nonempty boxes implies its use only for binary images rather than gray scale ones.An extension of the standard approach to gray scale images is called the Differential Box Counting (DBC) and has been proposed in 1994 by N. Sarkar and Chaudhuri [8].
In the DBC method, a gray level image I is considered as a 3-D spatial surface with (x, y) denoting the pixels spatial coordinates and the third axis z the pixels gray level.
As for the standard box counting, the M × M image matrix is partitioned into non-overlapping s × s-sized boxes, where s is an integer falling in the interval [M/2, 1].
Then, the scale of each block is r = s.On each block there is a column of boxes of size s × s × s , with s denoting the height of a single box.Named G the total number of gray levels in I, hence s is defined by the relationship G/s = M/s [7].
Let numbers 1, 2, 3... be assigned to the boxes so to group the gray levels.Let the minimum and the maximum gray level of the image in the (i, j)th grid fall in box number k and l, respectively.
The number of boxes covering this block is calculated as: In Figure 9 for example s = s = 3, hence n r = 3 − 1 + 1. Extending to the contribution from all blocks: The Eq. 16 is computed for different box size s (so for different r) and the values of N r are plotted versus the values of r in a log-log plot.
A matlab implementation of DBC can make use of functions such as blockproc or col f ilt in order to make the box partitioning and apply the Eq. 15.
The DBC procedure has some weak points in the method used to select an appropriate box height [7], since the values of s is limited to the image size and s is limited by the number of blocks of size s × s in which the image is divided.
Secondly, the box number calculation may lead to overestimate the number of boxes needed to cover the surface.Let A and B be the pixels associated with the minimum and the maximum gray level of the block respectively, as is illustrated in Figure 10.According to DBC procedure, the two pixels are assigned in boxes 2 and boxes 3. The distance between A and B is smaller than 3, which is the size of the box.
Hence, when calculating Eq. 15, the block can be covered by a single box but its pixels with minimum and maximum gray levels fall into two different boxes.
To solve the aforementioned problems some modifications was proposed by J. Li, Q.Du and C. Sun [7].Given a digital image I of size M × M, a new scale r is defined instead of r, i.e. r = r/c where c1 is a positive real number.
In particular, let μ and σ be the mean and the standard deviation of I respectively.Hence, if the greater part of image pixels fall into the interval of gray level within where a is a positive integer, the height of the boxes is given by: If dz is the height of the boxes in the direction of z, the number of the column of boxes on a single image block correspond to the integer part of (dz/r + 1) instead of (dz/r + 1) as in the original DBC method.Thus, since r < r, the residual part of dz/r is smaller than that of dz/r.
As a result, the errors introduced using r are smaller than in the original DBC method.A box with smaller height is chosen when a higher intensity variation is present on the image surface.So the improved method uses, in general, finer scales to count [7].
Moreover, the use of dz instead of z to count the number of boxes leads to the following modification of Eq. 15: with ceil( .) denoting the function rounds the elements of the quantity into ( . ) to the nearest integers greater or equal to it.
Eq. 18 relies a new way to count the number of boxes that cover the (i, j)th block surface in which the boxes are assigned to the minimum gray level to the block rather than gray level 0 [7].
As an example, suppose that the (i, j)th block is covered by a column boxes with the size 3x3x3.If the pixels A and B represent the maximum and the minimum gray levels of the block, the two pixels will be assigned as in Figure 10.
According to Eq. 18 the number of counted boxes is n r = 1, which is exactly the number of boxes covering the block.
As in standard box counting method, after having determined the number nr(i,j) for each block, the total number of boxes N r covering the full image surface is computed for different scales r.Plotting the linear fit of log N r versus the log r (Richardson's plot) the fd is finally estimated.

Applications and discussion
Each described method has been implemented in Matlab 2010a and applied to either well-known fractals or biomedical images.
The results on the hand and dividers methods are shown in the table 1.The computed values are also compared to the theoretical fd values.The computational time for a 2.50 GHz 5i CPU is also shown.
The value ranges for the step size are not displayed but they were automatically chosen based upon the computation of the structure's maximum caliber diameter which is defined as the major axis of an ellipse in which the structure can be embedded.The range was then running from the 40% of the maximum caliber diameter to the minimum step defined as the maximum distance between any two contiguous border points.
In practice, both EXACT and HYBRID methods computed the different step sizes by scaling each time the maximum step by a k with k the number of the iteration.The chosen value of a = 1.2 is a compromise between a sufficient number of fitting points and the need to avoid too small variations of the step size so to duplicate perimeter estimation.The latter usually occurs in HYBRID method for it hits the same current points if the step does not vary enough in two consecutive iterations.
The parameter's estimation uncertainty is also shown in the table 1; that is calculated from the fitting accuracy based upon standard linear regression.
The number of data points used in the Richardson's plot was about 60 and two examples of that computation using EXACT and HYBRID are shown in Figure 12.
On the table 2 the computation results for the box counting method are also shown.The type of the displayed values are similar to the previous ones with the exception of Box counting uncertainty.In fact, the way an image can be partitioned into several boxes may affect the final computation of the number of nonempty boxes.
To investigate the variability of the fd for different box partitioning layouts, random box subdivisions have been applied.Therefore, the results on the table 2 show the standard deviation of the different computed fds and the mean values for each fractal at issue.In general, that variability is more pronounced in images having rougher resolution.In general, the EXACT and the HYBRID methods appeared to be more precise than the box counting method but on the other hand they have a less wide range of applicability.However, this is also the reason of the fortune of the box counting methods compared to the others.Also, HYBRID technique is computationally less expensive than EXACT especially when the number of border points is quite large.The use of a variable step length which can be shorter or longer than the fixed step size leads to a larger variability and so to a Richardoson's plot having a less accurate fitting.That has effects on the uncertainties of the parameter to estimate.Because of that, a more careful choice of the step size range is needed in the case of HYBRID method.
Importantly, it is quite clear that the choice of the starting point may also affect the perimeter value as the following currents points will depend upon this.A test on 80 random starting points for the Gosper Island fractal revealed that the fd computation performed with the HYBRID method appeared to be more stable than the one with EXACT.
As for walking method, in box counting the process of scaling from the maximum box size is limited by the pixel size so in principle a gross resolution might be the reason of a bad estimate of fd.It is noteworthy that the tests performed do not show any correlation between resolution and fd accuracy; that may be also caused by the fact that some fractals such as dragon does not reproduce the real fractal at small scales.An application of the DBC method on a x-ray image is also shown in Figure 13 where breast cancer mammography image has been processed.The method uses a sliding technique as implemented in blockproc or col f ilt matlab functions so to produce an image rather than a single fd value as previously described.
The second DBC method shows higher contrast in the area of the cancer and consequently lower fd values.Due to the enormous amount of linear fitting performed for an image size of 3450 × 3100 the computational time reached 15 minutes.

Conclusions
In this chapter some of the most widely used and robust methods for fractal dimension estimation as well as their performances have been described.For few of them a detailed description of the algorithm has been also reported to make much easier for a beginner to start and implement his own Matlab code.Computational time is not excessively long to necessitate compiled functions such as C-mex files but that can be an advantage when using very high resolution images.The use of the described algorithms is obviously not restricted to the sole field of the image processing but it can be applied with some changes to any data analysis.

Figure 3 .
Figure 3. Walking technique applied to a coastline with different step lengths.

Figure 4 .
Figure 4. Perimeter estimation by HYBRID method flowchart: an arbitrary starting point S (x S , y S ) on the boundary line is chosen and copied in a new variable, which is called current point C (x C (i), y C (i)).The index i runs through the total number of coordinate points and is iteratively increased defining the running point R with coordinates (x R , y R ).The distance d between S and R is calculated and a check on d when smaller than a fixed step length is done.The process is repeated until a boundary point whose distance from (x S , y S ) is larger than the step is reached.The next pivot point on the boundary line is determined by choosing between the two points the closest to the step length.The distance is then stored and this point becomes the new starting point in order to calculate the next pivot point and so on, until the initial starting point S is reached.

Figure 5 .
Figure5.Perimeter estimation by EXACT method flowchart: an arbitrary starting point S (x s , y s ) on the boundary line is chosen and copied in a new variable, which is called current point C (x c (i), y c (i)).The index i runs through the total number of coordinate points and is iteratively increased defining the running point R with coordinates (x R , y R ).The distance d between S and R is calculated and a check on d when smaller than a fixed step length is done.The process is repeated until a boundary point whose distance from (x s , y s ) is larger than the step is reached.The exact position of the next pivot point (x, y) on the boundary line is determined by interpolating the two consecutivepoints (x R , y R ) and (x R+1 , y R+1 ).The point (x, y) becomes the new starting point in order to calculate the next pivot point and so on, until the initial starting point S is reached.

Figure 6 .
Figure 6.a) The piece-wise linear assumption (a) (b) and the EXACT algorithm (c); b)Geometric EXACT interpolation scheme, with S starting point given by (x C , y C ) coordinates, R and R two consecutive boundary running points respectly given by (x R , y R ) and (x R+1 , y R+1 ) coordinates, N new current point obtained by the interpolation between R and R and a fixed step length.

Figure 8 .
Figure 8.The Box-counting algorithm flowchart: given an image I, its size, S 0 , is set as the maximum size from which the computer program starts to calculate the others decreasing box-sizes according to S = S 0 /2 N .The S value has minimum value which is equal to the pixel size.The number p indicates the total number of box size S.The next step is a check on whether at least one pixel is in the box: if the box is non-empty, the check is stopped when one pixel is found.The procedure continues until the maximum index p(s) is reached.Then the number Nboxes(S) for a given size S is stored and the process restarts with a different box size.When the minimum box size is reached the program stops and gives the output variables of Nboxes and the size value.Using the Eq. 8 the fractal dimension D can be estimate, from the least square linear fit.

Figure 9 .
Figure 9. Example of DBC method application for determining the number of boxes of size s × s × s, when s = 3.

Figure 10 .
Figure 10.Example of DBC method application with boxes of s × s × s, when s = 3.The two pixels A and B, denoting the maximum and the minimum gray levels of the block, are assigned in two differents boxes, having distance in eight direction smaller than the box size s = 3.

Table 1 .
Tabular of results for box counting method application.

Table 2 .
Tabular of results for walking-based methods application.