A three-dimensional holes closing algorithm

https://doi.org/10.1016/S0167-8655(01)00152-0Get rights and content

Abstract

Contrary to the 2D case, a 3D hole is not a subset of the 3D space. It is therefore not possible to use connected components search algorithms for detecting and suppressing 3D holes.

In this paper, we propose an algorithm for suppressing 3D holes. It is based on properties of the previously introduced notion of topological number. Our algorithm is linear in time and it allows to control the “size” of the holes which are closed. As far as we know, this is the first 3D holes closing algorithm.

Introduction

In 3D biomedical images, the reconstructed objects which result from the segmentation process have sometimes unwanted holes. These holes can be considered as noise, and may not be avoided by segmentation.

However, not all of the holes are considered as noise. In many applications, the noisy holes can be characterized by their size: larger holes are actually features of the object, whereas a large amount of small holes are irrelevant. In this paper, we present an algorithm for suppressing 3D holes which original implementation uses the distance transform to control the holes that are suppressed. We will call this operation closing the holes. Fig. 1 illustrates an example of our algorithm on a reconstructed skull from tomography. Only half of the skull is actually represented so that the hole can be clearly seen. The image has been segmented by a simple threshold which created a big hole in the middle of the shape of the skull which can be seen on the left image. The right image is the result of applying our algorithm to close the hole.

In our approach, we consider the notion of holes from a topological point of view. It is important to make the difference between holes, cavities and concavities. Concavities are concave shapes of the contour of the object, as shown in Fig. 2(a). Cavities are hollows in an object, or more formally, bounded connected components of the background. The notion of hole is not very simple to visualize in 3D. For example, a torus has one hole and no cavity, whereas a hollow torus with one cavity has two holes. More formally, the presence of a hole in an object is detected whenever there is a closed path which cannot be transformed into a single point by a sequence of elementary local deformations inside the object, see Fig. 2(b).

The closing of holes in 3D images is much more difficult than in 2D. Indeed, a hole in 2D image is a cavity and thus a region, that is a bounded well-defined set of points, whereas it is not necessarily the case in 3D. Fig. 2(c) illustrates the closing of the hole of a torus. The closing of the hole is actually performed by building a surface such as a kind of patch which obstructs the hole.

The article is an extension of the paper (Aktouf et al., 1996) and is organized as follows. In the next section, we will review some basic definitions related to discrete topology of 3D. Then, we will introduce the notion of topological hull which will be used to define our algorithm from a purely topological point of view. In the following section, we will show how distance transform can be used in the topological algorithm previously introduced to enhance its result by adding a geometrical constraint and obtaining a centered topological hull. It also closes irrelevant holes. The algorithm and the detail of the implementation involving hierarchical lists will be described in Appendix A.

Section snippets

Basic topological notions

We denote E=Z3. A point xE is defined by (x1,x2,x3) with xiZ. We consider the three neighborhoods:N26(x)=x∈E;Max[|x1−x1|,|x2−x2|,|x3−x3|]⩽1,N6(x)=x∈E;|x1−x1|+|x2−x2|+|x3−x3|⩽1,N18(x)=x∈E;|x1−x1|+|x2−x2|+|x3−x3|⩽2∩N26(x).We denote N6(x)=N6(x)⧹{x}, N26(x)=N26(x)⧹{x}, N18(x)=N18(x)⧹{x}. Two points x and y are said to be n-adjacent (n=6, 18, 26) if yNn(x). An n-path π is a sequence (possibly empty) of points x0,…,xk, with xi n-adjacent to xi−1 for i=1,…,k. If π is non-empty, π is

Topological hull

We introduce the notion of topological hull: Let X be a subset of E. We denote S(X) the class composed of all the subsets of E containing X.

Definition 2 Topological hull

Let XE and YS(X). We say that Y is a topological hull of X, if Y has no holes and no cavities and if, ∀yYX, Y⧹{y} has a hole or a cavity.

The following theorem gives a local characterization of the class of sets which are topological hulls relatively to the class of sets which have no holes and no cavities:

Theorem 3

Let XE and YS(X). Suppose that Y has no

Ψ-topological hull

The most important drawback that we would want to avoid is to obtain a topologicall hull which has the tendency to “go away” from the object, as illustrated in Fig. 3(d). In the following, we are going to show how the distance transform can be introduced in the computation of the topological hull to control the process to obtain a centered topological hull. First, we introduce the notion of topological hull which is directed by a function. Intuitively, the function is used to induce an order in

Application of the distance transform

Let d be a distance over E. The distance transform (Bergefors, 1984) is a function which takes as input a binary image I containing two classes of points: a subset X of object points and a subset X of background points. This process produces another image D in which the value of each point is its distance to the closest object points. The value of an object point is 0. The image D can be computed from the input image by starting from the object points and iteratively cumulating the elementary

An ϵ-closing algorithm

An interesting feature of the D-topological hull is that we have the ability to select the holes which are going to be closed. Indeed, as we previously mentioned, the generic holes closing process is going to process all of the points which have been sorted according to the decreasing order of their distance value.

Let us suppose now that we do not start from the highest distance value, but from an arbitrary given threshold ϵ. Then, all the points which are further from the object than ϵ will

Conclusion

A 3D holes closing algorithm have been presented. It is based on some properties of the topological numbers and on the principle of the topological hull. One of its novel qualities is to allow the closing of the 3D-holes of different sizes, especially to remove smaller “noisy” ones while preserving those which are meaningful. Further, our algorithm is linear in time complexity with respect to the size of the bounding box of the considered object, on a sequential computational model.

References (10)

There are more references available in the full text version of this article.

Cited by (40)

  • Three-dimensional segmentation and symbolic representation of cerebral vessels on 3DRA images of arteriovenous malformations

    2019, Computers in Biology and Medicine
    Citation Excerpt :

    Moreover, this method aims to preserve the curves or more precisely, voxels that belong to 1D isthmuses, producing a curvilinear skeleton. To avoid topological holes, which create cycles in the skeleton, and prior to skeletonization, the segmented image is hole-closed using the algorithm described in Ref. [37]. This algorithm is based on some properties of the topological numbers and on the principle of the topological hull.

  • 3D characterization of trans- and inter-lamellar fatigue crack in (α + β) Ti alloy

    2014, Materials Characterization
    Citation Excerpt :

    Firstly undersegmentation of the boundary is performed to limit the leaks and creation of surface-like defects. Secondly, the segmented image is corrected by manually closing the boundaries of the object, as shown in Fig. 4d and after by applying the hole closing algorithm (HCA) [20]. Indeed, this latter method recently extended by Janaszewski et al. [7,21] has been successfully used to detect bridge ligaments in 3D X-ray microtomography images of intergranular stress corrosion cracking in austenitic stainless steel [22], as well as to reconstruct weld interface in tomography images of friction stir spot welding thin aluminum sheet [23].

  • Robust algorithm for tunnel closing in 3D volumetric objects based on topological characteristics of points

    2011, Pattern Recognition Letters
    Citation Excerpt :

    GeodesicDilation runs in linear time. It was proved in (Aktouf et al., 2002) that TunnelClosingAlgorithm has linear time complexity. Procedure UHCS has linear time complexity Bertrand and Couprie (2007).

View all citing articles on Scopus
View full text