1 Introduction

Geometric tomography consists of reconstructing a 3-dimensional object from 2-dimensional information such as projections or sections. In this paper, we are interested in the reconstruction of a 3D object from its intersections with a set of planes, called cross-sections. Different configurations can be considered for the cutting planes, as it is illustrated in Fig. 1. A so-called serial sequence of planes partitions the space into several slices, each bounded by a pair of cutting planes. Many solutions to the reconstruction problem from parallel or serial cross-sections have been proposed, see [33] for a survey. However, this paper focuses on the harder and more general case of arbitrarily oriented (multi-axial) planes, which has received much less attention.

Fig. 1
figure 1

Different cross-sections configurations

Motivations. The need for reconstructions from unorganized cross-sections is a result of the advances in medical imaging technology, especially in ultrasound tomography. In this context, the purpose is to construct a 3D model of an organ from a collection of ultrasonic images. When the images are provided by free-hand ultrasound devices, the cross-sections of the organ belong to planes that are not necessarily parallel.

Another recent potential domain of application is the Single Plane Illumination Microscope (SPIM) which is an original microscope developed by the European Molecular Biology Laboratory in Germany around 2004 [23]. It allows us to study functional aspects of living specimens and raises several challenges in different fields such as optics, image processing, mathematical modeling and scientific computing. Contrarily to more mature imaging technologies like confocal or multi-photon microscopes, SPIM does not rely on scanning a single focal point throughout the sample: a light sheet is produced and is used to illuminate a slice of the whole sample. This light sheet is positioned in the focal plane of a microscope objective, and the (cutting) plane can be translated and rotated. Since the slices provided by SPIM have different orientations and positions, the reconstruction of 3D structures using these data is a difficult inverse problem that is still open.

The hope is that the topological analysis provided in this paper will be an initial theoretical step toward robust and efficient reconstruction algorithms for these applications.

Another motivation for the reconstruction from cross-sections is from a proper geometrical point of view. The \(d\)-dimensional framework of the problem consists of reconstructing a \(d\)-dimensional shape from its intersections with hyperplanes, of dimension \((d-1)\). Finding efficient methods for this reconstruction problem may be used in topological coding of objects or in dimension reduction strategies. Adding time as the fourth dimension to three-dimensional space, the fourth dimensional variant of the reconstruction problem can be applied to moving objects (for example the beating heart). In the sense that the movement of the object can be reconstructed knowing its position at some discrete values of time. Understanding the geometry of the 3D problem is a preliminary step toward more theoretical results for higher dimensions.

Previous work on reconstruction from parallel cross-sections. The classical case of parallel cross-sections has been considered widely in the past. The existing techniques for reconstruction from parallel sections may be roughly classified into two main groups:

  1. a.

    Surface extraction methods: We could cite [9, 14, 19, 30] for implicit surfaces, as well as [38, 39, 41] which use B-spline surface approximations. In particular, Marching Cubes (introduced in [29], and (corrected and) completed in [36]) is widely used namely in medical imaging softwares, but no theoretical guarantees are available to make the resulting reconstruction appropriate for diagnosis.

  2. b.

    Interpolation approaches: Since Keppel’s work [25] on interpolation between parallel polygonal contours, numerous algorithms were introduced for parallel inter-slice interpolation. This was soon followed by Fuchs et al. [20], with a minimal surface area solution. Other criteria have included minimal length of the next edge in [13], optimal verticality of the edges in [21], minimal radii of circumscribed circles of triangles in Meyers’ Ph.D thesis [35], and minimal sum of absolute value of angle between the contour edge parts of successive triangles [49]. Most of these interpolation techniques failed when confronted with contours which cannot be interpolated without the addition of extra vertices (branching situation). Among the earliest methods able to handle branching between sections we can cite [6, 13, 17, 44], which were then followed by different other approaches, namely [13, 7, 12], which attempted to handle the most general situation in which the geometries and topologies of the contours in every slice are unrestricted (still in the case of parallel cross-sections). As examples of type of different methods we could cite methods based on parametric domain triangulation such as [15, 37, 48], or Delaunay-based methods such as [7, 11, 16, 46].

Since none of the above mentioned work treats the question of topological guarantees for the results, which is the primary purpose of our paper, we remain at this level of presentation and simply refer to the PhD thesis of the third author [33] for a more complete survey.

Previous work on reconstruction from unorganized (non-parallel) cross-sections Despite all these potential applications, it is only very recently that reconstruction from unorganized cross-sections has been considered. A very first work by Payne and Toga [40] was restricted to easy cases of reconstruction that do not require branching between sections. In [7], Boissonnat and Geiger proposed a Delaunay-based algorithm for the case of serial planes, that has been generalized to arbitrarily oriented planes in [8, 16]. In [47], Turk and O’Brien presented a reconstruction method using variational implicit functions which combines the two steps of building implicit functions and interpolating between them. Some more recent work [24, 28] can handle the case of multi label sections (multiple materials). Barequet and Vaxman’s work [4] extends the work of [28] and can handle the case where the sections are only partially known. Bermano et al. [5] can be cited as the most recent work that appeared in this area. In addition to the cases handled by previous work, their method deals with the online (interactive) variant of the problem, typical in freehand ultrasound scanning applications, in which the reconstruction is updated using the slices that are given gradually over time.

None of these methods provide a topological study of the reconstruction. The only existing results studying the topology of the reconstructed object are restricted to the 2D variant of the problem [34, 45]. We will also study the 2D problem in Sect. 3.1 of this paper, and compare our method here to our previous one in [34].

Methodology analyzed in this paper. Most of the previous work for the case of parallel cross-sections are composed of two steps: correspondence and interpolation. The correspondence step consists in finding the right connectivity between different sections. It is very common to use a projection based strategy to perform the connections, and naturally the direction orthogonal to the planes is the most common. Most of such methods use (directly or indirectly) the simple idea of connecting two sections if their orthogonal projections overlap. Moreover, even different methods such as implicit functions seem to perform almost the same connectivity rule, since in most of the cases, the function defined between the slices promote the orthogonal direction around each cross-section.

In this paper, we analyze a natural generalization of this idea for the case of nonparallel sections, proposed by Liu et al. [28]. We prove that under appropriate sampling conditions, the performed connection between the sections is coherent with the connectivity structure of the object and the proposed reconstructed object is homeomorphic to the object.

Contributions. We make the first geometric analysis of the reliability and validity of reconstruction methods from cross-sectional data, by analyzing the most natural way to connect the sections, which is a generalization of the classical overlapping criterion between the orthogonal projections of parallel sections. We provide sampling conditions for the set of cutting planes, under which the reconstructed object is isotopic to the original unknown object. As we will see, knowing only a lower bound for the minimum local feature size (defined in the next section) of the (unknown) object is sufficient to verify these sampling conditions.

No reconstruction method from cross-sections came with theoretical guarantees before this work. Even in the case of parallel cross-sections, no formal analysis and guarantees have been obtained. This contrasts with the problem of reconstructing a shape from unorganized point sets, which is now well understood both theoretically and practically (via e.g. closed ball property and epsilon sampling). This work is the first, but a crucial, step to close the gap between the reconstruction problem from cross-sections and the classical problem of reconstruction from sample points.

Sectional data compared to point cloud data. We note that the reconstruction problem from cross-sections could be also viewed as an instance of point cloud reconstruction problem if we consider a sample of the given cross-sections or their contours. However, the following basic example shows that the sampling conditions we propose in this paper are indeed much better adapted to the reconstruction problem in this context, when compared to classical sampling conditions for point clouds.

Consider the Voronoi diagram of the sample points as a covering of the original shape \(\mathcal{O }\), composed of the so-called restricted Voronoi cells. The restricted Delaunay complex is then the geometric realization of the nerve of the restricted Voronoi cells. The nerve theorem of Leray [26] implies that if all restricted Voronoi cells are contractible then \(\mathcal{O }\) and the restricted Delaunay complex are homotopy equivalent.

figure a

As the 2D example of the above figure shows, the Voronoi cell of the sample points on a plane \(P\) form thin quadrilaterals orthogonal to \(P\). To ensure the nerve theorem condition, the intersection of such a thin quadrilateral with \(\mathcal{O }\) should be contractible. Clearly, near to the contours (such as for points \(a,b\) and \(c\) in the figure), even the connectivity of this intersection is a very strong condition and is unverifiable in practice. On the contrary, since our sampling conditions are based on the orthogonal projection of the section-contours, they are easily verifiable.

One justification of this is that our approach makes full use of the additional information given by the orientation of the cutting planes, while in point clouds reconstruction, this information is entirely lost.

Overview of the results. Consider the arrangement of the cutting planes, i.e., the subdivision of \(\mathbb R ^3\) into convex polyhedral cells induced by the cutting planes. Without loss of generality, we reduce the reconstruction of the original shape \(\mathcal{O }\) to the reconstruction of \(\mathcal{O }_{\mathcal{C }}:=\mathcal{O }\cap \mathcal{C }\) for all cells \(\mathcal{C }\) of the arrangement. Given a cell \(\mathcal{C }\) of the arrangement, let us define \(\hbox {reach}_{\mathcal{C }}(\mathcal{O })\) as the distance of the boundary of \(\mathcal{O }\) from its medial axis, in a neighborhood of \(\mathcal{C }\) (formally defined later). We also define the height of the cell \(\mathcal{C }\), denoted by \(h_{\mathcal{C }}\), as the maximum distance of a point \(x \in \mathcal{C }\) to the boundary of \(\mathcal{C }\). Note that by definition, \(h_{\mathcal{C }} \le \tfrac{1}{2} \hbox {diam}({\mathcal{C }})\).

Using the fact that a point on the boundary of \(\mathcal{C }\) is in \(\mathcal{O }\) if it lies in \(\mathcal{S }_{\mathcal{C }}\), we say that a point \(x \in \mathcal{C }\) is in the reconstructed object \(\mathcal{R }\) if one of its nearest points in the boundary of \(\mathcal{C }\) is in \(\mathcal{S }_{\mathcal{C }}\). It is easy to see that this generalizes the mentioned overlapping criterion for correspondence between sections. We will establish topological guarantees for the reconstruction by proposing two sampling conditions for the set of cutting planes. For the sake of simplifying the presentation in this introduction, we provide sufficient conditions rather than the formal definitions.

The first condition is verified if the set of cutting planes is sufficiently dense so that we have: for any cell \(\mathcal{C }\) of the arrangement, \(h_{\mathcal{C }} < \hbox {reach}_{\mathcal{C }}(\mathcal{O })\). We show that under this condition, the connectivity between the sections in the reconstructed object \(\mathcal{R }\) coincides with the connectivity in the original unknown shape \(\mathcal{O }\). As we will see, this implies the homotopy equivalence between \(\mathcal{R }\) and \(\mathcal{O }\) for some particular cases: reconstruction of union of convex bodies in \(\mathbb R ^d\) from \(d-1\) dimensional sections, and reconstruction of any compact 2-manifold in \(\mathbb R ^2\) from line-sections.

However, this condition does not ensure in general the homotopy equivalence between \(\mathcal{R }\) and \(\mathcal{O }\). We need to impose a stronger condition which is verified if the cutting planes are sufficiently transversal to the boundary of the original shape: \(\forall \mathcal{C }, h_{\mathcal{C }} < \tfrac{1}{2} \; \bigl (1 - \sin (\alpha )\bigr ) \; \hbox {reach}_{\mathcal{C }}(\mathcal{O })\), where \(\alpha \) is an upper bound on the angle between the cutting planes and the normals to the boundary of \(\mathcal{O }\) along the sections.

Main theorem. Under the two above conditions, the reconstructed object \(\mathcal{R }\) is homeomorphic (and isotopic) to the unknown original shape \(\mathcal{O }\).

Note that these two conditions measure the density and the transversality of the cutting planes with respect to the original shape. They are verifiable by only knowing a lower bound for the local feature size of the unknown object, which is the minimum a priori information required to estimate the order of size of the original shape to reconstruct. In practice, this a priori information about the order of local feature size is usually known, since quite often the category of shape is known in advance. For instance, for the case of medical images, one could have an estimation of the lfs from the anatomical atlas. Regarding the transversality estimation in practice, according to [42, Sect. 1.2.1], the quality of 2D ultrasonic images depends highly on the transversality of the cuts.

Organization of the paper. After this brief introduction, we provide a detailed description of the reconstructed object \(\mathcal{R }\). The rest of the paper will be then devoted to prove that in the general case, under two appropriate sampling conditions, the reconstructed object \(\mathcal{R }\) and the original object \(\mathcal{O }\) are homotopy equivalent, and are even homeomorphic.

As we will see, the first sampling condition, called the Separation Condition, discussed in Sect. 2.2, ensures good connectivity between the sections, but does not necessarily imply the homotopy equivalence. In order to ensure the homotopy equivalence between \(\mathcal{R }\) and \(\mathcal{O }\), a second so-called Intersection Condition is required, see Sect. 4.4. To make the connection between the upcoming sections more clear, in Sect. 4.1 we shortly outline the general strategy employed in proving the homotopy equivalence between \(\mathcal{R }\) and \(\mathcal{O }\). In Sect. 4.6, we provide a set of properties on the sampling of cutting planes to ensure the Separation and the Intersection Conditions. Finally, in Sect. 4.8 we show that the two shapes \(\mathcal{O }\) and \(\mathcal{R }\) are indeed homeomorphic (and even isotopic). Some preliminary notions of homotopy theory we use here are recalled in Appendix 1. Let us also mention that for the sake of simplicity and better visualization, some of the figures in the paper are given in 2D.

2 Reconstruction Description

Reconstruction problem. Let \(\mathcal{O }\subset \mathbb R ^3\) be a compact 3-manifold with boundary (denoted by \(\partial \mathcal{O }\)) of class \(C^2\). The manifold \(\mathcal{O }\) is cut by a set \(\mathcal P \) of the so-called cutting planes that are supposed to be in general position in the sense that none of these cutting planes are tangent to \(\partial \mathcal{O }\). For any cutting plane \(P \in \mathcal P \), we are given the intersection \(\mathcal{O }\cap P\). There is no assumption on the geometry or the topology of these intersections. The goal is to reconstruct \(\mathcal{O }\) from the given family \(\mathcal{S }\) consisting of all the intersections of \(\mathcal{O }\) with the cutting planes in \(\mathcal P \).

Methodology. We know that a point \(x \in \mathcal P \) belongs to the original object if and only if it belongs to \(\mathcal{S }\). The goal is now to determine whether a point \(x \in \mathbb R ^3\) belongs to \(\mathcal{O }\) or not. We follow a very natural reconstruction strategy:

We say that a point \(x \in \mathbb R ^3\) belongs to the reconstructed object if (at least one of) its nearest point(s) in \(\mathcal P \) belongs to \(\mathcal{S }\).

Different distance functions (from \(\mathcal P \)) may be used in order to satisfy properties of interest for different applications (for example, to promote the connection between sections in the case of sparse data, or to impose a favorite direction to connect the sections, etc). A natural idea is to use the Euclidean distance. In this case, the reconstructed object coincides with the result of the method introduced by Liu et al. [28]. We will analyze this method and present appropriate sampling conditions providing topological guarantees for the resulting reconstructed object.

2.1 Characterization of the Reconstructed Object

As said before, the definition of the reconstructed object \(\mathcal{R }\) is based on the distance from the set of cutting planes \(\mathcal P \). Since we consider the Euclidean distance, this involves the arrangement of cutting planes, i.e., the subdivision of \(\mathbb R ^3\) into convex polyhedral cells induced by the cutting planes. If a point \(x \in \mathbb R ^3\) belongs to a cell \(\mathcal{C }\) of this arrangement, then its nearest point(s) in \(\mathcal P \) belong(s) to the boundary of \(\mathcal{C }\). Thus, we can decompose the problem into several subproblems, and reduce the reconstruction of \(\mathcal{O }\) to the reconstruction of \(\mathcal{O }_{\mathcal{C }}:= \mathcal{O }\cap \mathcal{C }\) for all cells \(\mathcal{C }\) of the arrangement.

Reconstructed object in a cell of the arrangement. We now focus on a cell \(\mathcal{C }\) of the arrangement and describe the reconstructed object \(\mathcal{R }_{\mathcal{C }}\) in \(\mathcal{C }\). On each face \(f\) of \(\mathcal{C }\), the intersection of the object \(\mathcal{O }\) with \(f\) is given and consists of a set of connected regions called sections. By definition, the sections of a face of \(\mathcal{C }\) are disjoint. However, two sections (on two neighbor faces of \(\mathcal{C }\)) may intersect along the intersection between their two corresponding faces. The boundary of a section \(A\) is denoted by \(\partial A\) and is a set of closed curves, called section-contours, that may be nested if the topology of \(A\) is non-trivial. Let us write \(\partial \mathcal{C }\) for the boundary of \(\mathcal{C }\). In the sequel, \(\mathcal{S }_{\mathcal{C }}\) denotes the union of sections of all the faces of \(\mathcal{C }\). By the definition of the reconstructed object \(\mathcal{R }\), we have:

A point \(x \in \mathcal{C }\) is in the reconstructed object \(\mathcal{R }_{\mathcal{C }}\) if one of its nearest points in \(\partial \mathcal{C }\) is in \(\mathcal{S }_{\mathcal{C }}\).

This definition naturally involves the Voronoi diagram of the faces of \(\mathcal{C }\) defined as follows.

Voronoi diagram of a cell. For a face \(f\) of \(\mathcal{C }\), the Voronoi cell of \(f\), denoted by \(\mathrm{Vor}_{\mathcal{C }}(f)\), is defined as the set of all points in \(\mathcal{C }\) that have \(f\) as the nearest face of \(\mathcal{C }\), i.e.,

$$\begin{aligned} \mathrm{Vor}_{\mathcal{C }}(f) := \big \{ x \in \mathcal{C }| d(x,f) \le d(x,f') \; \forall \; \hbox {face} \;f' \;\hbox {of}\;\mathcal{C }\big \}. \end{aligned}$$

Here \(d(.,.)\) stands for the Euclidean distance. The collection of all \(\mathrm{Vor}_{\mathcal{C }}(f)\) when \(f\) runs over all the faces of \(\mathcal{C }\) forms a partition of \(\mathcal{C }\), called the Voronoi diagram of \(\mathcal{C }\). Let \(\hbox {VorSkel}(\mathcal{C })\) denote the Voronoi skeleton of \(\mathcal{C }\) which is the locus of all the points in \(\mathcal{C }\) that are at the same distance from at least two faces of \(\mathcal{C }\). See Fig. 2-left.

Fig. 2
figure 2

A 2D illustration of the partition of a cell \(\mathcal{C }\) by the Voronoi Skeleton \(\hbox {VorSkel}(\mathcal{C })\) (in red). Left The original shape \(\mathcal{O }_{\mathcal{C }}\) (in blue). Right The reconstructed object \(\mathcal{R }_{\mathcal{C }}\) (in green) (Color figure online)

Nearest point characterization. For any point \(x\) in \(\mathcal{C }\), the nearest point in \(\partial \mathcal{C }\) to \(x\) is the orthogonal projection of \(x\) onto the nearest face \(f\) of \(\mathcal{C }\). This projection is denoted by \( np _f(x)\). The set of all nearest points to \(x\) in \(\partial \mathcal{C }\) is denoted by \( Np _\mathcal{C }(x)\). Note that for any \(x \notin \hbox {VorSkel}(\mathcal{C })\), \( Np _\mathcal{C }(x)\) is reduced to a single point. Based on this, and in order to simplify the presentation, sometimes we drop the index \(f\), and by \( np (x)\) we denote a point of \( Np _\mathcal{C }(x)\).

Definition 1

(Lift function) Let \(x \in \mathcal{C }\) be a point in the Voronoi cell of a face \(f\) of \(\mathcal{C }\). The lift of \(x\) in \(\mathcal{C }\), denoted by \(\hbox {lift}_\mathcal{C }(x)\) (or simply \(\hbox {lift}(x)\) if \(\mathcal{C }\) is trivially implied), is defined to be the unique point of \(\hbox {VorSkel}(\mathcal{C })\) whose orthogonal projection onto \(f\) is \( np (x)\), see Fig. 2-right.

  • The lift of a set of points \(X \subseteq \mathcal{C }\), denoted by \(\hbox {lift}(X)\), is the set of all the points \(\hbox {lift}(x)\) for \(x \in X\), i.e., \(\hbox {lift}(X):=\{\,\hbox {lift}(x) \,|\, x\in X\,\}\).

  • The function \(\mathcal{L }: \mathcal{C }\rightarrow \hbox {VorSkel}(\mathcal{C })\) that maps each point \(x \in \mathcal{C }\) to its lift in \(\hbox {VorSkel}(\mathcal{C })\) will be called the lift function in the sequel. For any \(Y \subset \hbox {VorSkel}(\mathcal{C })\), \(\mathcal{L }^{-1}(Y)\) denotes the set of points \(x \in \mathcal{C }\) such that \(\hbox {lift}(x)=y\) for some \(y \in Y\).

We now present a geometric characterization of the reconstructed object using the described lifting procedure.

Characterization of the reconstructed object \(\mathcal{R }_{\mathcal{C }}\). If \(\mathcal{S }_{\mathcal{C }}= \emptyset \), then for any point \(x \in \mathcal{C }\), \( np (x) \notin \mathcal{S }_{\mathcal{C }}\) and so \(\mathcal{R }_{\mathcal{C }}\) is empty. Otherwise, let \(A \in \mathcal{S }_{\mathcal{C }}\) be a section lying on a face of \(\mathcal{C }\). For each point \(a \in A\), the locus of all the points \(x \in \mathcal{C }\) that have \(a\) as their nearest point in \(\partial \mathcal{C }\) is the line segment \([a,\hbox {lift}(a)]\) joining \(a\) to its lift. Therefore, the reconstructed object \(\mathcal{R }_{\mathcal{C }}\) is the union of all the line-segments \([a,\hbox {lift}(a)]\) for a point \(a\) in a section \(A \in \mathcal{S }_{\mathcal{C }}\), i.e.,

$$\begin{aligned} \mathcal{R }_{\mathcal{C }}:= \big \{x \in \mathcal{C }| np (x) \in \mathcal{S }_{\mathcal{C }}\big \} = \bigcup _{A \in \mathcal{S }_{\mathcal{C }}}\, \bigcup _{a \in A}\,\, [a,\hbox {lift}(a)] = \mathcal{L }^{-1}(\hbox {lift}(\mathcal{S }_{\mathcal{C }})). \end{aligned}$$

Note that according to this characterization, if the lifts of two sections intersect in \(\hbox {VorSkel}(\mathcal{C })\), then these two sections are connected in \(\mathcal{R }_{\mathcal{C }}\). This generalizes the classical overlapping criterion for the case of parallel cutting planes. The union of all the pieces \(\mathcal{R }_{\mathcal{C }}\) over all cells \(\mathcal{C }\) will be the overall reconstructed object \(\mathcal{R }\).

The rest of the paper is devoted to prove that under two appropriate sampling conditions, \(\mathcal{R }\) and \(\mathcal{O }\) are homotopy equivalent, and are indeed homeomorphic (and isotopic). Let us first infer the following simple observation from the described characterization of \(\mathcal{R }_{\mathcal{C }}\).

Proposition 1

The lift function \(\mathcal{L }: \mathcal{R }_{\mathcal{C }}\rightarrow \hbox {lift}(\mathcal{S }_{\mathcal{C }})\) is a homotopy equivalence.

This is inferred trivially from the fact that the lift function retracts each segment \([a, \hbox {lift}(a)]\) onto \(\hbox {lift}(a)\) continuously. See Fig. 3 for an example.

Fig. 3
figure 3

A 3D reconstruction example from a pair of parallel sections (in blue). The lift function retracts \(\mathcal{R }_{\mathcal{C }}\) (in green) onto the lift of the sections (Color figure online)

2.2 First Sampling Condition: Separation Condition

In this section, we provide the first sampling condition, under which the connection between the sections in the reconstructed object \(\mathcal{R }\) will be the same as in the original object \(\mathcal{O }\). Our discussion will be essentially based on the study of the medial axis of \(\partial \mathcal{O }\), that we define now.

Definition 2

(Internal and external parts of the medial axis of \(\partial \mathcal{O }\)) Consider \(\partial \mathcal{O }\) as a 2-manifold without boundary embedded in \(\mathbb R ^3\). The medial axis of \(\partial \mathcal{O }\) denoted by \(\text {MA}(\partial \mathcal{O })\) contains two different parts: the so-called internal part denoted by \(\text {MA}_i(\partial \mathcal{O })\), which lies in \(\mathcal{O }\), and the so-called external part denoted by \(\text {MA}_e(\partial \mathcal{O })\), which lies in \(\mathbb R ^3\setminus \mathcal{O }\), see Fig. 4.

Fig. 4
figure 4

Internal and external parts of the medial axis of \(\partial \mathcal{O }\)

The internal retract \(m_i: \partial \mathcal{O }\rightarrow \text {MA}_i(\partial \mathcal{O })\) is defined as follows: for a point \(x \in \partial \mathcal{O }\), \(m_i(x)\) is the center of the maximum ball entirely included in \(\mathcal{O }\) which passes through \(x\). For any \(x \in \partial \mathcal{O }\), \(m_i(x)\) is unique. Symmetrically, we define the external retract \(m_e: \partial \mathcal{O }\rightarrow \text {MA}_e(\partial \mathcal{O })\): for a point \(x \in \partial \mathcal{O }\), \(m_e(x)\) is the center of the maximum ball entirely included in \(\mathbb R ^3\setminus \mathcal{O }\) which passes through \(x\). For any \(x \in \partial \mathcal{O }\), \(m_e(x)\) is unique but may be at infinity. In the sequel, we may write \(m(a)\) for a point in \(\{m_i(a),m_e(a)\}\).

The interesting point is that as discussed below, if the set of cutting planes is sufficiently dense, then the internal part of \(\text {MA}(\partial \mathcal{O })\) lies inside the defined reconstructed object and the external part of this medial axis lies outside the reconstructed object.

Definition 3

(Separation Condition) We say that the set of cutting planes verifies the Separation Condition if

$$\begin{aligned} \text {MA}_i(\partial \mathcal{O }) \subset \mathcal{R }\quad \hbox {and}\quad \text {MA}_e(\partial \mathcal{O }) \subset \mathbb R ^3 \setminus \mathcal{R }. \end{aligned}$$

In other words, \(\partial \mathcal{R }\) separates the internal and the external parts of the medial axis of \(\partial \mathcal{O }\). (That is where the name comes from.)

We will show in Sect. 2.4 that the separation condition is ensured as soon as the set of cutting planes is sufficiently dense.

Global versus local. We now show that in each cell \(\mathcal{C }\), the Separation Condition implies that \(\partial \mathcal{R }_{\mathcal{C }}\) separates the internal and the external parts of the medial axis of \(\partial \mathcal{O }_{\mathcal{C }}\). In order to study the Separation Condition in a cell \(\mathcal{C }\), we will need the following definition:

Definition 4

(Medial axes in a cell \(\mathcal{C }\) of the arrangement) By \(\text {MA}_i(\partial \mathcal{O }_{\mathcal{C }})\) we denote the set of all points in \(\mathcal{O }_{\mathcal{C }}\) with at least two closest points in \(\partial \mathcal{O }_{\mathcal{C }}\), see Fig. 5. Note that the two sets \(\text {MA}_i(\partial \mathcal{O }_{\mathcal{C }})\) and \(\text {MA}_i(\partial \mathcal{O }) \cap \mathcal{C }\) may be different. Symmetrically, \(\text {MA}_e(\partial \mathcal{O }_{\mathcal{C }})\) denotes the medial axis of the closure of \(\mathcal{C }\setminus \mathcal{O }_{\mathcal{C }}\).

Fig. 5
figure 5

2D example of medial axes in a cell \(\mathcal{C }\) of the arrangement

We also consider the internal retract \(m_{i,\mathcal{C }}: \partial \mathcal{O }_{\mathcal{C }}\rightarrow \text {MA}_i(\partial \mathcal{O }_{\mathcal{C }})\) defined as follows. For a point \(x \in \partial \mathcal{O }_{\mathcal{C }}\), \(m_{i,\mathcal{C }}(x)\) is the center of the maximum ball entirely included in \(\mathcal{O }_{\mathcal{C }}\) which passes through \(x\). Symmetrically, we can define the external retract \(m_{e,\mathcal{C }}: \partial \mathcal{O }_{\mathcal{C }}\rightarrow \text {MA}_e(\partial \mathcal{O }_{\mathcal{C }})\): for a point \(x \in \partial \mathcal{O }_{\mathcal{C }}\), \(m_{e,\mathcal{C }}(x)\) is the center of the maximum ball entirely included in \(\mathcal{C }\setminus \mathcal{O }_{\mathcal{C }}\) which passes through \(x\). It is easy to see that for any \(x \in \partial \mathcal{O }\cap \mathcal{C }\), the segments \([x,m_{i,\mathcal{C }}(x)]\) and \([x,m_{e,\mathcal{C }}(x)]\) are subsegments of \([x,m_i(x)]\) and \([x,m_e(x)]\) respectively, and lie on the line defined by the normal to \(\partial \mathcal{O }\) at \(x\).

Lemma 1

(Separation Condition restricted to \(\mathcal{C }\)). If the Separation Condition is verified, then \(\text {MA}_i(\partial \mathcal{O }_{\mathcal{C }}) \subset \mathcal{R }_{\mathcal{C }}\) and \(\text {MA}_e(\partial \mathcal{O }_{\mathcal{C }}) \subset \mathcal{C }\setminus \mathcal{R }_{\mathcal{C }}\).

Proof

We prove the first part, i.e., \(\text {MA}_i(\partial \mathcal{O }_{\mathcal{C }}) \subset \mathcal{R }_{\mathcal{C }}\). A similar proof gives the second part. Let \(m\) be a point in \(\text {MA}_i(\partial \mathcal{O }_{\mathcal{C }})\). Let \(B(m)\) be the open ball centered at \(m\) which passes through the closest points to \(m\) in \(\partial \mathcal{O }_{\mathcal{C }}\). Two cases may happen:

  • Either, the closest points to \(m\) in \(\partial \mathcal{O }_{\mathcal{C }}\) are in \(\partial \mathcal{O }\), see \(m_1\) in Fig. 5. In this case \(m\) is a point in \(\text {MA}_i(\partial \mathcal{O })\). The Separation Condition states that \(\text {MA}_i(\partial \mathcal{O }) \subset \mathcal{R }\), and so \(m \in \mathcal{R }_{\mathcal{C }}= \mathcal{R }\cap \mathcal{C }\).

  • Otherwise, one of the closest points to \(m\) in \(\partial \mathcal{O }_{\mathcal{C }}\) is a point \(a\) in some section \(A \in \mathcal{S }_{\mathcal{C }}\), see \(m_2\) in Fig. 5. If \(a\) is on the boundary of \(A\), then since along the section-contours \(\partial \mathcal{O }_{\mathcal{C }}\) is non-smooth, \(a\) lies in \(\text {MA}_i(\partial \mathcal{O }_{\mathcal{C }})\) and coincides with \(m\), and \(m=a\) is trivially in \(\mathcal{R }_{\mathcal{C }}\). Hence, we may assume that \(a\) lies in the interior of \(A\). Therefore, the ball \(B(m)\) is tangent to \(A\) at \(a\), and the line segment \([a,m]\) is orthogonal to \(A\). Since \(B(m) \cap \partial \mathcal{C }= \emptyset \), \(m\) and \(a\) are in the same Voronoi cell of the Voronoi diagram of \(\mathcal{C }\). Thus, \(a \in \mathcal{S }_{\mathcal{C }}\) is the nearest point in \(\partial \mathcal{C }\) to \(m\). By the definition of \(\mathcal{R }_{\mathcal{C }}\), we deduce that \(m \in \mathcal{R }_{\mathcal{C }}\).\(\square \)

2.3 Guarantees on the Connections Between the Sections

We now show that if the set of cutting planes verifies the Separation Condition, then in each cell \(\mathcal{C }\) of the arrangement, the connection between the sections is the same in \(\mathcal{O }_{\mathcal{C }}\) and in \(\mathcal{R }_{\mathcal{C }}\).

Theorem 1

If the set of cutting planes verifies the Separation Condition, \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\) induce the same connectivity components on the sections of \(\mathcal{C }\).

Proof

We prove that two sections are connected in \(\mathcal{O }_{\mathcal{C }}\) iff they are connected in \(\mathcal{R }_{\mathcal{C }}\).

  1. (I)

    We first show that if two sections are connected in \(\mathcal{O }_{\mathcal{C }}\), then they are connected in \(\mathcal{R }_{\mathcal{C }}\). Let \(A\) and \(A'\) be two sections in a same connected component \(K\) of \(\mathcal{O }_{\mathcal{C }}\). Due to the non-smoothness of \(\partial \mathcal{O }_{\mathcal{C }}\) at the boundary of the sections, \(\partial A\) and \(\partial A'\) are contained in \(\text {MA}_i(\partial \mathcal{O }_{\mathcal{C }})\) (more precisely in \(\text {MA}_i(\partial K)\)). Thus, since \(\text {MA}_i(\partial K)\) is connected [27], there is a path \(\gamma \) in \(\text {MA}_i(\partial K)\) that connects a point \(a \in \partial A\) to a point \(a' \in \partial A'\). According to Lemma 1, \(\text {MA}_i(\partial K) \subseteq \text {MA}_i(\partial \mathcal{O }_{\mathcal{C }}) \subset \mathcal{R }_{\mathcal{C }}\). Thus, \(\gamma \) is a path in \(\mathcal{R }_{\mathcal{C }}\) that connects \(A\) to \(A'\).

  2. (II)

    To prove the other direction, let \(A\) and \(A'\) be two sections connected in \(\mathcal{R }_{\mathcal{C }}\). We show that they are also connected in \(\mathcal{O }_{\mathcal{C }}\). Let \(\gamma \) be a path in \(\mathcal{R }_{\mathcal{C }}\) that connects a point \(a \in A\) to a point \(a' \in A'\). For the sake of contradiction, suppose that \(a\) and \(a'\) are not in the same connected component of \(\mathcal{O }_{\mathcal{C }}\). In this case, since \(\gamma \) joins two points in two different connected components of \(\mathcal{O }_{\mathcal{C }}\), it must intersect \(\text {MA}_e(\partial \mathcal{O }_{\mathcal{C }})\). But this is a contradiction with the fact that \(\gamma \subset \mathcal{R }_{\mathcal{C }}\), since according to Lemma 1, we have \(\text {MA}_e(\partial \mathcal{O }_{\mathcal{C }}) \cap \mathcal{R }_{\mathcal{C }}= \emptyset \).\(\square \)

We state the following proposition that will be needed later in this section and in Sect. 4.

Proposition 2

Under the Separation Condition, any connected component of \(\partial \mathcal{O }\) is cut by at least one cutting plane.

Proof

Suppose that \(K\) is a connected component of \(\partial \mathcal{O }\) which is not cut by any cutting plane. There exists a cell \(\mathcal{C }\) of the arrangement of hyperplanes such that one of the following two (symmetric) cases can happen: Either, there exists a connected component \(H\) of \(O\) which lies in the interior of \(\mathcal{C }\) such that \(K \subset \partial H\), or, there exists a connected component \(H\) of the closure of \(\mathbb R ^3 \setminus \mathcal{O }\) which lies in the interior of \(\mathcal{C }\) such that \(K \subset \partial H\). Without loss of generality, let us suppose the first case (the other case follows similarly). In this case, \(\partial H\) bounds a connected component \(H\) of \(\mathcal{O }\) in \(\mathcal{C }\), \(H\) is entirely contained in the interior of \(\mathcal{C }\), and \(K \subset \partial H\), see Fig. 6. Take a point \(m\) in the medial axis of \(H\), i.e., \(m \in H \cap \text {MA}_i(\partial \mathcal{O })\). According to the Separation Condition, \(m\) belongs to \(\mathcal{R }\). Thus, by the definition of \(\mathcal{R }\), one of the nearest points of \(m\) in \(\partial \mathcal{C }\), say \( np (m)\), belongs to \(\mathcal{S }\). Since \(H\) is not cut by any cutting plane, \(H \cap \partial \mathcal{C }\) is empty and \( np (m) \notin H\). Therefore, \(m\) and \( np (m)\) are in two different connected components of \(\mathcal{O }\), and the segment \([m, np (m)]\) should intersect \(\text {MA}_e(\partial \mathcal{O })\) at a point \(x\). On the other hand, by the definition of \(\mathcal{R }\), the segment \([m, np (m)] \subset \mathcal{R }\). This contradicts the assumption of the Separation Condition that \(\mathcal{R }\cap \text {MA}_e(\partial \mathcal{O }) = \emptyset \). \(\square \)

Fig. 6
figure 6

For the proof of Proposition 2

2.4 How to Ensure the Separation Condition?

In this section we provide a sufficient condition for ensuring the Separation Condition. For this, we first need some definitions.

Definition 5

(Reach) Let \(\mathcal{O }\) be a compact \(3\)-manifold with smooth boundary \(\partial \mathcal{O }\) in \(\mathbb R ^3\). For \(a \in \partial \mathcal{O }\), we define \(\hbox {reach}(a) :=\min \bigl (d(a, m_i(a)), d(a, m_e(a)) \bigr )\). The quantity \(\hbox {reach}(\mathcal{O })\) is defined as the minimum distance of \(\partial \mathcal{O }\) from the medial axis of \(\partial \mathcal{O }\):

$$\begin{aligned} \hbox {reach}(\mathcal{O }) \, := \min _{m \in \text {MA}(\partial \mathcal{O })} \;d(m, \partial \mathcal{O })= \min _{a \in \partial \mathcal{O }} \hbox {reach}(a). \end{aligned}$$

Note that since \(\mathcal{O }\) is compact and \(\partial \mathcal{O }\) is of class \(C^2\), \(\hbox {reach}(\mathcal{O })\) is strictly positive (see [18] for a proof).

Definition 6

(Reach restricted to a cell) Given a cell \(\mathcal{C }\) of the arrangement, we define \(\hbox {reach}_{\mathcal{C }}(\mathcal{O }) := \min d(a, m(a))\), where either \(a\) or \(m(a)\) is in \(\mathcal{C }\). By definition, we have \(\hbox {reach}(\mathcal{O })= \min _{\mathcal{C }} (\hbox {reach}_{\mathcal{C }}(\mathcal{O }))\).

Definition 7

(Height of a cell) Let \(\mathcal{C }\) be a cell of the arrangement of the cutting planes. The height of \(\mathcal{C }\), denoted by \(h_{\mathcal{C }}\), is defined as the maximum distance of a point \(x \in \mathcal{C }\) to its nearest point in the boundary of \(\mathcal{C }\), see Fig. 7. In other words, \(h_{\mathcal{C }} := \max _{x \in \mathcal{C }} \;\hbox {d}(x, np (x))\).

Fig. 7
figure 7

Left Definition of the height of a cell \(\mathcal{C }\). Right Height of a cell \(\mathcal{C }\) is bounded from above by half of the diameter of \(\mathcal{C }\), but may be much smaller for many configurations of cutting planes

We remark that the height of any cell \(\mathcal{C }\) is at most half of the diameter of \(\mathcal{C }\). However, as the example of Fig. 7 (right figure) shows, it may be much smaller than half of the diameter. Moreover, in the case of parallel planes, while the cell between two consecutive planes is unbounded, the height of the cell is half of the distance between the two planes. We now show that by bounding from above the height of the cells by the reach of the object, we can ensure the Separation Condition.

Lemma 2

(Sufficient condition). If the set of cutting planes is sufficiently dense so that \(h_{\mathcal{C }} < \hbox {reach}_{\mathcal{C }}(\mathcal{O })\) for any cell \(\mathcal{C }\) of the arrangement, then the Separation Condition is verified.

Proof

Let \(m_i\) be any point in \(\text {MA}_i(\partial \mathcal{O })\) in a cell \(\mathcal{C }\) of the arrangement. We have

$$\begin{aligned} d(m_i, np (m_i)) \le h_{\mathcal{C }} < \hbox {reach}_{\mathcal{C }}(\mathcal{O }) \le d(m_i, \partial \mathcal{O }). \end{aligned}$$

Therefore, \( np (m_i)\) is in \(\mathcal{O }\) (and so in \(\mathcal{S }\)), and according to the definition of \(\mathcal{R }\), \(m_i\) is in \(\mathcal{R }\). This proves that \(\text {MA}_i(\partial \mathcal{O }) \subset \mathcal{R }\). For any point \(m_e \in \text {MA}_e(\partial \mathcal{O })\), we can similarly show that \( np (m_e)\) is not in \(\mathcal{O }\), and so \(\text {MA}_e(\partial \mathcal{O }) \subset \mathbb R ^3 \setminus \mathcal{R }\). Therefore, the Separation Condition is verified. \(\square \)

Figure 8 shows some 2D examples in a rectangle cell. The height of the rectangle cell is obviously one half the length of its smaller side. The left column shows examples for which the explained sufficient condition is verified. The examples of the column in the middle have the same sections, but for each case there exists a medial ball with radius less than the height of the cell and so the above condition is not verified. The right column shows the reconstructed object from the given sections of each case, inducing the same connectivity between the sections as the shapes of the left column. Figure 10 illustrates another situation in 3D where the sampling of cutting planes is not sufficiently dense to verify the explained condition.

Fig. 8
figure 8

The left column shows examples for which the sufficient condition is verified. The examples of the column in the middle have the same sections, but for each case there exists a medial ball with radius less than the height of the cell and so the condition is not verified. The right column shows the reconstructed object from the given sections for each case

Figure 9 provides another series of examples for the case of parallel planes, for which the height of each cell is one half the distance between the two adjacent planes. In the first example, the distance between the cutting planes is bigger than twice the reach of the shape. The previous sufficient condition is not verified and the connectivity is not correctly reconstructed. The second figure illustrates two planes at distance exactly twice the reach of the shape. One can see how this critical value ensures the right connectivity. In the two last examples, the distance between cutting planes is small enough to ensure the Separation Condition, and thus, the correct connectivity between the sections.

Fig. 9
figure 9

Different sampling configurations. The distance between the cutting planes is respectively, (1) bigger than (2) equal to (3 and 4) less than twice the reach of the shape. Note that the front and rear cutting planes are not shown in the figures of the left column, only the corresponding sections are visible

Fig. 10
figure 10

Example of bad sampling: the connectivity between the sections in the reconstructed object is not coherent with the original shape (two twisted cylinders)

3 Topological Guarantees for Particular Cases

We proved that under the Separation Condition, the connectivity between the sections of \(\mathcal{C }\) induced by the reconstructed object \(\mathcal{R }_{\mathcal{C }}\) is coherent with the original shape \(\mathcal{O }_{\mathcal{C }}\). We presented the proofs for the 3D case of the problem, but the proofs easily show that this result is valid in any dimension. We show in this section that this is strong enough to imply the homotopy equivalence between \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\) for the 2-dimensional variant of the reconstruction problem, as well as for any disjoint union of convex bodies in \(\mathbb R ^d\). (In addition, as we will see later, the homotopy equivalence is also ensured for some other simple cases very common in practice, where the sections are contractible and sufficiently close to each other; more formally, if each connected component of the lift of the sections is contractible.) These guarantees justify the fact that under a rather simple density condition (i.e., Separation Condition), the overlapping criterion without any further information is enough to recover the topology for simple cases.

3.1 Guarantees for 2D Shape Reconstruction from Line Cross-Sections

Consider the 2-dimensional variant of the reconstruction problem, that consists of reconstructing a 2D-shape from its intersections with arbitrarily oriented cutting lines. In this case the sections are line-segments.

We can focus on a cell \(\mathcal{C }\) of the arrangement of the plane by the cutting lines. Similar definitions for the Voronoi diagram and the Voronoi skeleton of \(\mathcal{C }\), the lift function and the reconstructed object \(\mathcal{R }_{\mathcal{C }}\) can be considered. Using the sufficient condition presented in the last section, if for any cell \(\mathcal{C }\) of the arrangement, \(h_{\mathcal{C }} < \hbox {reach}_{\mathcal{C }}(\mathcal{O })\), then the Separation Condition is ensured. We deduce the following theorem.

Theorem 2

(Provably good 2D reconstruction) If for any cell \(\mathcal{C }\) of the arrangement of the cutting lines, \(h_{\mathcal{C }} < \hbox {reach}_{\mathcal{C }}(\mathcal{O })\), then \(\mathcal{R }\) is homeomorphic to \(\mathcal{O }\).

Proof

By the definition of the reconstructed object, it is easy to see that any connected component of \(\mathcal{R }_{\mathcal{C }}\) is a topological disk. On the other hand, according to Proposition 2, under the Separation Condition, any connected component of \(\partial \mathcal{O }\) is cut by at least one cutting line. We easily deduce that any connected component of \(\mathcal{O }_{\mathcal{C }}\) is a topological disk. Therefore, all the connected components of \(\mathcal{O }_{\mathcal{C }}\) or \(\mathcal{R }_{\mathcal{C }}\) are 2-dimensional disks. On the other hand, according to Theorem 1, under the separation condition, there is a bijection between the connected components of \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\). Therefore, there is a homotopy equivalence between each pair of corresponding connected components of \(\mathcal{O }_{\mathcal{C }}\) or \(\mathcal{R }_{\mathcal{C }}\). This provides a homotopy equivalence between \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\). As we will explain in detail in Sect. 4.5, the homotopy equivalences in the different cells of the arrangement can be extended to a homotopy equivalence between \(\mathcal{R }\) and \(\mathcal{O }\). Finally, since \(\mathcal{R }\) and \(\mathcal{O }\) are two homotopy equivalent 2-dimensional submanifolds of \(\mathbb R ^2\), we deduce that there is a homeomorphism between \(\mathcal{R }\) and \(\mathcal{O }\). \(\square \)

Comparison with our results presented in [34]. We note that in [34], we presented a Delaunay-based 2-dimensional reconstruction algorithm from line cross-sections, and provided a sampling condition under which the same topological guarantees are ensured. Rather than using the Voronoi diagram of the cells, in [34] the nearest point definition is based on the Voronoi diagram of all the sections, which performs well for the case of reconstructing tree-like objects from sparse sectional data.

Note that since in that case the Voronoi cells are not restricted to the cells of the arrangement, the equivalent height function of the cells may be too large and the sampling condition may be more difficult to ensure. Therefore, the sampling condition provided in the present paper seems more appropriate.

3.2 Reconstruction of a Collection of Disjoint Convex Bodies (Arbitrary Dimension)

Another interesting particular case is any disjoint union of convex bodies in \(\mathbb R ^d\). In this case \(\mathcal{O }_{\mathcal{C }}\), which is the intersection of a set of convex bodies with a convex polyhedron \(\mathcal{C }\), is composed of convex components as well.

We claim that the presented reconstruction method can be adapted to the case of a union of convex bodies so that the resulting reconstructed object is homotopy equivalent to \(\mathcal{O }_{\mathcal{C }}\) under the Separation Condition.

Reconstruction algorithm adapted to a union of convex bodies. Consider the connectivity classes of the sections in \(\mathcal{R }_{\mathcal{C }}\), i.e., groups of sections that are in the same connected component of \(\mathcal{R }_{\mathcal{C }}\). We define the new reconstructed object \(\hbox {Conv}_\mathcal{C }\) as the union of the convex hulls of the connectivity classes of sections in \(\mathcal{R }_{\mathcal{C }}\). In other words, for each group of sections \(K\) that are in the same connected component of \(\mathcal{R }_{\mathcal{C }}\), we consider the convex hull of all the sections of \(K\), denoted by \(\hbox {conv}(K)\). The new reconstructed object is then defined as \(\hbox {Conv} := \bigcup _\mathcal{C }\hbox {Conv}_\mathcal{C }\).

Lemma 3

Under the Separation Condition, the reconstructed object \(\hbox {Conv}\) conforms to the given sections \(\mathcal{S }\), and is homotopy equivalent to \(\mathcal{O }\).

Proof

Consider any group \(K\) of sections in \(\mathcal{S }_{\mathcal{C }}\) that are in the same connected component of \(\mathcal{R }_{\mathcal{C }}\). We first show that \(K\) has at most one section in each face of \(\mathcal{C }\). We use the fact that, under the Separation Condition, there is a bijection between the connected components of \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\). According to this bijection, the sections of \(K\) are in the same connected component of \(\mathcal{O }_{\mathcal{C }}\) (and so of \(\mathcal{O }\)). Therefore, all the sections of \(K\) belong to a convex body in \(\mathcal{O }\). We deduce that each face of \(\mathcal{C }\) intersects \(K\) in at most one connected component (section). On the other hand, since \(\mathcal{C }\) is convex, the convex hull of \(K\) lies inside \(\mathcal{C }\) and we have \(\hbox {conv}(K) \cap \partial \mathcal{C }= K\) for any \(K\). Thus, for any cell \(\mathcal{C }\), \(\hbox {Conv}_\mathcal{C }\) conforms to \(\mathcal{S }_{\mathcal{C }}\).

On the other hand, all the connected components of \(\mathcal{O }_{\mathcal{C }}\) and \(\hbox {Conv}_\mathcal{C }\) are convex and form \(d\)-dimensional topological balls. Thus, the bijection between the connected components of \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\) (and so \(\hbox {Conv}_\mathcal{C }\)) provides a homotopy equivalence between the components that are all \(d\)-dimensional topological balls. Now the lemma follows by observing that \(\hbox {Conv}\) itself is a disjoint union of convex bodies, which are in bijection with the convex bodies in \(\mathcal{O }\). \(\square \)

Using the sufficient condition that implies the Separation Condition, c.f. Lemma 2, we deduce the following theorem.

Theorem 3

(Reconstruction of a collection of convex bodies) Let \(\mathcal{O }\) be a union of convex bodies in \(\mathbb R ^d\). We define the new reconstructed object as \(\hbox {Conv} := \bigcup _\mathcal{C }\hbox {Conv}_\mathcal{C }\), where \(\hbox {Conv}_\mathcal{C }\) is the union of the convex hulls of the connectivity classes of sections in \(\mathcal{R }_{\mathcal{C }}\). If for any cell \(\mathcal{C }\) of the arrangement of the cutting lines, \(h_{\mathcal{C }} < \hbox {reach}_{\mathcal{C }}(\mathcal{O })\), then \(\hbox {Conv}\) conforms to the given sections \(\mathcal{S }\), and is homotopy equivalent to \(\mathcal{O }\).

We showed that the Separation Condition implies that the connectivity between the sections is correctly reconstructed. However, it only implies the homotopy equivalence between the reconstructed object and the original shape for the 2D variant of the problem or some particular cases as the case of a union of convex bodies. In the next section, we will impose a second sampling condition on the set of cutting planes in order to ensure the homotopy equivalence in the general 3D case.

4 General Topological Guarantees

To clarify the connection between the upcoming sections, let us shortly outline the general strategy employed in proving the homotopy equivalence between \(\mathcal{R }\) and \(\mathcal{O }\).

4.1 Proof Outline of the Homotopy Equivalence Between \(\mathcal{R }\) and \(\mathcal{O }\)

In Sect. 2.3 we showed that under the first sampling condition called the Separation Condition, the connection between the sections in the reconstructed object \(\mathcal{R }_{\mathcal{C }}\) is the same as in \(\mathcal{O }_{\mathcal{C }}\), in the sense that there is a bijection between the connected components of \(\mathcal{R }_{\mathcal{C }}\) and the connected components of \(\mathcal{O }_{\mathcal{C }}\), for any cell \(\mathcal C \). This implies that for proving the homotopy equivalence between \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\), it will be enough to show that the corresponding connected components have the same homotopy type.

In the sequel, to simplify the notations and the presentation, we suppose that \(\mathcal{O }_{\mathcal{C }}\) and thus \(\mathcal{R }_{\mathcal{C }}\) are connected, and we show that \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\) have the same homotopy type. It is clear that the same proofs can be applied to each corresponding connected components of \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\) to imply the homotopy equivalence in the general case of multiple connected components.

The idea consists in following the normal-directions to \(\partial \mathcal{O }\) in order to define a deformation retract of \(\mathcal{O }_{\mathcal{C }}\) onto a subset of \(\mathcal{R }_{\mathcal{C }}\), in each cell \(\mathcal{C }\). To this end, we will define an intermediate shape \(\mathcal{M }_{\mathcal{C }}\), called the medial shape, such that \(\mathcal{M }_{\mathcal{C }}\subset \mathcal{R }_{\mathcal{C }}\) and the map \(\mathcal{O }_{\mathcal{C }}\rightarrow \mathcal{M }_{\mathcal{C }}\hookrightarrow \mathcal{R }_{\mathcal{C }}\), obtained by composing the deformation retract and the inclusion, restricts to the identity map on each section of \(\mathcal{S }_{\mathcal{C }}\). Thus, we can glue all these maps to obtain a global map from \(\mathcal{O }\) to \(\mathcal{R }\).

Using a generalized version of the nerve theorem (see Sect. 4.5), we then reduce the problem to proving that the inclusion \(i: \mathcal{M }_{\mathcal{C }}\hookrightarrow \mathcal{R }_{\mathcal{C }}\) forms a homotopy equivalence in each cell. Using Whitehead’s theorem, it will be enough to show that the inclusion \(i\) induces isomorphisms between the corresponding homotopy groups. Under the Separation Condition, we prove that \(i\) induces an injective map on the first homotopy groups, and that all higher dimensional homotopy groups of \(\mathcal{M }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\) are trivial. Unfortunately, the Separation Condition does not ensure in general the surjectivity of \(i\) on the first homotopy groups. To overcome this problem, we need to impose a second condition called Intersection Condition, under which the map \(i\) will be surjective on the first homotopy groups, leading to a homotopy equivalence between \(\mathcal{O }\) and \(\mathcal{R }\).

4.2 Medial Shape

Definition 8

(Medial shape \(\mathcal{M }_{\mathcal{C }}\)) Let \(x\) be a point in \(\mathcal{S }_{\mathcal{C }}\subset \partial \mathcal{O }_{\mathcal{C }}\). Let \(w(x)=[x,m_{i,\mathcal{C }}(x)]\) be the segment in the direction of the normal to \(\partial \mathcal{O }_{\mathcal{C }}\) at \(x\) which connects \(x\) to the point \(m_{i,\mathcal{C }}(x) \in \text {MA}_i(\partial \mathcal{O }_{\mathcal{C }})\). We add to \(\text {MA}_i(\partial \mathcal{O }_{\mathcal{C }})\) all the segments \(w(x)\) for all the points \(x \in \mathcal{S }_{\mathcal{C }}\). We call the resulting shape \(\mathcal{M }_{\mathcal{C }}\), see Fig. 11 (left) for an example. More precisely,

$$\begin{aligned} \mathcal{M }_{\mathcal{C }}:= \text {MA}_i(\partial \mathcal{O }_{\mathcal{C }}) \cup \big (\bigcup _{x\in \mathcal{S }_{\mathcal{C }}} w(x)\big ). \end{aligned}$$
Fig. 11
figure 11

A 2D illustration of the medial shape \(\mathcal{M }_{\mathcal{C }}\) in purple (left) and \(\widetilde{\mathcal{M }}_{\mathcal{C }}\) in red (right) (Color figure online)

Proposition 3

The medial shape verifies the following set of properties:

  1. (i)

    The medial shape contains the sections of \(\mathcal{C }\), i.e., \(\mathcal{S }_{\mathcal{C }}\subseteq \mathcal{M }_{\mathcal{C }}\).

  2. (ii)

    There is a (strong) deformation retract \(r\) from \(\mathcal{O }_{\mathcal{C }}\) to \(\mathcal{M }_{\mathcal{C }}\). In particular, this map is a homotopy equivalence between \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{M }_{\mathcal{C }}\). And its restriction to \(\mathcal{S }_{\mathcal{C }}\) is the identity map.

  3. (iii)

    Under the Separation Condition, \(\mathcal{M }_{\mathcal{C }}\subseteq \mathcal{R }_{\mathcal{C }}\).

Proof

  1. (i)

    This property is true by the definition of the medial shape.

  2. (ii)

    This is obtained by deforming \(\mathcal{O }_{\mathcal{C }}\) to \(\mathcal{M }_{\mathcal{C }}\) in the direction of the normals to the boundary \(\partial \mathcal{O }_{\mathcal{C }}\). Note that the boundary \(\partial \mathcal{O }_{\mathcal{C }}\) is smooth except on the boundaries of sections in \(\mathcal{S }_{\mathcal{C }}\), and the boundaries of the sections in \(\mathcal{S }_{\mathcal{C }}\) are already in \(\mathcal{M }_{\mathcal{C }}\), thus, the deformation retract is well defined. Moreover, since \(\partial \mathcal{O }\) (and so \(\partial \mathcal{O }\cap \mathcal C \)) is supposed to be of class \(C^2\), according to a theorem by Wolter [50], this deformation is continuous and is hence a continuous deformation retract from \(\mathcal{O }_{\mathcal{C }}\) to \(\mathcal{M }_{\mathcal{C }}\).

  3. (iii)

    Since \(\mathcal{M }_{\mathcal{C }}= \text {MA}_i(\partial \mathcal{O }_{\mathcal{C }}) \cup \bigl (\bigcup _{x \in \mathcal{S }_{\mathcal{C }}} w(x)\bigr )\) and in addition \(\text {MA}_i(\partial \mathcal{O }_{\mathcal{C }}) \subset \mathcal{R }_{\mathcal{C }}\), it will be sufficient to show that for any \(x\) in a section \(A \in \mathcal{S }_{\mathcal{C }}\), \(w(x) \subset \mathcal{R }_{\mathcal{C }}\). (Recall that \(w(x)\) is the orthogonal segment to \(\partial \mathcal{O }_{\mathcal{C }}\) at \(x\) that joins \(x\) to the corresponding medial point \(m_{i,\mathcal{C }}(x)\) in \(\text {MA}_i(\partial \mathcal{O }_{\mathcal{C }})\).) We will show that \(w(x)\) is contained in the segment \([x, \hbox {lift}(x)]\). The point \(x\) is the closest point in \(\partial \mathcal{O }_{\mathcal{C }}\) to \(m_{i,\mathcal{C }}(x)\). Thus, the ball centered at \(m_{i,\mathcal{C }}(x)\) and passing through \(x\) is entirely contained in \(\mathcal{O }\) and its interior is empty of points of \(\partial \mathcal{C }\). Thus, in the Voronoi diagram of \(\mathcal{C }\), \(m_{i,\mathcal{C }}(x)\) is in the same Voronoi cell as \(x\). On the other hand, \(x\) is the closest point in \(\mathcal{S }_{\mathcal{C }}\subset \partial \mathcal{O }_{\mathcal{C }}\) to \(\hbox {lift}(x)\). It easily follows that \(d(x,\hbox {lift}(x)) \ge d(x, m_{i,\mathcal{C }}(x))\). It follows that the segment \([x, m_{i,\mathcal{C }}(x)]=w(x)\) is a subsegment of \([x, \hbox {lift}(x)]\). Therefore, by the definition of \(\mathcal{R }_{\mathcal{C }}\), \(w(x) \subset \mathcal{R }_{\mathcal{C }}\).\(\square \)

We end this section with the following important remark and proposition which will be used in the next section. By replacing the shape \(\mathcal{O }_{\mathcal{C }}\) with its complementary set we may define an exterior medial shape \(\widetilde{\mathcal{M }}_{\mathcal{C }}\). This is more precisely defined as follows. Let \(\widetilde{\mathcal{O }}\) be the closure of the complementary set of \(\mathcal{O }\) in \(\mathbb R ^3\). And let \(\widetilde{\mathcal{O }_{\mathcal{C }}}\) be the intersection of \(\widetilde{\mathcal{O }}\) with the cell \(\mathcal{C }\). The medial shape of \(\widetilde{\mathcal{O }_{\mathcal{C }}}\), denoted by \(\widetilde{\mathcal{M }}_{\mathcal{C }}\), is the union of the medial shapes of the connected components of \(\widetilde{\mathcal{O }_{\mathcal{C }}}\), see Fig. 11 (right). Similarly, under the Separation Condition, the following proposition holds.

Proposition 4

Let \(\widetilde{\mathcal{O }_{\mathcal{C }}}\) be the closure of the complementary set of \(\mathcal{O }_{\mathcal{C }}\) in \(\mathcal{C }\) and \(\widetilde{\mathcal{M }}_{\mathcal{C }}\) be the medial shape of \(\widetilde{\mathcal{O }_{\mathcal{C }}}\). Under the Separation Condition: (i) There is a strong deformation retract from \(\mathcal{C }\setminus \widetilde{\mathcal{M }}_{\mathcal{C }}\) to \(\mathcal{O }_{\mathcal{C }}\), and (ii) We have \(\mathcal{R }_{\mathcal{C }}\subset \mathcal{C }\setminus \widetilde{\mathcal{M }}_{\mathcal{C }}\).

Proof

The proof of Property (i) is similar to the proof of Proposition 3 by deforming along the normal vectors to the boundary of \(\widetilde{\mathcal{O }_{\mathcal{C }}}\). The property (ii) is equivalent to \(\widetilde{\mathcal{M }}_{\mathcal{C }}\subset \mathcal{C }\setminus \mathcal{R }_{\mathcal{C }}\). \(\square \)

4.3 Topological Guarantees Implied by the Separation Condition

Throughout this section, we suppose that the Separation Condition holds. By the discussion at the end of Sect. 4.1, and without loss of generality, we may assume that \(\mathcal{O }_{\mathcal{C }}\) and hence \(\mathcal{R }_{\mathcal{C }}\) are connected. Thus, \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\) are connected compact topological 3-manifolds embedded in \(\mathbb R ^3\).

We showed that the medial shape \(\mathcal{M }_{\mathcal{C }}\) is homotopy equivalent to \(\mathcal{O }_{\mathcal{C }}\), and under the Separation Condition, \(\mathcal{M }_{\mathcal{C }}\subset \mathcal{R }_{\mathcal{C }}\). Using these properties, we will show that \(\mathcal{L }: \mathcal{M }_{\mathcal{C }}\rightarrow \hbox {lift}(\mathcal{S }_{\mathcal{C }})\) (the restriction of the lift function to \(\mathcal{M }_{\mathcal{C }}\)) is a homotopy equivalence. On the other hand, according to Proposition 1, \(\mathcal{L }: \mathcal{R }_{\mathcal{C }}\rightarrow \hbox {lift}(\mathcal{S }_{\mathcal{C }})\) is a homotopy equivalence as well. Hence, using the following commutative diagram, we can infer that \(i:\mathcal{M }_{\mathcal{C }}\hookrightarrow \mathcal{R }_{\mathcal{C }}\) is a homotopy equivalence.

Moreover, since the objects we are manipulating are all CW-complexes, according to Whitehead’s theorem homotopy equivalence is equivalent to weak homotopy equivalence. Hence, it will be enough to show that \(\mathcal{L }: \mathcal{M }_{\mathcal{C }}\rightarrow \hbox {lift}(\mathcal{S }_{\mathcal{C }})\) induces isomorphism between the corresponding homotopy groups.

Injectivity at the level of homotopy groups   We first show that under the Separation Condition, \(\mathcal{L }: \mathcal{M }_{\mathcal{C }}\rightarrow \hbox {lift}(\mathcal{S }_{\mathcal{C }})\) induces injections at the level of homotopy groups.

Theorem 4

(Injectivity) Under the Separation Condition, the homomorphisms between the homotopy groups of \(\mathcal{M }_{\mathcal{C }}\) and \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\), induced by the lift function \(\mathcal{L }\), are injective.

Proof

Under the Separation Condition, we have \(\mathcal{M }_{\mathcal{C }}\subset \mathcal{R }_{\mathcal{C }}\). Let \(\widetilde{\mathcal{M }_{\mathcal{C }}}\) be the medial shape of the closure of the complementary set of \(\mathcal{O }_{\mathcal{C }}\) in \(\mathcal{C }\). We refer to the discussion at the end of the previous section for more details. Recall that by Proposition 4, we have \(\mathcal{R }_{\mathcal{C }}\subset \mathcal{C }\setminus \widetilde{\mathcal{M }}_{\mathcal{C }}\), and there exists a deformation retract from \(\mathcal{C }\setminus \widetilde{\mathcal{M }}_{\mathcal{C }}\) to \(\mathcal{O }_{\mathcal{C }}\) (in particular \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{C }\setminus \widetilde{\mathcal{M }}_{\mathcal{C }}\) are homotopy equivalent). We have now the following commutative diagram in which every map (except the lift function \(\mathcal{L }\)) is an injection (or an isomorphism) at the level of homotopy groups.

Using this diagram, the injectivity at the level of homotopy groups is clear: For any integer \(j \ge 1\), consider the induced homomorphism \(\mathcal{L }_*: \pi _j(\mathcal{M }_{\mathcal{C }}) \rightarrow \pi _j(\hbox {lift}(\mathcal{S }_{\mathcal{C }}))\). Let \(x \in \pi _j(\mathcal{M }_{\mathcal{C }})\) be so that \(\mathcal{L }_*(x)\) is the identity element of \(\pi _j(\hbox {lift}(\mathcal{S }_{\mathcal{C }}))\). It is sufficient to show that \(x\) is the identity element of \(\pi _j(\mathcal{M }_{\mathcal{C }})\). Following the maps of the diagram, and using the homotopy equivalence between \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\) and \(\mathcal{R }_{\mathcal{C }}\), we have that \(x\) is first mapped to the identity element of \(\pi _j(\mathcal{R }_{\mathcal{C }})\) and then, by the inclusion \(\mathcal{R }_{\mathcal{C }}\hookrightarrow \mathcal{C }\setminus \widetilde{\mathcal{M }}_{\mathcal{C }}\), it goes to the identity element of \( \mathcal{C }\setminus \widetilde{\mathcal{M }}_{\mathcal{C }}\). Finally, by the two retractions, it will be mapped to the identity element of \(\pi _j(\mathcal{M }_{\mathcal{C }})\). As this diagram is commutative, we infer that \(x\) is the identity element of \(\pi _j(\mathcal{M }_{\mathcal{C }})\). Thus, \(\mathcal{L }_*: \pi _j(\mathcal{M }_{\mathcal{C }}) \rightarrow \pi _j(\hbox {lift}(\mathcal{S }_{\mathcal{C }}))\) is injective for all \(j \ge 1\). The injectivity for \(j=0\) is already proved in Theorem 1. \(\square \)

We have shown that under the Separation Condition, the lift function \(\mathcal{L }: \mathcal{M }_{\mathcal{C }}\rightarrow \hbox {lift}(\mathcal{S }_{\mathcal{C }})\) induces injective morphisms between the homotopy groups of \(\mathcal{M }_{\mathcal{C }}\) and \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\). If these induced morphisms were surjective, then \(\mathcal{L }\) would be a homotopy equivalence (by Whitehead’s theorem). We will show below that the Separation Condition implies the surjectivity for all the homotopy groups except for dimension one (fundamental groups). Indeed, we will show that under the Separation Condition, all the \(i\)-dimensional homotopy groups of \(\mathcal{M }_{\mathcal{C }}\) and \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\) for \(i \ge 2\) are trivial. Once this is proved, it will be sufficient to study the surjectivity of \(\mathcal{L }_*: \pi _1(\mathcal{M }_{\mathcal{C }}) \rightarrow \pi _1(\hbox {lift}(\mathcal{S }_{\mathcal{C }}))\).

Remark 1

Note that the injectivity in the general form above remains valid for the corresponding reconstruction problems in dimensions greater than three. However, the vanishing results on higher homotopy groups of \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\) are only valid in dimensions two and three.

The topological structures of \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\) are determined by their fundamental groups   We now show that if the Separation Condition is verified, then the topological structure of the portion of \(\mathcal{O }\) in a cell \(\mathcal{C }\) (i.e., \(\mathcal{O }_{\mathcal{C }}\)) is simple enough, in the sense that for all \(i \ge 2\), the \(i\)-dimensional homotopy group of \(\mathcal{O }_{\mathcal{C }}\) is trivial. We can easily show that \(\mathcal{R }_{\mathcal{C }}\) has the same property.Footnote 1 As a consequence, the topological structures of \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\) are determined by their fundamental group, \(\pi _1(\mathcal{O }_{\mathcal{C }})\) and \(\pi _1(\mathcal{R }_{\mathcal{C }})\).

We first state the following general theorem for an arbitrary embedded \(3\)-manifold with connected boundary.

Theorem 5

Let \(K\) be a connected 3-manifold in \(\mathbb R ^3\) with a (non-empty) connected boundary. Then for all \(i \ge 2\), \(\pi _i(K)= \{0\}\).

This theorem can be easily obtained from the Sphere Theorem, see e.g., Corollary 3.9 of [22] or for more details [33]. From this theorem, we infer the two following theorems.

Theorem 6

Under the Separation Condition, \(\pi _i(\mathcal{O }_{\mathcal{C }})= \{0\}\) for all \(i \ge 2\).

Proof

We only make use of the fact that under the Separation Condition, any connected component of \(\partial \mathcal{O }\) is cut by at least one cutting plane (Proposition 2). In this case, every connected component of \(\mathcal{O }_{\mathcal{C }}\) is a 3-manifold with connected boundary. The theorem follows as a corollary of Theorem 5. \(\square \)

Theorem 7

\(\pi _i(\mathcal{R }_{\mathcal{C }})= \{0\}\) for all \(i \ge 2\).

Proof

Using Theorem 5, it will be sufficient to show that the boundary of any connected component \(K\) of \(\mathcal{R }_{\mathcal{C }}\) is connected. Let \(x\) and \(y\) be two points on the boundary of \(K\), and let \(S\) and \(S'\) be two sections so that \(x \in [a,\hbox {lift}(a)]\) for some \(a \in S\) and \(y \in [b,\hbox {lift}(b)]\) for some \(b \in S'\). By the definition of \(\mathcal{R }_{\mathcal{C }}\), \(x\) is connected to \(S\) in \(\partial \mathcal{R }_{\mathcal{C }}\), and \(y\) is connected to \(S'\) in \(\partial \mathcal{R }_{\mathcal{C }}\). On the other hand, since \(S\) and \(S'\) are two sections in the connected component \(K\) of \(\mathcal{R }_{\mathcal{C }}\), they lie on \(\partial K\) and are connected to each other in \(\partial K\) (and so in \(\partial \mathcal{R }_{\mathcal{C }}\)). Thus, \(x\) is connected to \(y\) in \(\partial \mathcal{R }_{\mathcal{C }}\). \(\square \)

4.4 Second Condition: Intersection Condition

In the previous section, we saw that under the Separation Condition, the topological structures of \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\) are determined by their fundamental group \(\pi _1(\mathcal{O }_{\mathcal{C }})\) and \(\pi _1(\mathcal{R }_{\mathcal{C }})\), respectively. The goal of this section is to find a way to ensure an isomorphism between the fundamental groups of \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\). We recall that as \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{M }_{\mathcal{C }}\) are homotopy equivalent, \(\pi _1(\mathcal{O }_{\mathcal{C }})\) is isomorphic to \(\pi _1(\mathcal{M }_{\mathcal{C }})\). On the other hand, \(\mathcal{R }_{\mathcal{C }}\) and \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\) are homotopy equivalent, and \(\pi _1(\mathcal{R }_{\mathcal{C }})\) is isomorphic to \(\pi _1(\hbox {lift}(\mathcal{S }_{\mathcal{C }}))\) (see last diagram). Thus, it will be sufficient to compare \(\pi _1(\mathcal{M }_{\mathcal{C }})\) and \(\pi _1(\hbox {lift}(\mathcal{S }_{\mathcal{C }}))\).

We consider \(\mathcal{L }_*: \pi _1(\mathcal{M }_{\mathcal{C }}) \rightarrow \pi _1(\hbox {lift}(\mathcal{S }_{\mathcal{C }}))\), the map induced by the lift function from \(\mathcal{M }_{\mathcal{C }}\) to \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\) on fundamental groups. We showed that \(\mathcal{L }_*\) is injective. A simple sufficient condition to ensure that \(\mathcal{L }_*\) is an isomorphism is to impose that \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\) is contractible (or more generally, each connected component of \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\) is contractible). This is very common in practice, where the sections are contractible and sufficiently close to each other. In this case, all the homotopy groups \(\pi _j(\hbox {lift}(\mathcal{S }_{\mathcal{C }}))\) are trivial and by injectivity of \(\mathcal{L }_*\) proved in the previous section, \(\mathcal{L }_*\) becomes an isomorphism in each dimension. Hence, the homotopy equivalence between \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\) can be deduced.

However, the connected components of \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\) are not necessarily contractible in general and the map \(\mathcal{L }_*: \pi _1(\mathcal{M }_{\mathcal{C }}) \rightarrow \pi _1(\hbox {lift}(\mathcal{S }_{\mathcal{C }}))\) may fail to be surjective. Figure 12 shows two shapes with different topologies, a torus and a (twisted) cylinder, that have the same (inter)sections with a set of (two) cutting planes. Hence, whatever is the reconstructed object from these sections, it would not be topologically consistent for at least one of these objects. In particular, the proposed reconstructed object (\(\mathcal{R }\)) is a torus which is not homotopy equivalent to the (twisted) cylinder (\(\mathcal{O }\)). In addition, we note that the Separation Condition may be verified for such a situation. Indeed, such a situation is exactly the case when the injective morphism between the fundamental groups of \(\mathcal{O }\) and \(\mathcal{R }\) is not surjective. This situation can be explained as follows: let \(x_1\) and \(x_2\) be two points in the sections \(S_1\) and \(S_2\) with the same lift \(x\) in \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\). The lift of any curve \(\gamma \) connecting \(x_1\) and \(x_2\) in \(\mathcal{M }_{\mathcal{C }}\) provides a non-identity element of \(\pi _1(\hbox {lift}(\mathcal{S }_{\mathcal{C }}),x)\) which is not in the image of \(\mathcal{L }_*\). We may avoid this situation with the following condition.

Fig. 12
figure 12

Left Original shape. Right Reconstructed shape. 3D example of the case where the lift function from \(\mathcal{M }_{\mathcal{C }}\) to \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\) fails to be surjective on the first homotopy groups. Note that for two points \(x_1\) and \(x_2\) with the same lift in \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\), the lift of any curve \(\gamma \) connecting \(x_1\) and \(x_2\) in \(\mathcal{M }_{\mathcal{C }}\) provides a non-zero element of \(\pi _1(\hbox {lift}(\mathcal{S }_{\mathcal{C }}),x)\). The reconstructed shape is a torus and is not homotopy equivalent to the original shape which is a twisted cylinder

Definition 9

(Intersection Condition) We say that the set of cutting planes verifies the Intersection Condition if for any pair of sections \( S_i\) and \(S_j\) in \(\mathcal{S }_{\mathcal{C }}\), and for any connected component \(X\) of \(\hbox {lift}(S_i) \cap \hbox {lift}(S_j)\) (see Fig. 13), the following holds: there is a path \(\gamma \subset \mathcal{M }_{\mathcal{C }}\) from a point \(a\in S_i\) to a point \(b \in S_j\) with \(\hbox {lift}(a) = \hbox {lift}(b) =x \in X\) so that \(\mathcal{L }_*(\gamma )\) is the identity element of \(\pi _1(\hbox {lift}(\mathcal{S }_{\mathcal{C }}),x)\), i.e., is contractible in \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\) with a homotopy respecting the base point \(x\).

Fig. 13
figure 13

Intersection condition

In Sect. 4.6, we will show how to verify the Intersection Condition. Let us first prove the surjectivity of the map \(\mathcal{L }_*\) which is deduced directly from the Intersection Condition.

Theorem 8

(Surjectivity) Under the Intersection Condition, the induced map \(\mathcal{L }_*: \pi _1(\mathcal{M }_{\mathcal{C }}) \rightarrow \pi _1(\hbox {lift}(\mathcal{S }_{\mathcal{C }}))\) is surjective.

Proof

Let \(y_0\) be a fixed point of \(\mathcal{M }_{\mathcal{C }}\) and \(x_0 = \mathcal{L }(y_0)\). We show that \(\mathcal{L }_* : \pi _1\bigl (\mathcal{M }_{\mathcal{C }},y_0\bigr ) \rightarrow \pi _1\bigl (\hbox {lift}(\mathcal{S }_{\mathcal{C }}),x_0\bigr )\) is surjective. Let \(\alpha \) be a closed curve in \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\) which represents an element of \(\pi _1\bigl (\hbox {lift}(\mathcal{S }_{\mathcal{C }}),x_0\bigr )\). We show the existence of an element \(\beta \in \pi _1\bigl (\mathcal{M }_{\mathcal{C }},y_0\bigr )\) such that \(\mathcal{L }_*(\beta ) = [\alpha ]\), where \([\alpha ]\) denotes the homotopy class of \(\alpha \) in \(\pi _1\bigl (\hbox {lift}(\mathcal{S }_{\mathcal{C }}),x_0\bigr )\). We can divide \(\alpha \) into subcurves \(\alpha _1, \dots , \alpha _m\) such that \(\alpha _j\) joins two points \(x_{j-1}\) and \(x_j\), and is entirely in the lift of one of the sections \(S_{j}\), for \(j=1, \dots , m\). We may assume \(y_0 \in S_{1} = S_{m}\). For each \(j=1,\dots , m\), let \(\beta _j\) be the curve in \(S_{j}\) joining two points \(z_j\) to \(w_j\) which is mapped to \(\alpha _j\) under \(\mathcal{L }\). Note that \(w_j\) and \(z_{j+1}\) (possibly) live in two different sections, but have the same image (\(x_j\)) under the lift map \(\mathcal{L }\). Let \(X_j\) be the connected component of \(\hbox {lift}(S_{j}) \cap \hbox {lift}(S_{j+1})\) which contains \(x_j\), see Fig. 14. According to the Intersection Condition, there is a path \(\gamma _j \subset \mathcal{M }_{\mathcal{C }}\) connecting a point \(a_j \in S_{j}\) to a point \(b_{j+1} \in S_{{j+1}}\) such that \(\hbox {lift}(a_j) = \hbox {lift}(b_{j+1}) = x'_j \in X_j\) and the image of \(\gamma _j\) under \(\mathcal{L }\) is the identity element of \(\pi _1(\hbox {lift}(\mathcal{S }_{\mathcal{C }}),x'_j)\) (i.e., is contractible with a homotopy respecting the base point \(x'_j\)). Since \(X_j\) is connected, there is a path from \(x_j\) to \(x'_j\) in \(X_j\), so lifting back this path to two paths from \(w_j\) to \(a_j\) in \(S_{j}\) and from \(b_{j+1}\) to \(z_{j+1}\) and taking the union of these two paths with \(\gamma _j\), we infer the existence of a path \(\gamma '_j \subset \mathcal{M }_{\mathcal{C }}\) connecting \(w_j\) to \(z_{j+1}\), such that the image of \(\gamma '_j\) under \(\mathcal{L }\) is contractible in \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\) with a homotopy respecting the base point \(x_j\).

Fig. 14
figure 14

For the proof of Theorem 8

Let \(\beta \) be the path from \(x_0\) to \(x_0\) obtained by concatenating \(\beta _j\) and \(\gamma '_j\) alternatively, i.e., \(\beta =\beta _1\gamma '_1\beta _2\gamma '_2\dots \beta _{m-1}\gamma '_m\beta _m\gamma '_m\). We claim that \(\mathcal{L }_*([\beta ]) = [\alpha ]\). This is now easy to show: we have \(\mathcal{L }_*(\beta ) = \alpha _1\mathcal{L }_*(\gamma '_1)\alpha _2\dots \mathcal{L }_*(\gamma '_m)\alpha _m\), and all the paths \(\mathcal{L }_*(\gamma '_j)\) are contractible to the constant path \([x_j]\) by a homotopy fixing \(x_j\) all the time. We deduce that under a homotopy fixing \(x_0\), \(\alpha _1\mathcal{L }_*(\gamma '_1)\dots \mathcal{L }_*(\gamma '_m)\alpha _m \mathrm is homotopic to \) \(\alpha _1\alpha _2\dots \alpha _m=\alpha \), and this is exactly saying that \(\mathcal{L }_*([\beta ]) =[\alpha ]\). The surjectivity follows. \(\square \)

Putting together all the materials we have obtained, we infer the main theorem of this section.

Theorem 9

(Main Theorem—Part I) Under the Separation and the Intersection Conditions, \(\mathcal{R }_{\mathcal{C }}\) is homotopy equivalent to \(\mathcal{O }_{\mathcal{C }}\) for any cell \(\mathcal{C }\) of the arrangement.

4.5 Generalized Nerve Theorem and Homotopy Equivalence of \(\mathcal{R }\) and \(\mathcal{O }\)

In this section, we extend the homotopy equivalence between \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\), in each cell \(\mathcal{C }\), to a global homotopy equivalence between \(\mathcal{R }\) and \(\mathcal{O }\). To this end, we make use of a generalization of the nerve theorem. This is a folklore theorem and has been observed and used by different authors. For a modern proof of a still more general result, we refer to Segal’s paper [43]. (See also [32], for a survey of similar results.)

Theorem 10

(Generalized Nerve Theorem)

Let \(H:X \rightarrow Y\) be a continuous map. Suppose that \(Y\) has an open cover \(\mathcal K \) with the following two properties:

  • Finite intersections of sets in \(\mathcal K \) are in \(\mathcal K \).

  • For each \(U \in \mathcal K \), the restriction \(H: H^{-1}(U) \rightarrow U\) is a weak homotopy equivalence.

Then \(H\) is a weak homotopy equivalence.

Let \(H_{\mathcal{C }}:\mathcal{O }_{\mathcal{C }}\rightarrow \mathcal{R }_{\mathcal{C }}\) be the homotopy equivalence obtained in the previous sections between \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\). (So \(H_{\mathcal{C }}\) is the composition of the retraction \(\mathcal{O }_{\mathcal{C }}\rightarrow \mathcal{M }_{\mathcal{C }}\) and the inclusion \(\mathcal{M }_{\mathcal{C }}\hookrightarrow \mathcal{R }_{\mathcal{C }}\).) Let \(H: \mathcal{O }\rightarrow \mathcal{R }\) be the map defined by \(H(x)= H_{\mathcal{C }}(x)\) if \(x \in \mathcal{O }_{\mathcal{C }}\) for a cell \(\mathcal{C }\) of the arrangement of the cutting planes. Note that \(H\) is well-defined since \(H_{\mathcal{C }}|_{\mathcal{S }_{\mathcal{C }}}= id_{\mathcal{S }_{\mathcal{C }}}\) for all \(\mathcal{C }\). In addition, since for all cell \(\mathcal{C }\), \(H_{\mathcal{C }}\) is continuous, \(H\) is continuous as well.

We can now apply the generalized nerve theorem by the following simple trick. Let \(\varepsilon \) be an infinitesimal positive value. For any cell \(\mathcal{C }\) of the arrangement of the cutting planes, we define \(\mathcal{O }_{\mathcal{C }}^{\varepsilon }= \{x \in \mathbb R ^3,\;\hbox {d}(x, \mathcal{O }_{\mathcal{C }})< \varepsilon \ \}\). Let us now consider the open covering \(\mathcal K \) of \(\mathcal{O }\) by these open sets and all their finite intersections. It is straightforward to check that for \(\varepsilon \) small enough, the restriction of \(H\) to each element of \(\mathcal K \) is a weak homotopy equivalence. Therefore, according to the generalized nerve theorem, \(H\) is a weak homotopy equivalence between \(\mathcal{R }\) and \(\mathcal{O }\). And by Whitehead’s theorem, \(H\) is a homotopy equivalence between \(\mathcal{R }\) and \(\mathcal{O }\). Thus, we have:

Theorem 11

(Main Theorem—Part II) Under the Separation and Intersection Conditions, the reconstructed object \(\mathcal{R }\) is homotopy equivalent to the unknown original shape \(\mathcal{O }\).

4.6 How to Ensure the Intersection Condition?

We showed that by bounding from above the height of the cells by the reach of the object, we can ensure the Separation Condition. In order to ensure the Intersection Condition, we need a stronger condition on the height of the cells. As we will see, this condition is a transversality condition on the cutting planes that can be measured by the angle between the cutting planes and the normal to \(\partial \mathcal{O }\) at contour-points.

Definition 10

(Angle \(\alpha _a\)) Let \(a\) be a point on the boundary of a section \(A \in \mathcal{S }_{\mathcal{C }}\) on the plane \(P_A\). We consider \(m_i(a)\), that may be outside the cell \(\mathcal{C }\). We define \(\alpha _a\) as the angle between \(P_A\) and the normal to \(\partial \mathcal{O }\) at \(a\), i.e., \(\alpha _a := \hbox {angle}(P_A,[a,m_i(a)])\), see Fig. 15. We define \(\alpha _{\mathcal{C }}=\max _{a \in \partial \mathcal{S }_{\mathcal{C }}} \alpha _a\).

Fig. 15
figure 15

Definition of \(\alpha _a\) (a 2D illustration)

Sufficient conditions. We now define the sampling conditions on the cutting planes. (See Sect. 2.4 for the definitions of \(h_{\mathcal{C }}\) and \(\hbox {reach}_{\mathcal{C }}(\mathcal{O })\).)

  • (C1) Density condition: For any cell \(\mathcal{C }\) of the arrangement, \(h_{\mathcal{C }} < \hbox {reach}_{\mathcal{C }}(\mathcal{O })\).

  • (C2) Transversality condition: For any cell \(\mathcal{C }\),

    $$\begin{aligned} h_{\mathcal{C }} < \tfrac{1}{2} \; \bigl (1 - \sin (\alpha _{\mathcal{C }})\bigr ) \; \hbox {reach}_{\mathcal{C }}(\mathcal{O }). \end{aligned}$$

The Density Condition is based on the density of the sections. The Transversality Condition is defined in a way that the transversality of the cutting planes to \(\partial \mathcal{O }\) and the distance between the sections are controlled simultaneously. (Indeed, \(\sin (\alpha _{\mathcal{C }})\) is to control the transversality, and bounding from above \(h_{\mathcal{C }}\) allows us to control the distance between the sections.) Note that the Transversality Condition implies trivially the Density Condition.

Remarks

The transversality of the cutting planes to \(\partial \mathcal{O }\) seems to be a reasonable condition in practice, specially for applications in 3D ultrasound. Indeed, according to [42, Sect. 1.2.1], from a technical point of view if a cut is not sufficiently transversal to the organ, the quality of the resulting 2D ultrasonic image is not acceptable for diagnosis.

The following theorem is the main result of this paper:

Theorem 12

(Main Theorem—Part III) If the set of cutting planes verifies the Transversality Condition (and so the Density Condition), then the Separation and the Intersection Conditions are verified. Therefore, the proposed reconstructed object \(\mathcal{R }\) is homotopy equivalent to the unknown original shape \(\mathcal{O }\).

4.7 Proof of Theorem 12

This section is devoted to the proof of Theorem 12. We need the following notations.

Notation \(\bigl ( K_i(\mathcal{S }_{\mathcal{C }})\) and \(K_e(\mathcal{S }_{\mathcal{C }})\bigr )\). Recall that \(\hbox {VorSkel}(\mathcal{C })\) is the locus of the points with more than one nearest point in \(\partial \mathcal{C }\). We write \(K_i(\mathcal{S }_{\mathcal{C }})\) (resp. \(K_e(\mathcal{S }_{\mathcal{C }})\)) for the set of points \(x \in \hbox {VorSkel}(\mathcal{C })\) such that all the nearest points of \(x\) in \(\partial \mathcal{C }\) lie inside (resp. outside) the sections.

Notation \(\bigl ( \bar{m}_i(a)\) and \(\bar{m}_e(a)\bigr )\). Let \(a\) be a point on the boundary of a section \(A \in \mathcal{S }_{\mathcal{C }}\) on the plane \(P_A\). We write \(\bar{m}_i(a)\) (resp. \(\bar{m}_e(a)\)) for the orthogonal projection of \(m_i(a)\) (resp. \(m_e(a)\)) onto \(P_A\). See Fig. 16. We have \(d(m_i(a), \bar{m}_i(a))= \sin (\alpha _a)\;d(a, m_i(a))\) and \(d(m_e(a), \bar{m}_e(a))= \sin (\alpha _a) \; d(a, m_e(a))\).

Fig. 16
figure 16

Definition of \(\bar{m}_i(a)\) (a 2D illustration), and for the proof of Lemma 4

Lemma 4

If the Transversality Condition is verified, for any \(a \in \partial \mathcal{S }_{\mathcal{C }}\), we have \(\hbox {lift}(\bar{m}_i(a)) \in K_i(\mathcal{S }_{\mathcal{C }})\) and \(\hbox {lift}(\bar{m}_e(a)) \in K_e(\mathcal{S }_{\mathcal{C }})\). In addition, the two segments that join \(\hbox {lift}(\bar{m}_i(a))\) to its nearest points in \(\partial \mathcal{C }\) both lie entirely in \(\mathcal{M }_{\mathcal{C }}\).

Proof

We first show that \(\hbox {lift}(\bar{m}_i(a)) \in K_i(\mathcal{S }_{\mathcal{C }})\). The symmetric property for \(\hbox {lift}(\bar{m}_e(a))\) can be proved similarly. Let us simplify the notation by writing \(m_i\) for \(m_i(a)\), and \(\bar{m}_i\) for \(\bar{m}_i(a)\). Let us also write \(B(m_i)\) for the ball centered at \(m_i\) of radius \(d(m_i, a)\). We have \(d(m_i, \bar{m}_i) \le d(m_i, a)\). Thus, \(\bar{m}_i\) lies in \(B(m_i)\). As this ball is contained in \(\mathcal{O }\), \(\bar{m}_i\) is in \(\mathcal{O }\). Consider now \(\hbox {lift}(\bar{m}_i)\) on \(\hbox {VorSkel}(\mathcal{C })\), and call \(y\) the point distinct from \(\bar{m}_i\) such that \(\hbox {lift}(\bar{m}_i)=\hbox {lift}(y)\), see Fig. 16. To have \(\hbox {lift}(\bar{m}_i) \in K_i(\mathcal{S }_{\mathcal{C }})\), we show that \(y\) is in \(\mathcal{O }\). We have

$$\begin{aligned} d(m_i, y)&\le d(m_i, \bar{m}_i) + d(\bar{m}_i, \hbox {lift}(\bar{m}_i)) + d(\hbox {lift}(y), y) \\&\le \sin (\alpha _a) d(a, m_i) + 2 \; h_{\mathcal{C }} \le d(a, m_i). \end{aligned}$$

Thus, \(y\) belongs to \(B(m_i)\), and we can deduce that \(y \in \mathcal{O }\) and \(\hbox {lift}(\bar{m}_i) \in K_i(\mathcal{S }_{\mathcal{C }})\). Consider now the ball \(B\) centered at \(\hbox {lift}(\bar{m}_i)\) which passes through \(\bar{m}_i\) and \(y\). We claim that \(B\) is entirely contained in \(B(m_i)\). Since for any point \(p \in B\) we have

$$\begin{aligned} d(m_i, p) \le d(m_i, \hbox {lift}(\bar{m}_i)) + d(\hbox {lift}(\bar{m}_i), p)\le \sin (\alpha _a) d(a, m_i) + 2 \; h_{\mathcal{C }} \le d(a, m_i). \end{aligned}$$

Thus, \(B \subset B(m_i) \subset \mathcal{O }\) and the interior of \(B\) is empty of points of \(\partial \mathcal{O }_{\mathcal{C }}\). Therefore, \(B\) is a medial ball of \(\mathcal{O }_{\mathcal{C }}\), and its center \(\hbox {lift}(\bar{m}_i)\) belongs to \(\text {MA}_i(\partial \mathcal{O }_{\mathcal{C }})\). Since \(\bar{m}_i\) and \(y\) are in \(\mathcal{S }_{\mathcal{C }}\), according to the definition of \(\mathcal{M }_{\mathcal{C }}\), the line-segments \([\hbox {lift}(\bar{m}_i),\bar{m}_i]\) and \([\hbox {lift}(\bar{m}_i),y]\) lie entirely in \(\mathcal{M }_{\mathcal{C }}\). \(\square \)

Lemma 5

Under the Transversality Condition, the Intersection Condition is verified.

Proof

Let \(S_a\) and \(S_b\) be two sections in \(\mathcal{S }_{\mathcal{C }}\) such that \(\hbox {lift}(S_a) \cap \hbox {lift}(S_b)\) is non-empty. We recall that \(\mathcal{L }_*\) denotes the homomorphism \(\mathcal{L }_*: \pi _j(\mathcal{M }_{\mathcal{C }}) \rightarrow \pi _j(\hbox {lift}(\mathcal{S }_{\mathcal{C }}))\) induced by the lift function \(\mathcal{L }: \mathcal{M }_{\mathcal{C }}\rightarrow \hbox {lift}(\mathcal{S }_{\mathcal{C }})\). We will show that for any two points \(a \in \partial S_a, b \in \partial S_b\) such that \(\hbox {lift}(a)=\hbox {lift}(b)\), there exists a path \(\gamma \subset \mathcal{M }_{\mathcal{C }}\) between \(a\) and \(b\) so that \(\mathcal{L }_*(\gamma )\) is contractible in \(\mathcal{L }_*(\pi _1(\mathcal{M }_{\mathcal{C }}))\). Let \(P_a\) and \(P_b\) be the cutting-planes of \(S_a\) and \(S_b\) respectively. One of the two following cases happen:

Case 1 If the segment \([a,\bar{m}_i(a)]\) (i.e., the projection of the segment \([a,m_i(a)]\) onto \(P_a\)) is not cut by any other cutting plane, then we claim that \(\hbox {lift}(a)\) is connected to \(\hbox {lift}(\bar{m}_i(a))\) in \(K_i(\mathcal{S }_{\mathcal{C }})\).

Consider the 2-dimensional disk \(B\) in the plane \(P_a\) centered at \(\bar{m}_i(a)\) and passing through \(a\). This disk is contained in the 3D ball centered at \(m_i(a)\) and passing through \(a\), which lies entirely inside \(\mathcal{O }\). Considering the intersection of this 3D ball with \(P_a\), we infer that \(B\) lies inside section \(S_a\). Therefore, \(\hbox {lift}(B)\) is entirely contained in \(\hbox {lift}(S_a)\). In Fig. 17, \(\hbox {lift}(B)\) is colored in green.

Fig. 17
figure 17

For the proof of Lemma 5: the lift of two sections \(S_a\) and \(S_b\) on \(\hbox {VorSkel}(\mathcal{C })\) is illustrated. We prove that the lift of the segment \([a,\bar{m}_i(a)]\) lies in \(\hbox {lift}(S_a) \cap \hbox {lift}(S_b)\)

Since \(\hbox {lift}(a)=\hbox {lift}(b)\), we have \(\hbox {lift}(a) \in \hbox {lift}(S_a) \cap \hbox {lift}(S_b)\). On the other hand, according to Lemma 4, \(\hbox {lift}(\bar{m}_i(a))\) lies in \(\hbox {lift}(S_a) \cap \hbox {lift}(S_b)\). For the sake of contradiction, suppose that \(\hbox {lift}(a)\) is not connected to \(\hbox {lift}(\bar{m}_i(a))\) in \(K_i(\mathcal{S }_{\mathcal{C }})\). In this case, \(\hbox {lift}(B)\) intersects (at least) two different connected components of \(\hbox {lift}(S_a) \cap \hbox {lift}(S_b)\), see Fig. 17. Since \(\hbox {lift}(B) \subset \hbox {lift}(S_a)\), we deduce that \(\hbox {lift}(B)\) intersects \(\hbox {lift}(S_b)\) in (at least) two different connected components. Then, consider the maximal open disk contained in \(\hbox {lift}(B)\) which is empty of points of \(\hbox {lift}(S_b)\). Such a disk consists of the lift of a 2D disk \(B'\) in the plane \(P_b\) which is tangent to \(\partial S_b\) at two points \(x\) and \(x'\). \(B'\) is the intersection of the 3D medial ball of the complementary set of \(\mathcal{O }\) passing through \(x\) and \(x'\). Thus \(\bar{m}_e(x)\), which is the projection of the center of this 3D ball (\(m_e(x)\)) onto \(P_b\), lies in \(B'\). We have \(\hbox {lift}(\bar{m}_e(x)) \in \hbox {lift}(B') \subseteq \hbox {lift}(B) \subset \hbox {lift}(S_a)\). Thus, one of the nearest points of \(\hbox {lift}(\bar{m}_e(x))\) in \(\partial \mathcal{C }\) lies in \(S_a \subset \mathcal{S }_{\mathcal{C }}\). This contradicts \(\hbox {lift}(\bar{m}_e(a)) \in K_e(\mathcal{S }_{\mathcal{C }})\) (Lemma 4).

Therefore, \(\hbox {lift}(a)\) is connected to \(\hbox {lift}(\bar{m}_i(a))\) in \(K_i(\mathcal{S }_{\mathcal{C }})\). Let us call \(a'\) and \(b'\) the nearest points of \(\hbox {lift}(\bar{m}_i(a))\) in \(S_a\) and \(S_b\) respectively, see Fig. 18-left. According to Lemma 4, the line-segments \([a',\hbox {lift}(\bar{m}_i(a))]\) and \([b',\hbox {lift}(\bar{m}_i(a))]\) lie inside \(\mathcal{M }_{\mathcal{C }}\). We now define a path \(\gamma \), colored in red in Fig. 18-left, as the concatenation of four line-segments : \([a,a'] \subset S_a\), \([a',\hbox {lift}(\bar{m}_i(a))]\), \([b',\hbox {lift}(\bar{m}_i(a))]\) and \([b',b] \subset S_b\). We know that \([a',\hbox {lift}(\bar{m}_i(a))]\) and \([b',\hbox {lift}(\bar{m}_i(a))]\) are mapped to a single point \(\hbox {lift}(\bar{m}_i(a))\) by the lift function. Thus, the image of \(\gamma \) under the lift function is the line-segment \([\hbox {lift}(a), \hbox {lift}(\bar{m}_i(a))]\), which is trivially contractible in \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\).

Fig. 18
figure 18

A 2D illustration of the cases considered in the proof of Lemma 5 : in red a path between \(a\) and \(b\) in \(\mathcal{M }_{\mathcal{C }}\) (Color figure online)

Case 2 We now consider the case where the segment \([a,\bar{m}_i(a)]\) is cut by a cutting plane \(P\) (colored in blue in Fig. 18- middle and -right). If \(\mathcal{C }\) is the cell which contains \(a\) and \(b\), the path \(\gamma =[aa'b'b]\) (defined above) does not entirely lie in \(\mathcal{C }\). Let us consider the intersection of \(\partial \mathcal{C }\) with the plane of \(\gamma \) denoted by \(P_0\) (the plane of Fig. 18). Two cases may happen:

  • If \(\partial \mathcal{C }\) does not intersect \([a',\hbox {lift}(\bar{m}_i(a))]\) and \([b',\hbox {lift}(\bar{m}_i(a))]\), we define \(\gamma ':=\partial \mathcal{C }\cap P_0\) which is a path that connects \(a\) to \(b\). See Fig. 18-middle. Note that \(\gamma '\) is a path in \(\mathcal{M }_{\mathcal{C }}\), since it lies in \(\partial \mathcal{C }\cap \mathcal{O }= \mathcal{S }_{\mathcal{C }}\).

  • Otherwise, let \(x\) be an intersection point (the closest to \(a\)) between \(\partial \mathcal{C }\) and \([a',\hbox {lift}(\bar{m}_i(a))]\cup [b',\hbox {lift}(\bar{m}_i(a))]\), see Fig. 18-right. Let \(x'\) be so that \(\hbox {lift}(x)=\hbox {lift}(x')\). We now define a path \(\gamma ' \subset \mathcal{M }_{\mathcal{C }}\) which connects \(a\) to \(b\) along \(\partial \mathcal{C }\cap P_0\), while taking a shortcut from \(x\) to \(x'\) (by \([x,\hbox {lift}(x)]\) and \([\hbox {lift}(x),x']\)). This path is colored in red in Fig. 18-right. Note that in the case \(\partial \mathcal{C }\cap P_0\) is formed of more planes, \(\gamma '\) can be defined in a similar way by following \(\partial \mathcal{C }\cap P_0\) and making a shortcut at each intersection with \(\gamma \), i.e. \(x\) in our example.

We now claim that (for both cases considered above) the lift of \(\gamma '\) is contractible in \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\). Indeed, the lift of the first and the last line-segments of \(\gamma '\), that lie respectively on \(P_a\) and \(P_b\), is a line segment. Therefore, it is sufficient to check the contractibility of the lift of the part of \(\gamma '\) which is between \(P_a\) and \(P_b\). The line-segments of \(\gamma '\) that connect \(P_a\) to \(P_b\), lie on sections that are all entirely contained in the medial ball centered at \(m_i(a)\). Therefore, the lift of these segments is contained in a disk and is contractible in \(\hbox {lift}(\mathcal{S }_{\mathcal{C }})\).

This ends the proof of Theorem 12.\(\square \)

4.8 Deforming the Homotopy Equivalence to a Homeomorphism

Using the homotopy equivalence between \(\mathcal{R }\) and \(\mathcal{O }\), we now show that they are indeed isotopic.

Theorme 13

(Main Theorem—Part IV) Under the Separation and the Intersection Conditions, the two topological manifolds \(\mathcal{R }\) and \(\mathcal{O }\) are homeomorphic (in addition, they are isotopic).

Although this result is stronger than the homotopy equivalence, the way our proof works makes essentially use of the topological study of the previous sections.

Proof

Again, we first argue in each cell of the arrangement and show the existence of a homeomorphism between \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\) whose restriction to \(\mathcal{S }_{\mathcal{C }}\) is the identity map. Gluing these homeomorphisms together, one obtains a global homeomorphism between \(\mathcal{R }\) and \(\mathcal{O }\). Let \(\mathcal{C }\) be a cell of the arrangement of the cutting planes. A similar method used to prove the homotopy equivalence between \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\) shows that \(\partial \mathcal{R }\cap \mathcal{C }\) and \(\partial \mathcal{O }\cap \mathcal{C }\) are homotopy equivalent 2-manifolds and are therefore homeomorphic, and in addition there exists a homeomorphism \(\beta _\mathcal{C }: \partial \mathcal{O }\cap \mathcal{C }\rightarrow \partial \mathcal{R }\cap \mathcal{C }\) which induces identity on the boundary of sections in \(\mathcal{S }_{\mathcal{C }}\). We showed that the topology of \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\) is completely determined by their fundamental groups, i.e., all the higher homotopy groups of \(\mathcal{R }_{\mathcal{C }}\) and \(\mathcal{O }_{\mathcal{C }}\) are trivial. Moreover, there is an isomorphism between \(\pi _1(\mathcal{O }_{\mathcal{C }})\) and \(\pi _1(\mathcal{R }_{\mathcal{C }})\), and the induced map \((\beta _\mathcal{C })_*:\pi _1(\partial \mathcal{O }\cap \mathcal{C }) \rightarrow \pi _1(\partial \mathcal{R }\cap \mathcal{C })\) on the first homotopy groups is consistent with this isomorphism (in the sense that there exists a commutative diagram of first homotopy groups). This shows that \(\beta _\mathcal{C }\) can be extended to a map \(\alpha _\mathcal{C }: \mathcal{O }_{\mathcal{C }}\rightarrow \mathcal{R }_{\mathcal{C }}\), inducing the corresponding isomorphism between \(\pi _1(\mathcal{O }_{\mathcal{C }})\) and \(\pi _1(\mathcal{R }_{\mathcal{C }})\), and such that the restriction of \(\alpha _\mathcal{C }\) to \(\mathcal{S }_{\mathcal{C }}\) remains identity. Since all the higher homotopy groups of \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\) are trivial, it follows that \(\alpha _\mathcal{C }\) is a homotopy equivalence. We can now apply the following theorem due to Waldhausen which shows that \(\alpha \) can be deformed to homeomorphism between \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\) by a deformation which does not change the homeomorphism \(\alpha _\mathcal{C }\) between the boundaries. A compact 3-manifold \(M\) is called irreducible if \(\pi _2(M)\) is trivial. We note that \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\) are irreducible. \(\square \)

Theorem 14

(Waldhausen) Let \(f:M \rightarrow M'\) be a homotopy equivalence between orientable irreducible 3-manifolds with boundaries such that \(f\) takes the boundary of \(M\) onto the boundary of \(M'\) homeomorphically. Then \(f\) can be deformed to a homeomorphism \(M \rightarrow M'\) by a homotopy which is fixed all the time on the boundary of \(M\).

(See [31,  page 220, for a proof].)

Applying Waldhausen’s theorem, one obtains a homeomorphism \(\tilde{\alpha }_\mathcal{C }\) from \(\mathcal{O }_{\mathcal{C }}\) to \(\mathcal{R }_{\mathcal{C }}\) which is identity on the sections in \(\mathcal{S }_{\mathcal{C }}\). Gluing \(\tilde{\alpha }_C\), one obtains a global homeomorphism from \(\mathcal{O }\) to \(\mathcal{R }\). Moreover, according to Chazal and Cohen-Steiner’s work [10] (Corollary 3.1), since \(\mathcal{R }\) and \(\mathcal{O }\) are homeomorphic and \(\mathcal{R }\) contains the medial axis of \(\mathcal{O }\), \(\mathcal{R }\) is isotopic to \(\mathcal{O }\).        \(\square \)

5 Conclusion

In this paper, we presented the first topological studies in shape reconstruction from cross-sectional data. We showed that the generalization of the classical overlapping criterion to solve the correspondence problem between unorganized cross-sections preserves the homotopy type of the shape under some appropriate sampling conditions. In addition, we proved that in this case, the homotopy equivalence between the reconstructed object and the original shape can be deformed to a homeomorphism. Even, more strongly, the two objects are isotopic.

As a future work, higher dimensional variants of this reconstruction problem can be considered where the goal will be to reconstruct an \(n\)-dimensional shape from its \((n-1)\)-dimensional intersections with hyperplanes. Similar analysis can be carried on for the resulting \(n\)-dimensional reconstruction: The Separation Condition can be defined in any dimension. Under this condition, the guarantees on the connectivity between the sections remain valid. Using the lift function, we can similarly define a map between \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\). In addition, we can see that under the Separation Condition, this map induces injective morphisms between the homotopy groups of \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\). The main issue then will be to impose the surjectivity at the level of higher homotopy groups of \(\mathcal{O }_{\mathcal{C }}\) and \(\mathcal{R }_{\mathcal{C }}\).

Once the surjectivity is verified under some new appropriate sampling conditions on the cutting planes, the homotopy equivalence between \(\mathcal{O }\) and \(\mathcal{R }\) will follow.