Skip to main content
Log in

Efficiently Storing Well-Composed Polyhedral Complexes Computed Over 3D Binary Images

  • Published:
Journal of Mathematical Imaging and Vision Aims and scope Submit manuscript

Abstract

A 3D binary image I can be naturally represented by a combinatorial-algebraic structure called cubical complex and denoted by Q(I), whose basic building blocks are vertices, edges, square faces and cubes. In Gonzalez-Diaz et al. (Discret Appl Math 183:59–77, 2015), we presented a method to “locally repair” Q(I) to obtain a polyhedral complex P(I) (whose basic building blocks are vertices, edges, specific polygons and polyhedra), homotopy equivalent to Q(I), satisfying that its boundary surface is a 2D manifold. P(I) is called a well-composed polyhedral complex over the picture I. Besides, we developed a new codification system for P(I), encoding geometric information of the cells of P(I) under the form of a 3D grayscale image, and the boundary face relations of the cells of P(I) under the form of a set of structuring elements. In this paper, we build upon (Gonzalez-Diaz et al. 2015) and prove that, to retrieve topological and geometric information of P(I), it is enough to store just one 3D point per polyhedron and hence neither grayscale image nor set of structuring elements are needed. From this “minimal” codification of P(I), we finally present a method to compute the 2-cells in the boundary surface of P(I).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. Artzy, E., Frieder, G., Herman, G.T.: The theory, design, implementation and evaluation of a three-dimensional surface detection algorithm. Comput. Graph. Image Process. 15, 1–24 (1981)

  2. Boutry, N., Géraud, T., Najman, L.: How to make nD functions digitally well-composed in a self-dual way. In: Proceedings of the 12th International Conference on Mathematical Morphology and Its Applications to Signal and Image Processing. LNCS 9082, pp. 561–572 (2015)

  3. Boutry, N., Géraud, T., Najman, L.: How to make nD images well-composed without interpolation. In: International Conference on Image Processing (ICIP 2015) IEEE, 27–30 Sept 2015, pp. 2149–2153 (2015)

  4. Gonzalez-Diaz, R., Jimenez, M.-J., Medrano, B.: Well-composed cell complexes. In: Proceedings of the 16th International Conference on Discrete Geometry for Computer Imagery (DGCI 2011), LNCS 6607, pp. 153–162 (2011)

  5. Gonzalez-Diaz, R., Jimenez, M.-J., Medrano, B.: 3D well-composed polyhedral complexes. Discret. Appl. Math. 183, 59–77 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  6. Gonzalez-Diaz, R., Jimenez, M.-J., Medrano, B.: Demo: Well-composed polyhedral complexes. http://grupo.us.es/cimagroup/DEMO_JMIV_matlab.zip

  7. Gonzalez-Diaz, R., Jimnez, M.-J., Medrano, B.: Encoding specific 3D polyhedral complexes using 3D binary images. In: Proceedings of the 19th International Conference on Discrete Geometry for Computer Imagery (DGCI 2016). LNCS 9647, pp. 268–281 (2016)

  8. Han, X., Xu, C., Prince, J.L.: A topology preserving deformable model using level sets. In: IEEE CVPR2001 (session 2), pp. 765–770 (2001)

  9. Hatcher, A.: Algebraic Topology. Cambridge University Press, Cambridge (2002). ISBN 0-521-79540-0

    MATH  Google Scholar 

  10. Herman, G.T.: Discrete multidimensional Jordan surfaces. CVGIP Graph. Models Image Process. 54, 507–515 (1992)

    Article  Google Scholar 

  11. Kenmoki, Y., Imiya, A.: Combinatorial boundary of a 3D lattice point set. J. Vis. Commun. Image Represent. 17, 738–766 (2006)

    Article  Google Scholar 

  12. Kozlov, D.: Combinatorial algebraic topology. Algorithms Comput. Math. 21, 16–27 (2008)

  13. Lachaud, J.O., Montanvert, A.: Continuous analogs of digital boundaries: a topological approach to iso-surfaces. Graph. Models 62, 129–164 (2000)

    Article  Google Scholar 

  14. Latecki, L.J.: 3D well-composed pictures. Graph. Models Image Process. 59(3), 164–172 (1997)

    Article  Google Scholar 

  15. Latecki, L.J.: Discrete Representation of Spatial Objects in Computer Vision. Kluwer Academic, Dordrecht (1998)

    Book  MATH  Google Scholar 

  16. Latecki, L., Eckhardt, U., Rosenfeld, A.: Well-composed sets. Comput. Vis. Image Underst. 61(1), 7083 (1995)

    Article  Google Scholar 

  17. Latecki, L., Conrad, C., Gross, A.: Preserving topology by a digitization process. J. Math. Imaging Vis. 8(2), 131159 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  18. Lorensen, W.E., Cline, H.E.: Marching cubes: a high resolution 3D surface construction algorithm. ACM SIGGRAPH 21, 163–169 (1987)

    Article  Google Scholar 

  19. Najman, L., Géraud, T.: Discrete set-valued continuity and interpolation. In: Proceedings of the 11th International Symposium on Mathematical Morphology and Its Applications to Signal and Image Processing. LNCS 7883, pp. 37–48 (2013)

  20. Rosenfeld, A., Kong, T.Y., Nakamura, A.: Topology-preserving deformations of two-valued digital pictures. Graph. Models Image Process. 60(1), 2434 (1998)

    Article  Google Scholar 

  21. Rosenfeld, A., Kong, T.Y., Wu, A.Y.: Digital surfaces. CVGIP, Graph. Models Image Process. 53, 305–312 (1991)

    Article  MATH  Google Scholar 

  22. Siqueira, M., Latecki, L.J., Gallier, J.: Making 3D binary digital images well-composed. In: Proceedings of SPIE 5675, Vision Geometry XIII, pp. 150–163 (2005)

  23. Siqueira, M., Latecki, L.J., Tustison, N., Gallier, J., Gee, J.: Topological repairing of 3D digital images. J. Math. Imaging Vis. 30, 249–274 (2008)

    Article  MathSciNet  Google Scholar 

  24. Stelldinger, P., Latecki, L.J.: 3D object digitization: majority interpolation and marching cubes. In: Proceedings of the 18th IEEE International Conference on Pattern Recognition (ICPR 2016), pp. 1173–1176 (2006)

  25. Stelldinger, P.: Image digitization and its influence on shape properties in finite dimensions, vol. 312. IOS Press, Amsterdam, The Netherlands (2008)

Download references

Acknowledgements

We would like to thank the anonymous reviewers for their valuable suggestions and comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Maria-Jose Jimenez.

Additional information

Partially supported by MTM2015-67072-P (MINECO/FEDER, UE).

Appendix: Proofs of the Main Results in the Paper

Appendix: Proofs of the Main Results in the Paper

Proof of Proposition 1

Let us prove the statements case by case.

  1. (a)

    A size-2 cube c(p) is centered at \(p\in {{\mathcal {E}}}_0\) has its faces encoded by their barycenters, all of them in \(N^{\le 1}(p)\subseteq F_L\). See Table 3b.2. Conversely, if \(N^{\le 1}(p)\) \(\subseteq F_L\) for \(p\in {{\mathcal {E}}}_0\), then p was a critical vertex in Q(I) and, hence, it encodes a size-2 cube \(c(p)\in P(I)\).

  2. (b)

    If \(p\in {{\mathcal {E}}}_1\) then \(p=\frac{v+w}{2}\) for \(\{v,w\}=E(p)\subset {{\mathcal {E}}}_0\).

    • If p is a pyramid k(vw), then, by construction, v (but not w) is the center of a size-2 cube (see Table 3c.1). Conversely, if \(N^{\le 1}(q)\subseteq F_L\) for exactly one of the two points \(q\in E(p)\), then q (and not the other point \(q'\in E(p)\)) was a critical vertex in Q(I) and, hence, a size-2 cube is centered at q (but not at \(q'\)) in P(I), what means that p is a pyramid.

    • p is a size-2 cube iff both points in E(p) are size-2 cubes, that is, iff they were critical vertices in Q(I).

  3. (c)

    If \(p\in {{\mathcal {E}}}_2\) is one of the polyhedra \(p_{\ell }(v, v_1,v_2,v_3), \ell =1,2,3,4\), then \(F(p)=\{v, v_1,v_2,v_3\}\) forms a size-4 square face s being p the barycenter of s. Besides, \(v,v_1,v_2\) and/or \(v_3\) (but not all) are the centers of size-2 cubes (see Table 3 \(\{\)d,e,f,g\(\}\).1). The number and relative positions of the points q in F(p) such that \(N^{\le 1}(q)\subseteq F_L\) give rise to the different polyhedra \(p_{\ell }(v,v_1,v_2,v_3), \ell =1,2,3,4\). Conversely, if some points q in F(p) satisfy that \(N^{\le 1}(q)\subseteq F_L\), they corresponded to critical vertices in Q(I) what leads to the construction of the polyhedra \(p_\ell (v,v_1,v_2,v_3), \ell =1,2,3,4\). Finally, p is a size-2 cube iff all the points in F(p) are size-2 cubes, that is, iff they were critical vertices in Q(I).

  4. (d)

    The hexahedra \(h_{\ell }(v_1,\ldots , v_8), \ell =1,\ldots ,22\) (where vertices \(v_1,\dots , v_8 \in {{\mathcal {E}}}_0\) form a voxel c), is encoded by \(p=\frac{v_1+\cdots +v_8}{8}\), (i.e., the barycenter of c). So, if p is one of those hexahedra, then, necessarily, \(\{v_1,\dots ,v_8\}=C(p)\). Besides:

    • p is one of the 20 hexahedra listed in the first column of Tables 4 and 5 if a subset of at least one and no more than seven points \(W\subset C(p)\) are the center of a size-2 cube. Then, for any \(q\in W, N^{\le 1}(q)\subseteq F_L\);

    • otherwise, p is a size-4 cube if \(W=\emptyset \) and it is a size-2 cube if \(W=C(p)\).

    Conversely, if there is a subset of points \(W\subseteq C(p)\) satisfying \(N^{\le 1}(q)\subseteq F_L\), they corresponded to critical vertices in Q(I), what leads to the construction of each of the 22 hexahedra.

Proof of Proposition 2

We run over all the polyhedra and check that their faces are all encoded by either points in \({{\mathcal {O}}}_{\ell }\) or in \({{\mathcal {E}}}_\ell \). In fact, we will provide a description of their coordinates.

  • The size-2 cube centered at a point \(p\in 2{\mathbb {Z}}^3\) has square faces in \(N^1_6(p)\subset {{\mathcal {O}}}_2\), edges in \(N^1_{12}(p)\subset {{\mathcal {O}}}_1\) and vertices in \(N^1_8(p)\subset {{\mathcal {O}}}_0\).

  • The size-4 cube centered at a point \(p\in 4{\mathbb {Z}}^3\) has square faces in \(N^2_6(p)\subset {{\mathcal {E}}}_2\), edges in \(N^2_{12}(p)\subset {{\mathcal {E}}}_1\) and vertices in \(N^2_8(p)\subset {{\mathcal {E}}}_0\).

  • The four triangle faces of the pyramid \(p=(4i,4j+2,4k+2)\) are \(\{(4i,4j+2\pm 1,4k+2), (4i,4j+2,4k+2\pm 1)\}\subset {{\mathcal {O}}}_2\) (see green voxels in Table 3c.2). If \(v=(4i-2,4j+2,4k+2)\) is the point in \(E(p)\subset {{\mathcal {E}}}_0\) for which \(N^{\le 1}(v)\subset F_L\), then \(w=(4i+2,4j+2,4k+2)\) is the apex of the pyramid. The four edges of p incident to w are \(\{(4i,4j+2\pm 1,4k+2\pm 1)\}\subset {{\mathcal {O}}}_1\). Cases \(p=(4i+2,4j,4k+2)\) and \(p=(4i+2,4j+2,4k)\) are analogous.

  • The polyhedron \(p_{\ell }(v, v_1,v_2,v_3), \ell =1,2,3,4\), encoded by \(p=(4i, 4j, 4k+2)\), has two quadrangle faces \(\{(4i,4j,4k+2\pm 1)\}\subset {{\mathcal {O}}}_2\).

    • For \(p_1(v, v_1,v_2, v_3)\), if \(v=(4i-2,4j-2,4k+2)\) is the vertex in \(F(p)\subset {{\mathcal {E}}}_0\) for which \(N^{\le 1}(v)\subset F_L\), then the vertex \(v_3\) (see Table 3d.1) is \((4i+2,4j+2,4k+2)\) and the size-4 edges \((4i,4j+2,4k+2) \) and \((4i+2,4j,4k+2) \).

    • For \(p_2(v, v_1,v_2, v_3)\), if \(v=(4i-2,4j-2,4k+2)\) and \(v_1=(4i-2,4j+2,4k+2)\) are the vertices in \(F(p)\subset {{\mathcal {E}}}_0\) for which \(N^{\le 1}(v)\subset F_L\), then the size-4 edge (see Table 3e.1) is \((4i+2,4j,4k+2) \).

    Cases in which \(p_{\ell }(v, v_1,v_2,v_3)\) is encoded by \(p=(4i+2,4j,4k)\) and \(p=(4i,4j+2,4k)\) are analogous.

  • For each of the 20 hexahedra \(h_{\ell }(v_1,\ldots , v_8)\) shown in Tables 4 and 5, encoded by \(p=(4i,4j,4k)\) the vertices \(w_1,\dots ,\) \( w_8\) are \(\{(4i\pm 1,4j\pm 1,4k\pm 1)\}\subset {{\mathcal {O}}}_0\), such that, for example, if \(v_{\ell }=(4i+2,4j-2,4k+2)\) then \(w_{\ell }=(4i+1,4j-1,4k+1)\). A size-4 square face of \(h_{\ell }(v_1,\ldots , v_8)\) is encoded by a point \(q\in {{\mathcal {E}}}_2\cap N^2_6(p)\) with \(N^{\le 1}(q)\cap F_L=\{q\}\), a size-4 edge is encoded by a point \(q\in {{\mathcal {E}}}_1\cap N^2_{12}(p)\) with \(N^{\le 1}(q)\cap F_L=\{q\}\) and a vertex not shared with a pyramid or a size-2 cube is encoded by a point \(q\in C(p)\) with \(N^{\le 1}(q)\cap F_L=\{q\}\). For example, in the second case (second row) in Table 4, if \(v_1=(4i-2,4j-2,4k-2)\) and \(v_2=(4i-2,4j+2,4k-2)\), are the vertices in \(C(p)\subset {{\mathcal {E}}}_0\) for which \(N^{\le 1}(v_i)\subset F_L\), then the two size-4 square faces are \((4i+2,4j,4k)\) and \((4i,4j,4k+2)\); the size-4 edges are \((4i+2,4j\pm 2,4k)\),\((4i+2,4j,4k\pm 2), (4i- 2,4j,4k+2), (4i,4j\pm 2,4k+ 2)\); and the vertices not shared with a pyramid or a size-2 cube are \((4i+2,4j\pm 2, 4k+ 2)\).

Notice that, for each polyhedron different to the cubes, some of their faces have not been explicitly given since they have been described before as part of another polyhedron. \(\square \)

Proof of Theorem 1

Proposition 1 guarantees that all the polyhedra and their faces can be univocally identified by the type of coordinates and neighboring information in \(D_P\). Besides, Procedure 2 provides a method to retrieve the \((\ell -1)\)-faces of a given \(\ell \)-cell, so the binary image \(L=({\mathbb {Z}}^3, F_L)\) can properly encode the well-composed polyhedral complex P(I) over a picture I. \(\square \)

Proof of Proposition 3

First, notice that the color operation accomplished in Procedure 1, to obtain the ECM representation of P(I), sets \(g_P(p)=3\) whenever p is a critical cell (i.e., a cell incident to a critical vertex). Given a critical vertex \(p\in F_J\cap {{\mathcal {E}}}_0\), incident edges would lie in \({{\mathcal {E}}}_{1}\cap N_6^2(p)\cap F_J\) and incident square faces in \({{\mathcal {E}}}_{2}\cap N_{12}^2(p)\cap F_J\). Geometrically, each critical cell is replaced by a specific polyhedron within the ones listed in Definition 2. This way, any polyhedron of P(I) is encoded by: (1) a point \(p\in {{\mathcal {E}}}_3\); or (2) a point \(p\in {{\mathcal {E}}}_{\ell }, 0\le \ell \le 2\), if p encodes a critical \(\ell \)-cell of Q(I). \(\square \)

Proof of Theorem 2

By definition, the points \(p\in F_M\) are encoding all the polyhedra in P(I). We have to prove that Procedure 4 can retrieve all the points in \(F_L\) encoding faces of such polyhedron.

  • If \(p\in F_M\cap {{\mathcal {E}}}_0\), then p is a size-2 cube and its faces are encoded in \(N^{\le 1}(p)=S_0(p)\), which have been added to \(F_L\) in Step 1.

  • If \(p\in F_M\cap {{\mathcal {E}}}_1\), let vw denote the two points in E(p). Then,

    • If \(E(p)\cap F_M=\{v\}\), then p is the pyramid k(vw) shown in Table 3c.1. (first case of Proposition 1.b), the block \(S_1(p)\) added contains the triangular faces of the pyramid and the vertex w is added in Step 2.1. The square face and its faces are added together with the block \(S_0(v)\) (Step 1).

    • If \(E(p)\cap F_M=E(p)\), then p is a size-2 cube (second case of Proposition 1.b) and points in \(S_1(p)\) encode the faces that are parallel to the edge formed by the points in E(p). The rest of the faces are encoded as part of the corresponding blocks \(S_0(v)\) and \(S_0(w)\).

  • If \(p\in F_M\cap {{\mathcal {E}}}_2\), let \(v,v_1,v_2,v_3\) denote the four points in F(p). Then, the quadrangular faces are added with the blocks \(S_2(p)\) in Step 1.

    • If \(F(p)\cap F_M=\{v\}\), then p is the polyhedron \(p_1(v,v_1,v_2,v_3)\) shown in Table 3d.1, according to the first case of Proposition 1.c. Then in Step 3.1, the vertex \(v_3\) is encoded, as well as the edge between vertices \(v_1\) and \(v_3\) and the one between \(v_2\) and \(v_3\), which are the only faces that had not been encoded in previous steps.

    • If \(F(p)\cap F_M=\{v,v_1\}\), then p is the polyhedron \(p_2(v,v_1,v_2,v_3)\) (shown in Table 3e.1) and in Step 3.2, the edge between \(v_2\) and \(v_3\) is added (the rest of faces had been added in previous steps).

    • If \(F(p)\cap F_M=\{v,v_3\}\), then p is the polyhedron \(p_3(v,v_1,v_2,v_3)\) (shown in Table 3f.1) and its faces have already been added.

    • If \(F(p)\cap F_M=\{v,v_1,v_3\}\), then p is the polyhedron \(p_4(v,v_1,v_2, v_3)\) shown in Table 3g.1, corresponding to the forth case of Proposition 1.c and its faces have already been added.

  • If \(p\in F_M\cap {{\mathcal {E}}}_3\), let \(C(p)=\{v_1,\dots ,v_8\}\). Then p is one of the 22 hexahedra given in Definition 2, that is p is either one of the 20 hexahedra listed in the first column of Tables 4 and 5, or a size-4 cube or a size-2 cube, depending on the number and relative positions of the critical vertices in C(p). In each case, Step 4.1 adds the vertices of the hexahedra that are not critical vertices (though some of them could have been added before as apex of a pyramid); Step 4.2 adds the possible edges between these vertices; and Step 4.3 adds the possible square faces between them. The rest of the faces are part of other polyhedra and have already been added in previous steps. \(\square \)

Proof of Theorem 5

Let \(i,j,k\in {\mathbb {Z}}\). For \(p\in F_L\), we consider the two possible cases:

  • \(p\in {{\mathcal {E}}}_2\). Without loss of generality, suppose that \(p=(4i+2,4j,4k)\). Then, p is a size-4 square face iff \(N^{\le 1}(p)\cap F_L=\{p\}\) and it will lie on \(\partial P(I)\) if \(p+(2,0,0)=(4i+4,4j,4k)\not \in F_L\) and \(p-(2,0,0)=(4i,4j,4k)\in F_L\) or viceversa.

  • \(p\in {{\mathcal {O}}}_2\). The 2-cells that might be in the boundary complex are those in the boundary of the polyhedra in Table 3. There are several cases: (1) p is in the square face of a size-2 cube centered for example in \((4i+2,4j+2,4k+2)\), say \(p=(4i+2,4j+2,4k+1)\); or (2) p is a triangular face of a pyramid \((4i,4j+2,4k+2)\), say \(p=(4i,4j+2,4k+1)\); or (3) p is one of the quadrangular faces of a polyhedron \(q=(4i,4j,4k+2)\), say \(p=(4i,4j,4k+1)\). Then, in any of the three cases, \(p\in \partial P(I)\) iff \(p+d\not \in F_L\) for the right direction d. \(\square \)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gonzalez-Diaz, R., Jimenez, MJ. & Medrano, B. Efficiently Storing Well-Composed Polyhedral Complexes Computed Over 3D Binary Images. J Math Imaging Vis 59, 106–122 (2017). https://doi.org/10.1007/s10851-017-0722-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10851-017-0722-8

Keywords

Navigation