Download presentation
Presentation is loading. Please wait.
Published byBenjamin Nichols Modified over 9 years ago
2
How can geometrical information and physical properties of a material be linked ? Research done in partnership with ICMCB laboratory (UPR 9048) Specialised in pourous material study, and high resolution 3- dimensional pictures production. Members participating to the project : Dominique Bernard
3
1. How calculations are usually done M otivation : Fluid flow simulation. An algorithm, based on the Navier-Stokes differential equations, is used to process 2d and 3d materials images.. The algorithm stops when result stability is reached. Main Problem : Computation time can be very long (several days)
4
1. How calculations are usually done. Calculations are not performed on the whole object, but on a sample of the object.. The material can be seen as a tesselation of the sample, and the global flow can be seen as a tesselation of the local flow.. This representation is equivalent to considering the opposite borders of the sample joined : the sample is embedded in a toric space. M otivation : Fluid flow simulation
6
2. Chosen method S keletonise the porous space of the sample in order to draw the main paths followed by the fluid flow through the material (curvilinear skeleton). T he different steps to complete :.Threshold.Remove the object’s grain (parts of the object which don’t touch the borders).Skeletonisation process [1]. M otivation : Fluid flow simulation in a toric space… [1] G. Bertrand et M. Couprie, Transformations topologiques discrètes. D. Coeurjolly, A. Montanvert et J.M. Chassery, Géométrie discrète et images numériques, Hermès, 2007.
7
2. Chosen method M ain hypothesis: The material (tesselation of the sample) has no grains (connected component which does not touch « the borders » of the image) > We hardly imagine « floating pieces » in the full material. > The grains are sources of 2d cycles in the skeleton of the porous space. T he skeleton of the porous space draws the main paths followed by the flow through the material. M otivation : Fluid flow simulation
8
3. Question H ow can we identify, in the sample, the components of the object which will create grains in the tesselation ? M otivation : Fluid flow simulation
9
The material, which is a tesselation of the sample, still contains grains.
10
3. Question H ow can we identify, in the sample, the components of the object which will create grains in the tesselation ? It is not sufficient to filter the grains of the sample in order to get rid of the grains in the tesselation. M otivation : Fluid flow simulation
12
Contents. Basic notions Toric spaces, neighbourhoods, loops, homotopy. Characterizing a « grain » in a toric space. Fundamental group of the torus Homotopy classes, wrapping vector. Algorithm for detecting « toric loops » Example, elements of proof
13
B asic notions: Toric Space Given d positive integer, we set Ζ d = {0,…, d-1}. The 1-dimensional toric space of size d is the group (Ζ d, ) with for all a,b Ζ d, a b = (a + b) mod d 1. Toric space: definition Let s = (s1, …, sn) Z n. The n-dimensional toric space of size s is the group (T n, ) = (Ζ s1, ) x … x (Ζ sn, ) [2] [2] J. Stillwell, Classical topology and combinatorial group theory, Springer.
14
B asic notions: Neighbourhood In 2D, the 1- and 2-adjacency resp. correspond to the 4- and 8-neighbourhood. In 3D, the 1- and 3-adjacency resp. correspond to the 6- and 26-neighbourhood. Definition Let (T n, ) be an n-dimensional toric space.. An m-step (0 < m ≤ n) is a vector v of {-1; 0; 1} n which has at most m non-null coordinates.. Two points a, b T n are m-adjacent if there exists an m-step v such that a v = b
15
B asic notions: Loops in toric space In a toric space, considering a loop as a sequence of points may lead to ambiguities on the object. E xample : In (Z 2 x Z 3, ), what can we say of the sequence ( (0;1), (1;1), (0;1) ) ?
16
B asic notions: Loops in toric space Definition Let (T n, ) be an n-dimensional toric space, and p T n. We call m-loop of base point p a pair = ( p, V ), such that V = (v 1, …, v k ) is a sequence of m-steps and (v 1 … v k ) = 0. Example We set p = (0,0) v 1 = (1,0) v 2 = (1,1) v 3 = (1,-1) B = ( p, (v 2, v 1, v 3 ) ). Let us consider the 2-loop B.
17
B asic notions: Loop homotopy We started from the loop homotopy definition given in [3], and small modifications were done in order to adapt it to toric spaces…
18
B asic notions: Loop homotopy Two m-loops 1 = ( p, V ) and 2 = ( p, W ), with V = ( v 1,…,v j ) and W = ( w 1,…,w k ), are directly homotopic if :. V and W differ in one null vector, (Insertion / Deletion) or. We have j=k, and there exists h [1 ; k-1], (Translation) such that. for all i [1; h-1] U [ h+2; k], v i = w i and. v h + v h+1 = w h + w h+1 and. (v h – w h ) is an n-step.
19
B asic notions: Loop homotopy
20
Two loops β 1 and β 2 in T n are homotopic if there exists a sequence (L 1, …, L k ) of loops of T n such that. L 1 = β 1, L k = β 2 and,. for all i [1; k-1], L i and L i+1 are directly homotopic.
21
C haracterizing grains in toric spaces
22
H ow can we identify, in a sample, the components of the object which contains a loop non homotopic to a point ? Thanks to the previous definitions, we can reformulate the problematic: We call toric loop a loop non homotopic to a point. H ow can we identify, in a sample, the components of the object which will create grains in the tesselation ?
23
C haracterizing grains in toric spaces Wrapping vector of a loop In (T n, ), let β = (p, V) be a loop, with V = (v 1, …, v k ). The wrapping vector of β is the vector w = ∑ v i i=1 k
24
C haracterizing grains in toric spaces Theorem This theorem proves that there exists a value, easily computable for all loops, that allows to know to which homotopy class a loop belongs to. This value corresponds to the way the loop « wraps around » the toric space : it completely describes the fundamental group of the torus (Z n ) [4]. [4] A. Hatcher, Algebraic Topology, Cambridge University Press, 2002. Two loops are homotopic if and only if their wrapping vectors are equals.
25
C haracterizing grains in toric spaces H ow can we identify, in the sample, the components of the object which contain a loop with a non null wrapping vector ? H ow can we identify, in the sample, the components of the object which contain a loop that is non homotopic to a point ?
26
A lgorithm for detecting toric loops in an object 1. Main idea. A connected component that contains a toric loop must be « broken », in order to be embedded inside the « classical » space Z n.. A connected component that does not contain any toric loop can be embedded inside Z n without any distortion. >> If an object of T n can be embedded in Z n without distortion, then it does not contain any toric loop. How is it possible to know if an object of T n can be wrapped inside Z n without any distortion?
27
2. Algorithm for detecting toric loops Data: image I (n-dimensional toric space), an m-connected object X of I, and a point p of X. For all x X, do Coordinates [ x ] = false; S = {p}; Coordinates [ p ] = 0 n ; (null n-dimensional vector) While there exists x S do S = S \ { x }; For all n-dimensional m-steps v, do y = x v ; (y is a neighbour of x in the toric space) If y X and Coordinates [ y ] == false, then Coordinates [ y ] = Coordinates [ x ] + v ; S = S U { y }; Else if y X If Coordinates [ y ] Coordinates [ x ] + v then return true; return false; (no toric loop in X) (there is a toric loop in X)
28
A lgorithm for detecting toric loops in an object 3. Example. In (Z 5 x Z 5, ), we consider the 2-adjacency (8-neighbourhood) relation, and a connected object. The 2-dimensional 2-steps
29
A lgorithm for detecting toric loops in an object 3. Example (1;-1) (1;0) (2;1) + (1;0) ≠ (-2;-1) (1;0) (0;0) + (1;0) = (1;0) (-1;0) (1;0) + (-1;0) = (0;0) S = S = {p}; Coordinates [ p ] = (0;0); While there exists x S do S = S \ { x }; For all 2-steps v, do y = x v ; If y X and Coordinates [ y ] == false, then Coordinates [ y ] = Coordinates [ x ] + v ; S = S U { y }; Else if y X If Coordinates [ y ] Coordinates [ x ] + v then return false; { (0;0) }{ }{ (1;0) }{ (1;0),(-1;0),(-1;1),(0;1) }{ (-1;0),(-1;1),(0;1) }{ (-1;0),(-1;1),(0;1),(2;-1) } return true; { (-1;1),(0;1),(2;-1),(-2;-1),(-2;0),(-2;1) }{ (-2;-1),(-2;0),(-2;1) }
30
A lgorithm for detecting toric loops in an object 4. Some results (1) No toric loop in this component This component contains toric loop
31
A lgorithm for detecting toric loops in an object 4. Some results (2)
32
C onclusion Thanks to the definitions and theorems previously given (m-step, wrapping vector,…), the algorithm is proved. Nowadays, the algorithm is used in order to detect and remove grains from object embedded in toric spaces. A new version of the algorithm allows to compute the wrapping vector of all loops contained in the object. For a given dimension, the algorithm is linear ( O(n.m) ).
34
Object without toric cycle Objet with toric cycle Components : 3 Components: 1
36
This object has a toric cycle, but it has 3 components
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.