# A Comprehensive Survey of Isocontouring Methods: Applications, Limitations and Perspectives
## 1 Introduction  
In many scientific areas, one is interested in identifying, from a set of given data, those that have a constant value. A classic field of application here is cartography for the representation of lines of different levels. These are represented as so-called contour lines on a two-dimensional plane (in this case, a map). In this context, the contour lines represent height levels that have the same value in relation to a defined reference level. This approach enables information from three-dimensional space to be graphically illustrated in a compact form and the characteristics of the existing data set to be visualized appropriately.  
In practice, however, it is easy to see that this type of problem is not limited to geography but can be found in many different areas. These include, for example, medical imaging, image processing or the creation of weather maps. In most cases, three-dimensional or four-dimensional data sets are examined in order to extract two-dimensional isocontours or three-dimensional isosurfaces. Regardless of the particular application, however, the overarching task of iscontour extraction is mathematically identical, which can be defined in principle as follows, based on [1].  
**Definition 1** (Isocontour extraction).: _Let \(\mathbf{U}\subseteq\mathbb{R}^{n}\) and \(\mathbf{V}\subseteq\mathbb{R}^{m}\) be sets with \(n,m\in\mathbb{N}\setminus\{0\}\) and corresponding mapping \(\phi:\mathbf{U}\rightarrow\mathbf{V}\). Consider a given sample set \(\mathbf{D}=\mathbf{U}\times\mathbf{V}\) over \(\phi:\mathbf{U}\rightarrow\mathbf{V}\) and a constant value \(v\in\mathbf{V}\); then, find the set \(\mathbf{S}\subseteq\mathbf{U}\) so that \(\phi(\mathbf{s})-v=0,\forall\mathbf{s}\in\mathbf{S}\) applies. The set \(\mathbf{S}\) is referred to as the isocontour._  
The task described in Definition 1 is qualitatively illustrated in this context in Figure 1.  
For a given mapping \(\phi:\mathbb{R}^{2}\rightarrow\mathbb{R}\) (here, the Peaks function of the MATLAB\({}^{\mathbb{O}}\) software environment), the sets \(\mathbf{S}_{1}\) and \(\mathbf{S}_{2}\) for which \(\phi(\mathbf{s}_{1})-v_{1}=0,\forall\mathbf{s}_{1}\in\mathbf{S}_{1}\), \(\phi(\mathbf{s}_{2})-v_{2}=0\), \(\forall\mathbf{s}_{2}\in\mathbf{S}_{2}\), respectively, applies are to be identified. The results are then the according isocontours.  
In our work, we focus on methods that are relevant to the task described in Definition 1 and are referred to as isocontouring methods in the following. When analyzing research carried out in this area, it first becomes apparent that the problem, as described at the beginning, occurs in different application areas. As a result, methods have been developed that solve the isocontouring problem in their own way for each specific application. This is particularly related to the structure of the available data. For example, medical applications often use pixel-based and structured data sets from which isosurfaces must be extracted. In the context of measurement series, on the other hand, unstructured data sets often occur, which require a different solution approach for the extraction of isosurfaces. In addition, the presentation of the results plays an important role in the respective methods used.  
Based on our investigations in this area, it can be stated that the methods for isosurface extraction can be classified into four dominant representatives:  
* Marching cubes algorithms;
* Tessellation-based algorithms;
* Surface nets algorithms; and
* Ray tracing algorithms.  
These groups are the subject of our investigation and will be examined in more detail in the further course of the paper.  
Figure 1: Exemplary isocontour extraction considering the Peaks function denoted as \(\phi(x_{1},x_{2})\) from MATLAB\({}^{\mathbb{O}}\) for constant values \(v_{1},v_{2}\).