Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Digital topology and cross-section topology for grayscale image processing M. Couprie A 2 SI lab., ESIEE Marne-la-Vallée, France www.esiee.fr/a2si.

Similar presentations


Presentation on theme: "1 Digital topology and cross-section topology for grayscale image processing M. Couprie A 2 SI lab., ESIEE Marne-la-Vallée, France www.esiee.fr/a2si."— Presentation transcript:

1 1 Digital topology and cross-section topology for grayscale image processing M. Couprie A 2 SI lab., ESIEE Marne-la-Vallée, France www.esiee.fr/a2si

2 2 What is topology ? « A topologist is interested in those properties of a thing that, while they are in a sense geometrical, are the most permanent- the ones that will survive distortion and stretching. » Stephen Barr,"Experiments in Topology",1964

3 3 Aims of this talk zPresent the main notions of digital topology zShow their usefulness in image processing applications zStudy some topological properties of digital grayscale images (ie. functions from Z n to Z) zTopology-preserving image transforms zTopology-altering image transforms zApplications to image processing (filtering, segmentation…)

4 4 Some milestones zJ.C. Maxwell (1870): ‘On hills and dales ’ zA. Rosenfeld (1970’s): digital topology zA. Rosenfeld (1980’s): fuzzy digital topology zS. Beucher (1990): definition of homotopy between grayscale images zG. Bertrand (1995): cross-section topology

5 5 Contributors zGilles Bertrand zMichel Couprie zLaurent Perroton zZouina Aktouf (Ph.D student) zFrancisco Nivando Bezerra (Ph.D student) zXavier Daragon (Ph.D student) zPetr Dokládal (Ph.D student) zJean-Christophe Everat (Ph.D student)

6 6 Outline of the talk zDigital topology for binary images zApplications to graylevel image processing zCross-section topology for grayscale images zTopology-altering transforms, applications Part 1 Part 2

7 7 Digital topology for binary images z8-adjacency, 4-adjacency in black: X (object) in white: X (background). zpath, connected components

8 8 Digital topology for binary images z8-adjacency, 4-adjacency in black: X (object) in white: X (background). zpath, connected components

9 9 z8-adjacency, 4-adjacency in black: X (object) in white: X (background). zpath, connected components Digital topology for binary images

10 10 Digital topology for binary images z8-adjacency, 4-adjacency in black: X (object) in white: X (background). zpath, connected components

11 11 More examples Black:4, white:8 Black:8, white:4 3 1 2 2

12 12 Jordan property zAny simple closed curve divides the plane into 2 connected components.

13 13 Jordan property (cont.) zA subset X of Z 2 is a simple closed curve if each point x of X has exactly two neighbors in X 4-curve 8-curve

14 14 Jordan property (cont.) zA subset X of Z2 is a simple closed curve if each point x of X has exactly two neighbors in X Not a 4-curve

15 15 Jordan property (cont.) zA subset X of Z2 is a simple closed curve if each point x of X has exactly two neighbors in X Not an 8-curve

16 16 Jordan property (cont.) zThe Jordan property does no hold if X and its complement have the same adjacency 8-adjacency 4-adjacency

17 17 Topology preservation - notion of simple point zA topology-preserving transform must preserve the number of connected components of both X and X. zDefinition (2D): A point p is simple (for X) if its modification (addition to X, withdrawal from X) does not change the number of connected components of X and X.

18 18 Simple point: examples Set X (black points)

19 19 Simple point: examples Simple point of X

20 20 Simple point: examples Simple point of X

21 21 Simple point: counter- examples Non-simple point (background component creation if deleted)

22 22 Simple point: counter- examples Non-simple point (component splitting if deleted)

23 23 Simple point: parallel deletion Deleting simple points in parallel may change the topology

24 24 Simple point: local characterization ?

25 25 Simple point: local characterization ?

26 26 Connectivity numbers zT(p)=number of Connected Components of (X - {p}) N(p) where N(p)=8-neighborhood of p zT(p)=number of Connected Components of (X - {p}) N(p) A zCharacterization of simple points (local): p is simple iff T(p) = 1 and T(p) = 1 A T=2,T=2T=1,T=1T=1,T=0T=0,T=1 U U Interior point Isolated point

27 27 Skeletons zWe say that Y is a skeleton of X if Y may be obtained from X by sequential deletion of simple points zIf Y is a skeleton of X and if Y contains no simple point, then we say that Y is an ultimate skeleton of X zIf Y is a skeleton of X and if Y contains only non-simple points and ‘end points’, then we say that Y is a curve skeleton of X

28 28 End points zWe say that p is an end point for X if (X - {p}) N(p) contains exactly one point End pointEnd point (8)Non-end point U

29 29 Skeletons (examples) Original image Curve skeleton Ultimate skeleton End points

30 30 Homotopy zWe say that X and Y are homotopic (i.e. they have the same topology) if Y may be obtained from X by sequential addition or deletion of simple points

31 31 Basic thinning algorithms Ultimate thinning(X) Repeat until stability: Select a simple point p of X Remove p from X Curve thinning(X) Repeat until stability: Select a simple, non-end point p of X Remove p from X

32 32 Centering skeletons

33 33 Breadth-first thinning Simple points detected during the 1st iteration Candidates for the 2nd iteration

34 34 Breadth-first thinning Breadth-first ultimate thinning(X) T := X ; T’ :=  Repeat until stability While  p  T do T := T \ {p} If p is a simple point for X then X := X \ {p} For all q neighbour of p, q  X, do T’ := T’  {q} T := T’ ; T’ := 

35 35 Directional thinning z (only in 2D) North South East West

36 36 Parallel directional algorithm zIn 2D, simple and non-end points of the same type (N,S,E,W) can be removed in parallel Directional Curve thinning(X) Repeat until stability: For dir =N,S,E,W Let Y be the set of all simple, non-end points of X of type dir X = X \ Y

37 37 Does not work in 3D zIn 3D, there are 6 principal directions: N,S,E,W,Up,Down Up

38 38 Thinning guided by a distance map  Let X be a subset of Z 2, the distance map DM X is defined by, for all point p : DM X (p) = min{dist(p,q), q not in X} where dist is a distance (e.g. city block, chessboard, Euclidean)

39 39 Discrete distances zCity block distance (d 4 ) d 4 (p,q) = length of a shortest 4-path between p and q zChessboard distance (d 8 ) d 8 (p,q) = length of a shortest 8-path between p and q

40 40 Discrete distance maps 111111 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11111 11 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2222 2222 22 22 33 3333 3333 3 3 3 34 4 4 4 22 2 2 2 2 2 2 22 2 2 2 2 2 2 2222 2222 3 33 3 3333 3 3 3 3 44 111111 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11111 11 1 1 1 1 11 11 11 11 d4d4 d8d8

41 41 Discrete and Euclidean distance maps d8d8 d4d4 dede

42 42 Thinning guided by a distance map: algorithm Ultimate guided thinning(X) Compute the distance map DM X Repeat until stability: Select a simple point p of X such that DM X (p) is minimal Remove p from X Curve guided thinning(X) Id., replace « simple » by « simple non end »

43 43 Thinning guided by a distance map: results d8d8 d4d4 dede

44 44 The 3D case A topology-preserving transform must preserve: -number of connected components of X -number of « holes » (or « tunnels »)

45 45 3D hole (tunnel)

46 46 3D hole (tunnel)

47 47 3D-skeletons Original object Surface skeleton Curve skeleton Ultimate skeleton

48 48 Topological classification of points (G. Bertrand) T=1,T=1T=1,T=2T=3,T=1 (1D isthmus) (simple point) (2D isthmus)

49 49 3D hole closing zG. Bertrand zZ. Aktouf (Ph. D) zL. Perroton

50 50 3D hole closing

51 51 3D hole closing

52 52 3D hole closing T=2,T=1 (1D isthmus) T=1,T=2 (2D isthmus)

53 53 3D hole closing

54 54 3D hole closing algorithm zLet X be an object and Y be a simply connected set containing X zWe remove iteratively all points x of Y \ X such that T(x) = 1 (i.e. simple points and 1D isthmus)

55 55 3D hole closing

56 56 3D hole closing using a distance map zThe points are processed in an order depending on their distance from X (points far from X are selected first)

57 57 3D hole closing using a distance map

58 58 3D hole closing using a distance map zWhen a point p with T=2 is selected, its removal would create a hole. The value of the distance map for this point (DM X (p)) gives an information on the « size » of the corresponding hole in X. zWe can decide to let a hole open or to close it according to this criterion.

59 59 3D hole closing using a distance map

60 60 3D hole closing: illustration

61 61 3D hole closing: illustration

62 62 3D hole closing: illustration

63 63 Outline of the talk zDigital topology for binary images zApplications to graylevel image processing zCross-section topology for grayscale images zTopology-altering transforms, applications Part 1 Part 2

64 64 Liver vascular system segmentation Contrast-enhanced tomography scan of liver (2-D cut from a 3-D image) zG. Bertrand zP. Dokladal (Ph. D)

65 65 Intensity-guided skeletonization

66 66 Segmentation results

67 67 Skeleton Filtering (1) Noisy imageNoisy skeleton Identification of relevant components Filtered skeleton Filtering criterion based on minimum accepted mean luminosity of each skeleton segment.

68 68 Skeleton Filtering (2) Two criteria based on local information: mean luminosity amplitude difference Filtering criterion based on detection of irrelevant end points

69 69 Skeleton Filtering (results) Non filteredFiltered

70 70 Segmentation of the brain cortex zM. Couprie zX. Daragon (PhD) zBasic assumption: the geometry of the brain is complex, but its topology is simple

71 71 Segmentation of the brain cortex Cortex (gray matter) White matter Cerebro- spinal fluid

72 72 Segmentation of the brain cortex: main steps Pre-segmentation Extension to the cortex White matter extraction Cortex extraction

73 73 Extraction of the white matter Morphological closing with topological control

74 74 Morphological closing with topological control A: original image B: opening of A with a small disc C: ultimate skeleton of A in B

75 75 Extension to the cortex W.M.

76 76 Extension to the cortex: use of a distance map Section of the 3D segmentation of the white matter Section of its 3D distance map (limited to distances < 1cm)

77 77 Constraint set: centers of maximal balls Distance map (section) Centers of maximal balls A maximal ball (for a set X) is a ball included in X which is not included in any other ball included in X. The set of the centers of maximal balls for X can be computed from the distance map.

78 78 Results (sections of 3D images) Without constraint set With constraint set

79 79 Results (3D view) Without constraint set With constraint set

80 80 Results (3D view) White matter Cortex

81 81 Conclusion (1st part) zImage simplification with topology preservation zControled topology modification zBinary topological operators guided by a distance map or by a grayscale image zEfficient implementations

82 82 Outline of the talk zDigital topology for binary images zApplications to graylevel image processing zCross-section topology for grayscale images zTopology-altering transforms, applications Part 1 Part 2

83 83 Cross-section topology zG. Bertrand zM. Couprie zJ.C. Everat (PhD) zF.N. Bezerra (PhD)

84 84 Cross-section topology zBasic idea: consider the topology of each cross-section (threshold) of a function.  Given a function F (Z 2 Z) and k in Z, we define the cross-section F k as the set of points p of Z 2 such that F(p)  k. zWe say that two functions F and G are homotopic if, for every k in Z, F k and G k are homotopic (in the binary sense)

85 85 Homotopy: an illustration x y F(x,y) F3F3 F2F2 F1F1 x G(x,y) G3G3 G2G2 G1G1 y

86 86 Destructible point (G. Bertrand) zDefinition: a point p is destructible (for F) if it is simple for F k, with k = F(p). zProperty: p is destructible iff its value may be lowered by one without changing the topology of any cross-section. zDefinition: a point p is constructible (for F) if it is destructible for -F (duality)

87 87 Destructible point: examples x y F(x,y) F3F3 F2F2 F1F1

88 88 Destructible point: examples x y F(x,y) F3F3 F2F2 F1F1

89 89 Destructible point: counter-examples x y F(x,y) F3F3 F2F2 F1F1

90 90 Destructible point: counter-examples x y F(x,y) F3F3 F2F2 F1F1 Component deleted Component splitted Background component created

91 91 Connectivity numbers  N + (p) = {q in N(p), F(q)  F(p)} zT + (p) = number of Conn. Comp. of N + (p). zN -- (p) = {q in N(p), F(q) < F(p)} zT -- (p) = number of Conn. Comp. of N -- (p). zN ++, T ++, N -, T - : similar zIf an adjacency relation (eg. 4) is chosen for T +, T ++, then the other adjacency (8) must be used for T -, T --

92 92 Connectivity numbers: examples 121 951 999 T + = 1 T -- = 1 128 958 911 T + = 2 T -- = 2 121 151 221 T + = 0 T -- = 1

93 93 Destructible point: local characterization zProperty: the point p is destructible iff T + (p) = 1 and T -- (p) = 1 121 951 999 T + = 1 T -- = 1 128 958 911 T + = 2 T -- = 2 121 151 221 T + = 0 T -- = 1 destructiblenon-destructible

94 94 Classification of points (G. Bertrand) zThe local configuration of a point p corresponds to exactly one of the eleven following cases: ywell (T - = 0) yminimal constructible (T ++ = T - = 1, T -- = 0) yminimal convergent (T ++ > 1, T -- = 0) yconstructible divergent (T ++ = T - = 1, T -- > 1) ypeak (T + = 0) ymaximal destructible (T + = T -- = 1, T ++ = 0) ymaximal divergent (T -- > 1, T ++ = 0) ydestructible convergent (T + = T -- = 1, T ++ > 1) yinterior (T ++ = T -- = 0) ysimple side (T + = T -- = T ++ = T - = 1) ysaddle (T ++ > 1, T -- > 1)

95 95 Classification of points: examples 121 951 999 128 958 911 121 151 221 Simple sideSaddle Peak 121 991 99 12 999 11 121 5 Maximal destructible Maximal divergent Destructible convergent 555 555 555 Interior 1 2 1 9 9 9 95

96 96 Grayscale skeletons zWe say that G is a skeleton of F if G may be obtained from F by sequential lowering of destructible points.. zIf G is a skeleton of F and if G contains no destructible point, then we say that G is an ultimate skeleton of F

97 97 Ultimate skeleton: 1D example

98 98 Ultimate skeleton: illustration

99 99 Ultimate skeleton: illustration

100 100 Ultimate skeleton: 1D example Regional minima

101 101 Ultimate skeleton: 2D example Original image F Regional minima of F (white) Ultimate skeleton G of F Regional minima of G (white)

102 102 (

103 103 Watersheds zPowerful segmentation operator from the field of Mathematical Morphology zIntroduced as a tool for segmenting grayscale images by S. Beucher and C. Lantuejoul in the 70s zEfficient algorithms based on immersion simulation were proposed by L. Vincent, F. Meyer, P. Soille (and others) in the 90s

104 104 Watersheds

105 105 Watersheds: illustration

106 106 )

107 107 Ultimate skeleton vs. Watershed line 111 1 13 111 3 13 1 1 33 3 3 3 3 3333 3 3 2 111 1 1 111111111 1 1 1 1 1 1 1 Ultimate skeleton (non-minimal points) 111 166 163 111 66 3 163 16 1 7 33 3 77 77 7773 3 3 3333 3 3 666 25 6 6 6666666 6 6 6 6 6 111 1 1 111111111 1 1 1 1 1 1 1 Watershed 3 3 3 3 1 1 3 3 3 3 1 1 3 3 3 3 6 5 6 1 1 3 3 3 3 6 5 6 1 1 66 6 66 6 6 777 77 777 666 6 6 6666666 6 6 6 6 6 5 6 6 5 6 6 5 66 6 66 6 6 777 77 777 666 6 6 6666666 6 6 6 6 6 5 6 6 5 6 6 5 66 6 66 6 6 777 77 777 666 6 6 6666666 6 6 6 6 6 6 6 6 6

108 108 Ultimate skeleton vs. Watershed line 111 166 161 111 66 1 161 16 1 7 11 1 77 77 7771 1 1 1111 1 1 666 26 6 6 6666666 6 6 6 6 6 111 1 1 111111111 1 1 1 1 1 1 1 1 1 1 1 6 6 6 1 1 1 1 1 1 6 6 6 1 1 66 6 66 6 6 777 77 777 666 6 6 6666666 6 6 6 6 6 6 6 6 6 A watershed point cannot be characterized locally Central point: belongs to the watershed line Central point: does not belong to the watershed line

109 109 Thinness zIn the previous examples, the set of non- minimal points of an ultimate skeleton was « thin » (a set X is thin if it contains no interior point). Is it always true ? zThe answer is no, as shown by the following counter-examples.

110 110 Thinness 1 1 3 1 33333333 11 11 111 1 333333333 3 3 333 3 3 3 3 31 3 3 3 3 3 111333133 111133333 111133333 333333333 333333333 333333333 3 3 333 3 3 3 3 3 3 3 3 3 3 33333 33333 33333 333333333 3 1111111 111111 111 111 111 111 111 111 111 111 333333 3 3 3 3 3 3 3 3 3 3 3 3 3 3 333333333 333333333 3 2 2 2 2 2 333333 3 3 3 3 3 3 3 3 3 3 3 3 3 3 333333333 333333333 3 2 2 2 2 2 2

111 111 22 2 2 22 Thinness 1111111 111 111 111 11 111 111 111 1 1 1111 1111111111 11 111 111 11 111 111 111 111 111111 11 111 11 111 33333333333333 333 3 3 3 3 3 3 33 3 33 3 22 222 222 222 2 2 2 3 3 3 3 3 3 3 3 3333333333333 3 3 3 3 3 3 3 3 3 33333 3 3 3 3 3 3 1 3 3 3 3 3 3333 2 2 2 2 2 2 1 1 1 33333 3 3 3 3 3 3 3 3 3 3 3 3333 222 22 2 2 22 222 22 2 2 22 33333333333333 333 3 3 3 3 3 3 33 3 33 3 222 222 222 2 2 2 3 3 3 3 3 3 3 3 3333333333333 3 3 3 3 3 3 3 3 3 222 222 222 2

112 112 Basic algorithm Basic ultimate grayscale thinning(F) Repeat until stability: Select a destructible point p for F F(p) := F(p) – 1 Inefficient: O(n.g), where: n is the number of pixels g is the maximum gray level

113 113 Lowest is best The central point is destructible: it can thus be lowered down to 5 without changing the topology. It can obviously be lowered more: -down to 3 (since there is no value between 6 and 3 in the neighborhood) -down to 1 (we can check that once at level 3, the point is still destructible) 311 961 999

114 114 Two special values If p is destructible, we define:  - (p)=highest value strictly lower than F(p) in the neighborhood of p  - (p)=lowest value down to which F(p) can be lowered without changing the topology 311 961 999 Here:  - (p)=3  - (p)=1

115 115 Better but not yet good If we replace: F(p) := F(p) – 1 in the basic algorithm by: F(p) :=  - (p), we get a faster algorithm. But its complexity is still bad. Let us show why:

116 116 Fast algorithm Fast ultimate grayscale thinning(F) Repeat until stability: Select a destructible point p for F of minimal graylevel F(p) :=  - (p) - Can be efficiently implemented thanks to a hierarchical queue - Execution time roughly proportional to n (number of pixels)

117 117 Complexity analysis: open problem 1111111 111 111 111 11 111 111 111 1 1 1111 1111111111 11 111 111 11 111 111 111 111 111111 11 111 11 111 33333333333333 4 2 2 3 3 3 3 3 3 3 3 3333333333333 3 3 3 3 3 3 3 3 3 11 1 11 1 3 3 3 3 3 3 3 3 3 4 444 4 4 4 4 4 4 3 222 222 222 3241 111 111 1 111

118 118 Outline of the talk zDigital topology for binary images zApplications to graylevel image processing zCross-section topology for grayscale images zTopology-altering transforms, applications Part 1 Part 2

119 119 Topology-altering transforms, applications zG. Bertrand zM. Couprie zJ.C. Everat (PhD) zF.N. Bezerra (PhD)

120 120 Altering the topology zControl over topology modification. zCriteria: yLocal contrast : notion of -skeleton yRegional contrast : regularization ySize : topological filtering yTopology : crest restoration

121 121 Non-homotopic operators zTopology preservation: strong restriction zOur goal: Change topology in a controlled way over segmentation regional minima   segmented regions

122 122 -destructible point -destructible not -destructible Illustration (1D profile of a 2D image)

123 123 -destructible point zDefinition: Let X be a set of points, we define F - (X)=min{F(p), p in X} Let be a positive integer A destructible point p is -destructible A k-divergent point p is -destructible if at least k-1 connected components c i (i=1,…,k-1) of N -- (p) are such that F(p) - F - (c i ) 

124 124 -skeleton. zWe say that G is a -skeleton of F if G may be obtained from F by sequential lowering of -destructible or peak points

125 125 -skeleton : example 111 299 192 121 991 192 191 991 111 291 199 112 Original image 12 54 14 15 44 11 111 299 191 121 991 192 191 991 111 291 199 112 -skeleton ( = 3) 12 11 11 11 11 11 The order of operations matters

126 126 -skeleton : examples = 0 = 15 = 30

127 127 Leveled skeleton zWe say that G is a leveled skeleton of F if G may be obtained from F by sequential lowering of destructible or peak points.

128 128 Leveled skeleton: example 111 276 192 121 681 192 171 981 111 281 199 112 111 266 181 121 661 182 171 881 111 281 189 112 111 266 161 121 661 172 171 871 111 281 188 112 Original imageAfter 7 stepsAfter 11 steps

129 129 Leveled skeleton: example 111 266 161 121 661 172 171 871 111 281 188 112 111 266 161 121 661 162 161 661 111 261 168 112 111 266 161 121 661 162 161 661 111 261 166 112 After 18 steps (final result) After 11 steps (reminder) After 17 steps

130 130 Leveled skeleton: example Original image Regional minima Leveled skeleton

131 131 Regularization zIn a leveled skeleton, the regional minima are separated by ‘thin crest lines’. zThe graylevel on these lines correspond to the ‘altitude of the lowest pass connecting two neighboring minima’ (in the skeleton, and in the original image as well). zThis allows to detect and modify ‘irregular crest points’

132 132 Regularization (cont.) a b x If a > b then x is irregular a b x Leveled skeleton

133 133 Regularization: example Original image Regularized leveled skeleton

134 134 Binary reconstruction Original image Regularized skeleton a b

135 135 Regularization and reconstruction: segmentation without any parameter Original image Regularized leveled skeleton Binary reconstruction

136 136 Topological filtering A: original C: reconstruction of B under A B: thinning+ peak deletion

137 137 Topological filtering (cont.) Original image

138 138 Topological filtering (cont.) Homotopic thinning (n steps)

139 139 Topological filtering (cont.) Peak deletion

140 140 Topological filtering (cont.) Homotopic reconstruction

141 141 Topological filtering (cont.) Final result

142 142 Comparison with the morphological approach zMorphological opening (erosion,dilation): makes no difference between a disk of diameter d and an elongated object of thickness d. zArea opening: makes no difference between a disk and an elongated object having the same area

143 143 Crest restoration zMotivation Thinning + thresholding Gradient Original image

144 144 Crest restoration (cont.) 50 90 240 0 0 0 0 0 00 0 0 50 90 50 60 0 40 90 4060 0 0 50 240 50 240 0 60 0 40 240 0 0 0 50 240 50 240 0 0 0 0 00 0 0 50  p is a separating point if ythere is k such that T(p, F k )=2  p is extensible if  p is a separating point, and  p is a constructible or saddle point, and  there is a point q in its neighborhood that is an end point or an isolated point for F k, with k=F(p)+1

145 145 Crest restoration (cont.) 50 90 240 0 0 0 0 0 00 0 0 50 90 50 60 0 40 90 4060 0 0 50 240 50 240 0 60 0 40 240 0 0 0 50 240 50 240 0 0 0 0 00 0 0 50  p is a separating point if ythere is k such that T(p, F k )=2  p is extensible if  p is a separating point, and  p is a constructible or saddle point, and  there is a point q in its neighborhood that is an end point or an isolated point for F k, with k=F(p)+1

146 146 Crest restoration (cont.) 240 50 240 0 050 240 0 0 00 0 0 50 240 50 60 0 40 90 60 0 0 50 240 50 240 0 60 0 240 0 0 0 50 240 0 0 0 00 050 240 90 240 50 0 0 40 5040 0 240 50 240 0 050 240 0 0 00 0 0 50 240 50 60 0 4060 0 0 50 240 50 240 0 60 0 240 0 0 0 50 240 0 0 0 00 050 240 50 0 0 40 5040 0 240 50 240 0 050 240 0 0 00 0 0 50 240 50 60 0 40 90 60 0 0 50 240 50 240 0 60 0 240 0 0 0 50 240 0 0 0 00 050 240 50 0 0 40 5040 0 240

147 147 Crest restoration (cont.) Thinning + thresholding Thinning + crest restoration + thresholding Gradient

148 148 Crest restoration (cont.) Thinning + crest restoration + thresholding (1 parameter) Thinning+ hysteresis thresholding (2 parameters) Thinning+ hysteresis thresholding (2 parameters)

149 149

150 150 Crest Restoration: result ‘Significant’ crests have been highlighted (in green) Before crest restoration: After crest restoration:

151 151 Centering grayscale skeletons Breadth-first ultimate thinning(F) T := domain of F ; T’ :=  Repeat until stability While  p  T do T := T \ {p} If p is a destructible point for F then F(p) :=  - (p) For all q neighbour of p, do T’ := T’  {q} T := T’ ; T’ := 

152 152 Breadth-first ultimate thinning : example

153 153 New strategies to reduce anisotropy zGeneralized Euclidean distance map (computes one distance map for each cross-section) zDynamic estimation of Euclidean distance (uses the Danielson’s principle and approximation)

154 154 Reducing anisotropy: results

155 155 Reducing anisotropy: results

156 156 Reducing anisotropy: results

157 157 Conclusion (2nd part) zStrict preservation of both topological and grayscale information zCombining topology-preserving and topology-altering operators zControl based on several criteria (contrast, size, topology) zStrategies to reduce anisotropy

158 158 Perspectives zStudy of complexity zExtension to 3D zTopology in orders (G. Bertrand)

159 159 Perspectives zG. Bertrand, J. C. Everat and M. Couprie: "Image segmentation through operators based upon topology", Journal of Electronic Imaging, Vol. 6, No. 4, pp. 395-405, 1997. "Image segmentation through operators based upon topology" zM. Couprie, F.N. Bezerra, Gilles Bertrand: "Topological operators for grayscale image processing", Journal of Electronic Imaging, Vol. 10, No. 4, pp. 1003-1015, 2001. "Topological operators for grayscale image processing" zwww.esiee.fr/~coupriem/Sdi/publis.html


Download ppt "1 Digital topology and cross-section topology for grayscale image processing M. Couprie A 2 SI lab., ESIEE Marne-la-Vallée, France www.esiee.fr/a2si."

Similar presentations


Ads by Google