2.4 Determination of the control points

Instead of using all the points of blood vessel centerline, it is worthwhile to be contented only with the control points.

Several algorithms are available to archive this reduction [43–46]. In this work, we will use the Douglas-Peucker algorithm since it gives the best results according to the works of White [43]. This algorithm is still used in many applications.

The Douglas-Peucker method is an automated algorithm, and its principle is given by the following steps:

We connect the start pixel to the end pixel of the blood vessel curve (Figure 4a) by a straight line (denoted by S; see Figure 4b).

Then, we compute the perpendicular distance (PD) of each point of the curve to the line S (Figure 4b).

We compare PD with tolerance ε, and we determine the maximal perpendicular distance MPD (Figure 4b).

If MPD > ε, then we take this point as a starting point of the new interval and repeat step 1 (Figure 4b and c).

This process is repeated until all the distances become smaller than a tolerance value ε (Figure 4b–d, and f).

Figure 4 illustrates the evolution of the progressive determination of the control points.

#### Figure 4.

Douglas-Peucker algorithm.(a) Initial curve, (b) the connection between the two end points of the curve with a line (S) and and the determining the max perpendicular distance, (c), (d) and (e) detection of the sub-new interval and repeat the same procedure, (f) Final result achieved.

### 2.5 3D reconstruction

The proposed method relied on on the natural shape of the blood vessel, it has a deformable cylindrical shape, which can be represented as a combination of an axis and a surface [8, 47, 48]; more precisely, we used the approach the right generalized cylinder state model (RGC-sm); then to create the cylindrical shape, we need a set of successive 3D circles with its axes being the blood vessel center (as shown in Figure 5). The RGC parametric equations include a coupling of an ordinary axis H

Figure 5. Representation of the cylindrical surface with given axis.

Reconstruction of Three-Dimensional Blood Vessel Model Using Fractal Interpolation DOI: http://dx.doi.org/10.5772/intechopen.82247

#### Figure 6.

Detection of the control point in 3D surface. (a) Determination of the axis control points. (b) Determination of the control circles.

and a regular surface S (radius parameter rand w is the surface azimuthal parameter) to represent the cylinder as a volumetric object:

Figure 6a shows the control points obtained for the blood vessel represented in Figure 5.

It is clear that the number of control points is greatly reduced, and therefore the image transmission time will be reduced with a limited information loss.

Actually, the 3D reconstruction is not performed to all the centerline, but it is limited only to the control points (Figure 6b).

#### 2.6 Fractal interpolation

The principle of fractal interpolation studied by Barnsley [49, 50] is to construct a continuous fractal function, passing by a number of giving points of the shape {(xn; Fn): n = 0, 1, 2,…, N} with x0 < x1 < x2 < … < xN. An interpolation function corresponding to this data set is a continuous function f: [x0; xN] passing with the interpolation points (xn; Fn) and checking f(xn)=Fn with n = 0, 1, 2,…, N. In this section, we will study constructions of 3D IFS, whose attractors, f, are the graphs of continuous functions, with affine transformation Wn [50–53]. We use the same principle to reconstruct our 3D model by using the 3D fractal interpolation method.

#### 2.6.1. Affine transformation

The affine transformations affect the rotations, translations, scaling, and shear of a data set. He generates each point in a space R<sup>n</sup> to another point in the Rn . The affine transformation contains two major parameters, A and t, where he represented in the AP + T form. The affine transformations on a data set in 2D space are is defined by the following equation [50–53]:

$$\mathbf{A} = \begin{pmatrix} \mathbf{a}\_{\mathrm{i}} & \mathbf{b}\_{\mathrm{i}} \\ \mathbf{c}\_{\mathrm{i}} & \mathbf{d}\_{\mathrm{i}} \end{pmatrix}, \mathbf{T} = \begin{pmatrix} \mathbf{e}\_{\mathrm{i}} \\ \mathbf{f}\_{\mathrm{i}} \end{pmatrix}, \text{and } \mathbf{P}\_{\mathrm{i}} \begin{pmatrix} \mathbf{x}\_{\mathrm{i}} \\ \mathbf{y}\_{\mathrm{i}} \end{pmatrix} \text{ the data set of control points} \tag{2}$$

The equation system provides five equations for five parameters, so di, the vertical scaling factor, is computed by using the fractal dimension (DF) calculated by the box-counting algorithm [54, 55]. We can solve the above equations for ai, ci, di, ei, Fi which are defined as

$$\begin{aligned} \mathbf{a\_i} &= \frac{\mathbf{x\_i} - \mathbf{x\_{i-1}}}{\mathbf{x\_N} - \mathbf{x\_1}} \\\\ c\_i &= \frac{\mathbf{y\_i} - \mathbf{y\_{i-1}}}{\mathbf{x\_N} - \mathbf{x\_1}} - \mathbf{d\_i} \* \frac{\mathbf{y\_N} - \mathbf{y\_1}}{\mathbf{x\_N} - \mathbf{x\_1}} \\\\ \mathbf{d\_i} &= (\mathbf{N} - \mathbf{1})^{\text{DF-2}} \\\\ e\_i &= \frac{\mathbf{x\_N}\mathbf{x\_{i-1}} - \mathbf{x\_1}\mathbf{x\_i}}{\mathbf{x\_N} - \mathbf{x\_1}} \\\\ f\_i &= \frac{\mathbf{x\_n}\mathbf{y\_{i-1}} - \mathbf{x\_1}\mathbf{y\_i}}{\mathbf{x\_N} - \mathbf{x\_1}} - \mathbf{d\_i} \* \frac{\mathbf{x\_N}\mathbf{y\_1} - \mathbf{x\_1}\mathbf{y\_N}}{\mathbf{x\_N} - \mathbf{x\_1}} \end{aligned} \tag{3}$$

where N is the affine transformation map number.

#### 2.6.2. Moving from 2D to 3D

In the 2D affine transformation, it only requires a single equation in AP + t form. On the other hand, the 3D affine transformation composes two 2D affine transformations, where this is represented by W1(P) = A1P+ t1 and the other is represented by W2(P) = A2P + t2; all the elements of a 2D transformation matrix could be solved and used to generalize the 3D transformations. Indeed, 3D space (x-y-z) is divided into two 2D spaces (x-y space and x-z space). To determine the 3D affine transformation parameters, we calculate, at first, the parameters of W1 in the space x-y. For that, the parameter bi (bi = 0) is eliminated, so that the y-axis has no term of rotation. The function W1 is defined as follows:

$$P' = W\_1(P) = \begin{cases} \mathbf{x'\_i} = \mathbf{a\_i}\mathbf{x\_i} + \mathbf{e\_i} \\ \mathbf{y'\_i} = \mathbf{c\_i}\mathbf{x\_i} + \mathbf{d\_i}\mathbf{y\_i} + f\_i \end{cases} \tag{4}$$

Similarly for the second affine transformation W2 in the space x-z, we use the same approach:

$$P' = \mathcal{w}\_2(P)\begin{cases} \mathbf{x'\_i} = \mathbf{a\_i}\mathbf{x\_i} + \mathbf{e\_i} \\ \mathbf{z'\_i} = \mathbf{c\_i}\mathbf{x\_i} + \mathbf{d\_i}z\_i + f\_i \end{cases} \tag{5}$$

#### 2.6.3. Iterated function system (IFS)

Considering WN is the 3D affine transformation (W1,…, Wn), we select an initial set circle which can be selected at random; then we compute iteratively the new

Reconstruction of Three-Dimensional Blood Vessel Model Using Fractal Interpolation DOI: http://dx.doi.org/10.5772/intechopen.82247

Figure 7. Constructions by iterated function system (IFS) method.

data sets. In practice, we start with an the initial circle set and a whole group of affine functions to generate the first set circle. Then, using this circle set and a whole group of affine functions to generate the second circle set, we continue to generate circle set until the generated circle set conforms the requirements of the desired shape, as can be seen in Figure 7 [53].
