# Topologically Correct Isosurface Extraction

Isosurfaces extraction algorithms are a powerful tool in the interpretation of volumetric data. The isosurfaces play an important role in several scientific fields, such as biology, medicine, chemistry and computational fluid dynamics. And, for the data to be correctly interpreted, it is crucial that the isosurface be correctly represented. The Marching Cubes algorithm, proposed by Lorensen and Cline in 1987, is clearly one of the most popular isosurface extraction algorithms, and an important tool for many visualization specialists and researchers. The generalized adoption of the Marching Cubes has resulted in many improvements in its algorithm, including, the establishment of the topological correctness of the generated mesh. In 2013, Custodio et al. noted and corrected algorithmic inaccuracies that compromised the topological correctness of the mesh generated by the last version of the Marching Cubes Algorithm: the Marching Cubes 33 proposed by Chernyaev in 1995, implemented in 2003 by Lewiner et al. . In 2019, Custodio et al. (in the work An Extended Triangulation to the Marching Cubes 33 Algorithm) proposed an extended triangulation to the Marching Cubes 33 algorithm, in the proposed algorithm the grid vertex are labeled with "+", "-" and "=", according to the relationship between its scalar field value and the isovalue.The inclusion of the "=" grid vertex label naturally avoids degenerate triangles, a well-known issue in meshes generated by the Marching Cubes. The Marching Cubes algorithm has been implemented using many software programs and compilers: C++, proposed by Lewiner et al. (2003); 'MATLAB', proposed by Hammer (2011); and R, proposed by Feng and Tierney (2008). Marching Cubes is also integrated into many visualization toolkits. The complexity of an algorithm increases considerably when it aims to reproduce the topology of the trilinear interpolant correctly. This complexity can sometimes result in errors in the algorithm or in its implementation. During our experiments we observe that all the implementations mentioned have critical issues that compromise the continuity and the topological correctness of the generated mesh. The 'tcie' package is a toolkit with a topologically correct implementation of the Marching Cubes algorithm, based on the Custodio et al. work, which implements the most recent improvements of the algorithm.