1 Cavity, concavity Cavity – bounded connected component of background (a hollow in an object) Concavity - concave shapes of the contour of an object. 2D hole = 2D cavity cavity, 2D hole concavity
2 3D hole and 3D cavity There is no good precise mathematical definition of a 3D hole. There is only a method how we can detect a hole The presence of a hole in X is detected whenever there is a closed path in X that cannot be iteratively deformed in X to a single point. [Kong 89] According to the method a hole is not a subset of 3D space. [Coup 10a]
3 3D hole closing algorithm [Coup 10a]
4 3D hole closing algorithm [Coup 10a]
5 3D hole closing algorithm [Coup 10a]
6 3D hole closing algorithm [Coup 10a]
7 3D hole closing algorithm (i-th iteration) [Coup 10a]
8 3D hole closing algorithm (last but one iteration) Surface points T = 1; Tb = 2 Curve point (1D isthmus point) T = 2; Tb = 1 [Coup 10a]
9 3D hole closing algorithm Surface points T = 1; Tb = 2 [Coup 10a]
10 3D hole closing algorithm Let (Z 3, m, n, B) is a digital image and Y is a rectangular prism set of black points such that B Y. The algorithm iteratively removes border points x of Y \ B such that Tb(x) = 1. The removing process is guided by a distance function of point x from set B. [Actouf 2002]
11 3D hole closing examples [Aktouf 02]
12 3D hole closing examples [Coup 10a]
13 3D selective closing of holes Input set: B, Y – rectangular prism: B Y The algorithm in addition deletes each point x which is a surface point (Tb(x) = 2 and T(x) = 1) and d(x, B) > a [Aktouf 02]
14 Properties of 3D hole closing algorithm Linear in time and space (optimal). Based on well defined topological characteristic of points. No parameters to tune or only one parameter (size of a hole) when it utilises a distance map to close only small holes. wide potential application (reparation of tomografic images, fast detection of holes). Drawbacks Closes not only holes but also cavities. Sensitive to branches which are close to a hole.
15 HCA closes holes and cavities
16 HCA which closes only holes +
17 Branches insensitive AZO HCO Homotop. Skel. HCO with a new guide function Geodezyjna dylacja Skeletonisation
18 HCA+ HCA+ ( Input X, Output Z) 01. X cf ← CavitiesFilling(X) 02. Y ← HCA(X cf ) 03. Y dil ← GeoDilat(Y;X) 04. C ← Y dil ∩ X 04. S C ← UHS(C) 05. Z ← HCA(S C )
19 HCA+ results
20 Filtered skeleton constrained by medial axis The algorithm uses the following notions: quadratic Euclidean distance, medial axis, Euclidean skeleton, bisector function. Denotes Let denote by E the discrete plane Z 2, by N the set of nonnegative integers, and by N * the set of strictly positive integers. A point x in E is defined by (x 1, x 2 ) with x i in Z. Let x, y є E. Let denote by d 2 (x,y) the square of the Euclidean distance between x and y, that is, d 2 (x,y) = (x 1, y 1 ) 2 + (x 2 y 2 ) 2. Let Y E, let denote by d 2 (x,Y) the square of the Euclidean distance between x and the set Y, that is, d 2 (x,Y) = min{d 2 (x,y); y є Y}.
21 Squared Euclidean distance map Let X be (the ‘‘object’’), we denote by the map from E to N which associates, to each point x of E, the value where denotes the complementary of X (the ‘‘background’’). The map is called the (squared Euclidean) distance map of X.
22 How to efficiently calculate the squared Euclidean distance
23 Thickness of an object Let E = Z 2 or E = R 2, X E, and let x є X. The thickness t(x) of the object X at x is defined as a radius of a biggest ball among balls centred at x and included in X. [Atta 96] x t(x) y t(y)
24 Projection Let X be a nonempty subset of E, and let x є X. The projection of x on X, denoted by Pr(x,X), is the set of points y of which are at minimal distance from x. [Coup 07] x y a b c
25 Bisector function Let X E, and let x є X. The bisector angle of x in X, denoted by θ X (x), is the maximal unsigned angle between the vectors,, for all y, z in Pr(x, X). In particular, if #Pr(x, X) = 1, then θ X (x) = 0. The bisector function of X, denoted by θ X, is the function which associates to each point x of X, its bisector angle in X. x y a b c θ X (x)
26 Bisector function in continuous space Let E = R 2, X E, and let x є X. If x belongs to the medial axis of X, then its bisector angle is strictly positive. The bisector angle is equal to π for points where the thickness of the object is extremum [Vinc 91]. x y a b c d π
27 Bisector function in discreet space
28 Extended projection Let E = Z 2, X E and x є X. The extended projection of x on X, denoted by EPr(x, X), is the union of the sets Pr(y; X), for all y in the 4-neighborhood of x (6-neighborhood in Z 3 ).
29 Extended bisector function Let X Z 2, and let x є X. The extended bisector angle of x in X, denoted by, is the maximal unsigned angle between the vectors,, for all y, z in EPr(x,X). The extended bisector function of X, denoted by, is the function which associates to each point x of X, its extended bisector angle in X.
30 Niece-looking statement Let X Z 2, and let x є X. If x belongs to the medial axis of X, then its extended bisector angle is strictly positive. [Coup 07]
31 Examples of extended bisector functions part 1 [Coup 07]
32 Examples of extended bisector function part 2 [Coup 07]
33 Examples of extended bisector function part 4 [Coup 07]
34 Using a bisector function for medial axis filtering in 2D [Coup 07]
35 Using extended bisector function for medial axis filtering in 3D Medial axis Extended Bisector Filtered medial axis. Ext. Bis. Threshold: 2.7
36 Ultimate skeleton constrained by a set Let (E, m, n, B) be a digital image where E = Z 2 lub Z 3 and B is a finite subset of black points. Def of thinning is presented in slide 19. It is a process of iterative deletion of simple points form an input object B.slide 19 We say that Y B is an ultimate skeleton of B if Y is an result of thinning of B and there is no simple point for Y. Let C be a subset of B. We say that Y is an ultimate skeleton of B constrained by C if the following conditions are true: C Y Y is a result of thinning of B there is no simple point in B \ C The set C is called the constraint set relative to this skeleton [Vinc 91].
37 Ultimate skeleton, constrained by a set and distance-guided Let C be a subset of B. We say that Y is an ultimate skeleton of B constrained by C and distance-guided if Y is an ultimate skeleton of B constrained by C and the deletion of points is guided by a distance function d in order to select first the points which are closest to the background. UltimateGuidedSkeleton (Input B, d, C, Output Z) 01. Z ← B 02. Q ← {(d(x), x); where x is any point of B \ Y } 03. While Q ≠ θ; Do 04.choose (d(x), x) in Q such that d(x) is minimal 05. If x is simple for Z t hen 06. Z ← Z \ {x} 07.Q ← Q ∪ {(d(y), y); where y ∊ N m (x) ∩ (Z \ Y) }
38 Filtered euclidean skeleton FilteredGuidedSkeleton (Input: B, r, , Output: Z) 01. D B ← ExactSquaredEuclideanDistanceMap(B) 02. M ← MedialAxis(X, D B ) 03. Θ ← ExactBisector(M, D B ) 05. Y ← {x є M; D B (x) ≥ r and Θ(x) ≥ } 06. Z ← UltimateSkeleton(Z, D B, Y )
39 Example in 2D Non filtered filtered r = 0, = 2 filt. r = 64, = 2.2 filt. R=100, = 3.14 [Coup 07]
40 Example in 3D Medial axis Euclidean skeleton Filtered skeleton r = 1, = 1.5 [Coup 07]
41 Example in 3D r = 15; alfa = 1.5 [Coup 07]
42 References [Aktouf 02] Aktouf Z., Bertrand G., Perroton L.: A three-dimensional holes closing algorithm, Pattern Recognition Letters, vol. 23, pp , [Alex 71] Alexander J. C., Thaler A. I., The boundary count of digital pictures, J Assoc. Comput Mach, pp , 1971 [Atta 96] Attali D., Montanvert A., Modeling noise for a better simplification of skeletons, in Proc. of International Conference on Image Processing, 1996, pp. III: [Coup 07] Couprie M., Coeurjolly D., Zrour R., Discrete bisector function and Euclidean skeleton in 2D and 3D, Image Vision Comput., vol. 25, pp , [Coup 10] Michel Couprie’s webpage on simple points: [Coup 10a] Michel Couprie’s presentation on hole closing [Duda 67] Duda R. O., Hart P. E., H. M. J., Graphical-Data-Processing Research Study and Experimental Investigation, AD657670, [Hild 83] Hilditch C. J., Comparison of thinning algorithms on a parallel processor, Image Vision Comput, pp , [Kong 89] Kong T. Y., A digital fundamental group, Computer Graphics, vol. 13, pp , [Malan 10] George Malandain’s webpage on digital topology: [Malina 02] Malina W., Ablameyko S., Pawlak W.: Podstawy cyfrowego przetwarzania obrazów, AOW Exit, 2002 (in polish) [Mylo 71] Mylopoulos J., Pavlidis T., On the topological properties of quantized spaces II: Connectivity and order of connectivity, J. Assoc. Comput. Mach, pp , [Rose 70] Rosenfeld A., Connectivity in Digital Pictures, J. ACM, vol. 17, pp , [Rose 73] Rosenfeld A., Ares and curves in digital pictures, J. Assoc. Comput. Mach. 20, 1973, [Rose 86] Ronse C., A topological characterization of thinning, Theoret. Comput. Sci. 43, 1986, [Stef 71] Stefanelli R., Rosenfeld A., Some parallel thinning algorithms for digital pictures, J. Assoc. Comput. Mach, pp , [Vinc 91] Vincent L.: Efficient computation of varous types of skeletons. In SPIE’s Medical Imaging V, volume 1445, San Jose, CA, February 1991.