SEMI-AUTOMATIC ROCK MASS GEOMETRY ANALYSIS FROM A DENSE 3D POINT CLOUD WITH DISCONTINUITYLAB

2D and 3D imageries can allow the optimization of rock mass exploitation (quarries, roads, rail networks, open pit, potentially tunnels and underground mines networks). The increasingly common use of photogrammetry makes it possible to obtain georeferenced 3D point clouds that are useful for understanding the rock mass. Indeed, new structural analysis solutions have been proposed since the advent of the 3D technologies. These methods are essentially focused on the production of digital stereonet. Production of additional information from 3D point clouds are possible to better define the structure of the rock mass, in particular the quantification of the discontinuities density. The aim of this paper is to test and validate a new method that provides statistics on the distances between the discontinuity planes. This solution is based on exploiting the information previously extracted from the segmentation of the discontinuity planes of a point cloud and their classification in family. In this article, the proposed solution is applied on two multiscale examples, firstly to validate it with a virtual synthetic outcrop and secondly to test it on a real outcrop. To facilitate these analyses, a software called DiscontinuityLab has been developed and used for the treatments.


INTRODUCTION
A rock mass is made up of an "intact" rock matrix cut by discontinuity planes whose distribution in space depends on the geological, tectonic and anthropic history of the area. The distribution and the geometric and non-geometric characteristics of these weakness planes make the rockmass more or less unstable and deformable (Goodman, 1989). It has also been shown that the orientation and spacing of discontinuity planes follow statistical distributions (Priest, 1993). It is generally accepted that the discontinuity planes can be classified by families according to their average orientation. The geometric characterization of the discontinuity planes as orientation, frequency (or spacing), thickness, persistence (function of the length) and roughness, are important to be recognized for geology and engineering geology purposes ( Figure 1). Nongeometric properties are also of interest: filling of materials or not, presence of mineralization, wall condition (erosion) and presence of water flow or not. In this paper, the geometric characterization is the main centre of interest. Normal spacings between discontinuities can be deduced from apparent 1D (borehole) or 2D (outcrop) spacings (Priest, 1993;Slob, 2010).
The most common technic to characterise geometry of discontinuities is the use of a horizontal (1D) scanline on an outcrop. This method, which Piteau (1970) originated, consists of using a decametre stretched horizontally over the surface of the rock front ( Figure 1). The discontinuities intercepting the horizontal scanline are characterized by their (dip/dip direction) (respectively β and α angles in Figure 1), their length, their roughness, their spacing, their opening and their alteration. This technique requires few equipment but is quite long to implement. The discontinuities that are sub-horizontal or parallel to the surface of the rock front are not sampled. It is therefore necessary to perform scanlines according to different orientations. Figure 1. Characteristics of discontinuities in rock masses with parameters describing the rock mass; letters ("A" etc.) refer to description of parameter in chap. 3 of Wyllie and Mah (2004) (sketch extracted from Wyllie and Mah (2004) with information added in red colour by the authors).
Since around twenty years, the use of 3D point cloud for structural analysis has become widespread, specifically during the last decades. The advantage of this approach is to cover surfaces inaccessible to conventional methods. The global surface of a rock mass can be analysed, notwithstanding the constraints due to vegetation, humidity or natural light intensity. "Light Detection And Ranging" (LiDAR) and photogrammetry are the techniques commonly used to produce 3D point clouds.
In geosciences, both are used. Once the point cloud is built, several approaches are proposed for the discontinuity planes extraction and the numerical approaches to analyse the structure of a rock mass front. They are explained in the paragraph "State of Art", before to propose a new solution that improves numerical structural analysis by providing complete statistics on the discontinuities density. This solution is firstly validated with a virtual synthetic outcrop and secondly tested on a 3D point cloud of a real outcrop.

STATE OF ART
In this paragraph, the technics of 3D digital capture as the LiDAR and the photogrammetry are recalled. Then, a state of Art about the numerical solutions available to extract discontinuity planes from a point cloud is proposed. Finally, an overview of the digital analysis with the discontinuity plane spacings closes this paragraph.

Principles and methods of 3D topographic capture
2.1.1 LiDAR: LiDAR is an active remote sensing because the LASER waves are used to calculate distances from the LiDAR position. Two types of LiDAR sensors exist. One of them emits LASER pulses to measure the "Time Of Flight" (TOF) in order to calculate the distances from the LiDAR position. The other sensor emits a continuous LASER wave, called "Continuous Wave" (CW), to measure the phase difference and to provide the distance (Wehr and Lohr, 1999). The TOF sensor is used for the close range distance, while the CW sensor is used either for short and long range. The distances with the ray angles allow positioning the points in the Euclidean 3D space to build a point cloud. The LiDAR position or some georeferenced points on the ground called "Ground Control Points" (GCPs) are needed to georeferenced the point cloud. According to the platform characteristics, terrestrial or aerial, the issued point cloud is called "Terrestrial Laser Scanning" (TLS) (Gordon and Charles, 2008) or "Aerial Laser Scanning" (ALS) (Wehr and Lohr, 1999). It is important to note that a wet or water covered rock face alters the definition of the point cloud, while a dry surface tends to improve it.

Photogrammetry:
Photogrammetry has been widely adopted for outcrop analysis since Snavely (2008) proposed to reconstruct a 3D scene from highly redundant images taken from different angles and the unknown position. This method called "Structure from Motion" (SfM), is based on techniques developed in the field of computer vision. The first step in the SfM reconstruction chain is to detect singular points or points of interest in the images. The technique "Scale Invariant Feature Transform" (SIFT) proposed by Lowe (1999Lowe ( , 2004 made more adequate than other techniques for detecting points of interest such those in Canny (1983) and Harris and Stephens (1988) by its robustness to changes of viewpoints and to the transformation of the image in terms of noise, luminosity and scale. Indeed, the SIFT technique considers these changes by explaining a descriptor for each point of interest. Other techniques have been developed since the emergence of the SIFT method, but they are not enumerated in this paper.
The second step of the SfM method consists in finding the homologous points among the points of interest between images. The analogy between at least two points of interest is tested by computing the distances on their descriptors (Arya et al., 1998). It is important to note that the number of points of interest is correlated with the resolution of the images and the texture of the objects.
Then the third step is to reposition the homologous points and the cameras in space. The homologous points present in at least three images are preserved. Using the focal value and the coplanarity test such as with "Random Sample Consensus" (RANSAC) (Fischler and Bolles, 1981) and the "Singular Value Decomposition" (SVD), the essential matrix is estimated. The homologous points are positioned in space, as well as the position and orientation of each camera, that constitute the pose of the camera. Some errors are minimized by optimizing the internal parameters of the camera and their pose, for instance by the Levenberg-Marquardt optimisation method (Levenberg 1944;Marquardt, 1963). Generally, reprojection errors are minimized. At this stage, the cloud of homologous points is sparse. A dense point cloud is obtained with the technics of "Multi-View Stereo" (MVS), and among them the one of the "Clustering view for Multi-View Stereo" (CMVS) and the "Patch-based Multi-View Stereo" (PMVS2) (Furukawa et al., 2010). Finally, the georeferencing and the scaling can be performed with the coordinates of at least three points called GCPs.
The major advantage of photogrammetry compared to LiDAR is the low-cost investment. Moreover, a camera can be easily "carried", while a LiDAR is heavier. It is however important to consider the lighting condition. Too much light produces shadows that interfere with the detection of points of interest and therefore homologous points (Gómez-Gutiérrez et al., 2014). A weak light has the same effect. According to James and Robson (2012), diffuse light is recommended for an optimal processing of 3D point cloud. 3D point cloud production by photogrammetry is relatively easy using free or paid software. In Eltner et al. (2016), the authors provide a complete benchmark of these softwares. Metashape (Metashape, 2019) is used for this article.

Methods for discontinuity planes extraction
The extraction of coplanar point sets from a 3D topographic model has an interest to geoscientists. Over the past twenty years, several methods has been proposed to extract discontinuity planes from solid images (Assali et al., 2014), meshes (Slob et al., 2005;Lato and Vöge, 2012) or point clouds (Jaboyedoff et al., 2007;Riquelme et al., 2014;Gigli and Casagli, 2011;Dewez et al., 2016). All of them deserve to be detailed in this paper. Nevertheless, only the methods proposed by Dewez et al. (2016) are succinctly described. The first reason is their robustness and efficiency to extract discontinuity planes from large dense clouds (billion points). The second reason is their easy access as a plugin named Facets, available in the free software CloudCompare (Girardeau-Montaut, 2019). The last reason concerns the geometric features of the discontinuity planes (centre position, normal coordinates, Root Mean Square (RMS), horizontal / vertical extent, surface, α, β, family index and plane index) that can be exported as a table format in a CSV file.
The two methods presented in this section are proposed by Dewez et al. (2016). The first method proposed by Dewez et al. (2016) is to subdivide the point cloud to a classical octree structure. The maximum subdivision level is taken as an input criterion which fix the dimension of the elementary voxel. Then the front propagation (Fast Marching) method is applied to merge the patches according to a RMS threshold. The second method is to subdivide the point cloud to a "k-dimensional Tree" (kd-Tree) structure. At each level of the subdivision, the best fitting plane on the points contained in the voxel is estimated with the Principal Component Analysis (PCA) method to calculate the RMS. If it exceeds a max value threshold, the subdivision of the branch is repeated until to pass the test or until to reach a voxel that contains at least six points. At this step, the point cloud is divided in planar patches. The neighbour patches are merged to create a facet according several criteria. The first criterion is the angular difference between the normals of the merged patches. If the angular difference threshold is respected, a second criterion about the max relative distance between the merged patches and the current facet centre has to be tested. If this last test passes, it is assumed that the patches are belonging to the same facet and the patches are merged. Those tests are recursively repeated and the final result is a point cloud composed solely of planar facets. The final result of the kd-Tree and Fast Marching approaches is a point cloud segmented in several planar facets that can be used for a structural analysis. Facets is a useful plugin, but it should be noticed that a real plane of discontinuity is segmented into several patch polygons when there are all belonging to the same discontinutity. To get around this, the "Label Connected Components" tool also proposed in CloudCompare can be used.
The main difference between this method and the two others is the merging of the adjacent octrees as one octree without RMS threshold. Moreover, as the octree level is defined manually, this method has to be used precociously. To finalise the operation, all the merged octrees are converted into planar polygons and their geometric features (centre position, normal coordinates, RMS, horizontal / vertical extent, surface, α, β, family index and plane index) are computed with an acceptable mean point-to-plane distance RMS. This is done using the tool "2D polygon facet" and results are exported with the Facets export CSV file.
Whatever the used method to extract planes, a list of "non classified" planes are obtained at the end of the operation, but the need for geological purposes is to regroup these planes according to their orientation in families.

Methods of 3D digital outcrop analysis
Digital imagery has helped to evolve the practices of the structural analysis of a rock mass. Calculation of the discontinuity spacings can be performed efficiently using digital means such as photos, orthophotos and point clouds. One of the methods is to use orthophotos and follow the same approach that those used in the field to identify discontinuity planes or discontinuity lines. Only their frequency can then be measured with a scanline. Another method consists in extracting vertical 2D profiles from a georeferenced point cloud according to a controlled orientation that defines α. The following operation consists in selecting manually the segments of collinear points, measuring their β and the normal spacing of these segments. This approach has been proposed by Oppikofer et al. (2011) andSlob (2010). Another method is proposed by Slob (2010) and firstly consists in extracting the discontinuity surfaces from a 3D point cloud; then classifying them by family. Slob (2010) uses the "fuzzy k-means" classification algorithm, but a manual regrouping can also be done (Facet). The mean orientation of each family is calculated and the normal of the main plane serve to calculate the distance to the origin Di (with i the plane index). This mean plane is defined by the equation of its mean normal (A, B, C) and the equation of the normal of plane i is written as (1).
A x + B y + C y + Di = 0 (1) Slob (2010) proposed to calculate the distance to the origin Di for all discontinuities in each family; then, classify the planes in ascending order of Di. The normal distance between the consecutive discontinuities is given by (Di -Di+1). This method is particularly efficient if a "virtual scanline" is used to measure the spacing between the points intersection. However, as the discontinuities are not perfectly parallel, an angular tolerance on the spacing measurement has to be taken into account. Another important problem comes from the projection of several planes that finally constitute the same discontinuity plane. To get around this problem, Slob (2010) proposed to cluster the closely spaced intersection points. Riquelme et al. (2015) proposed an improvement of the Slob (2010) method by considering the real persistence. As Slob (2010), the distance to the origin Di for all discontinuities in each family is calculated and classify in the ascending order. Then, starting from the first discontinuity 1 (with the lower value of Di), the closer discontinuity is defined by computing the distance between all the points of D1 and all the points of the other discontinuities and keeping the minimum. Assuming that the closest point belongs to the closest plane (index j), the distance between the two planes is given by the difference (Dj -Di). By repeating this operation in a loop and excluding the plane processed at each loop, the distances between the true nearest neighbouring planes are thus obtained. Riquelme et al. (2015) showed that their method worked on a small outcrop area with discontinuities planes almost perfectly parallels. As noted in Riquelme et al. (2015), the method requires that the planes are almost parallel, but no angle range is specified.

METHODOLOGY: 3D DIGITAL DISCONTINUITY PLANES ANALYSIS
As Slob (2010), we assume that all discontinuity planes have an infinite persistence and we use all the surface of the point cloud for our structural and geometry outcrop analysis. Yet, improvements, which did not exist in other tools, are added especially with the use of a "Kernel Density Estimation" (KDE) analysis (Silverman, 1986) to cluster the closest discontinuities, to detect fracturing corridors or to provide global and internal analysis of each family. Thus, our approach begins with the plane recognition and classification into families using the Facets plugin or Label Connected Component tool. The useful information obtained from these first steps are: • Then, we compute the average orientation of the discontinuity planes, by summing the components of the normal vectors Ni and by normalizing the result (Priest, 1993) for each family. Once this component has been calculated, it is assumed that the discontinuity planes passing through the centres Pi (red crosses in Figure 2) have an infinite persistence (red dotted lines in Figure 2) oriented according to the calculated average orientation (Goodman, 1989). As Slob (2010) and Riquelme et al. (2015), the distance to the origin Di is calculated for each plane to allow a classification of the Pi centres according to their Di in ascending order. Figure 2. Virtual scanline, normal to the mean family set orientation Once the distances to the origin are calculated, a KDE function is applied along the normal of the average orientation (virtual scanline identified in blue in Figure 2 and Figure 3). The Figure  3 shows the classification in six clusters and highlight each peak or cluster. Each peak is represented by one discontinuity named "SuperDiscontinuity" subsequently. The SuperDiscontinuity has been chosen as the discontinuity nearest the peak. The global analysis consists in computing spacing between the SuperDiscontinuities and the mean position in each cluster. The variance and the std of the distances between the SuperDiscontinuities and between the mean positions are both provided. Another specific analysis is also proposed here for the dense fractured area. When the Cluster are large, larger than those shown Figure 3 and include several discontinuities, the average internal spacing and its associated std are also provided. The std is useful to potentially filter the number of discontinuities in a cluster taking into account only 65%, 95%, 99% or 100% of the internal discontinuities.
If the 3D point cloud covered a whole outcrop, the virtual scanline, cannot be directly compares to a real in situ scan line, but the comparison is possible by reducing the 3D point cloud to a narrow band corresponding to the neighbourhood of a real in situ scan line.
To perform our approach, we develop a software named DiscontinuityLab that uses as input data the csv Facets file. The software DiscontinuityLab was developed in Python 3.7 language especially for the backend algorithm and PyQt5 Designer was used for the creation of the Human Machine Interface (HMI One of these is the possibility to weight each centre by its corresponding surface. The resultant effect is a better contrast between the clusters according their density. Another option offered the possibility to reject the clusters with a low density given a density threshold set by the user.

CASE STUDIES
Two case studies are presented in this paper to validate our analysis approach and software. The first one is a synthetic outcrop created with the Blender software (Blender, 2019). The second case study is a dense point cloud and it comes from a photogrammetric process of a real cliff localised in Saulges in the Mayenne department in France.

Synthetic outcrop
The first case study is a synthetic outcrop as shown in Figure 4. Its geometry has been realized according to three constraints: three discontinuity families must be set (green, blue and purple planes on Figure 4) and one of them can be assimilated to a fractured corridors (purple areas on Figure 4). The last imposition was to control dimensions and surfaces calculations for a clear validation; therefore, vertical (purple and green planes on Figure  4) or horizontal (blue planes on Figure 4) dips have been applied and spacing imposed. On these conditions, the mesh was manually built with Blender (2019) and exported with the normal vectors of each facets to CloudCompare in the STereo-Lithography (STL) format. The goal was to verify that our chain of algorithms well restores the three families and their spacing. Once the mesh imported in CloudCompare, it was sampled in a point cloud. At the end of this process, the synthetic outcrop was transformed in a dense cloud of 20 million points with their normal. The total surface is 26.94 m² and the density is 742,390 pts/m² (74.2 pts/cm²).
The vertical red lines in Figure 4 represents the vertical section that can be visualized in Figure 5 with the imposed dimensions. The horizontal black line in Figure 4 is an horizontal section shown in Figure 6. The Y-axis (green arrow Figure 4) corresponds to the South-North direction. The wall is formed of six blue sub-horizontal (SBH) planes, eight green sub-vertical (SBV) planes and three purple fracturing corridors formed by several stepped discontinuities. Thereafter, to be closed to further geological labelling, the family of horizontal planes is named S0-Synt, one family of vertical planes is named F1-Synt and the other F2-Synt. Table 1 is a summary of these information.    (Figure 6). The width of these planes is 0.25 m ( Figure 5). It is important to note that the planes at the same altitude are coplanar, hence S0-Synt counts three planes and not six. The F1-Synt family counts seven and not eight planes if all narrow bands in the fracturing corridor are not taken into account (green narrow bands among the purple planes in Figure 4) and because the bottom left plane is coplanar with the one at the top right. The heights of these subvertical planes (F1-Synt family) are 1.25 m, 1.0 m, 0.75 m and 0.5 m as shown in the vertical section ( Figure 5). Three fracturing corridors are constituted by the discontinuity planes, of the F2-Synt family, oriented 90/140 (purple planes in Figure 4). The width of these planes is 16.32 cm = [12.5 / sin (50)] (zoom in red circle in Figure  6) and the normal spacing between the fractures in the corridor is 1.53 cm = [2 x cos (180-(90-50))]. The first corridor (on the left in Figure 6) is made up of ten intervals over the entire wall, it means that the corridor width equalizes 15.3 cm. The other two corridors are composed of eleven intervals, hence their width equalizes 16.9 cm. The distances between the corridors are defined as the normal distance between the average position planes of each corridor (red crosses on Figure 6). So, the first distance equalizes 1.218 m = [(0.1+1.49)*cos(90-50)] and the second distance equalizes 1.609 m = [(0.11+1.99)*cos(90-50)].
The Table 2 displays the orientations used to extract discontinuities from the point cloud the virtual outcrop points cloud with the interactive stereonet of the Facets plugin. It also displays the Fisher constant K (Fisher, 1953) that defined the deviation angle around the mean orientation of a discontinuity family. The higher is K, the lower is the deviation angle around the mean orientation which means that discontinuity planes tend to be perfectly parallels. In the opposite, the lower is K, the more scattered is the distribution around the mean orientation. Here, K is calculated with the software Stereonet (2019) and a K upper than 10 4 is considered as infinite. It is important to note that the orientation of F1-Synt and F2-Synt should be 90/090 and 90/140. Yet, during the point cloud generation from the STL format, CloudCompare change some orientation by its opposite because of a limit case as a dip of 90°. The choice of the authors is to keep intact the export Facets file and use the option of DiscontinuityLab to set a specific orientation for the calculation. Finally, the number of discontinuities and the RMS mean given by the DiscontinuityLab software are displayed in Table 2 Table 2. Discontinuity families characteristics for the synthetic outcrop (K upper than 10 4 is considered as infinite)

Natural outcrop: Saulges cliff
The Saulges cliffs were dug by the river named Erve, in carboniferous limestone. The cliff composed of a single geological facies of limestone shows the discontinuity planes on its surface relief . The images were acquired on February 19 th , 2019 with an Unmanned Aerial Vehicle (UAV) named Anafi (2019). The on-board camera is composed of a matrix of 5344 x 4016 pixels (21.4 MPx; aspect ratio W/H = 4/3), a focal lens of 4 mm. The size of the sensor pitch is 1.12 µm/pix. We therefore have a "horizontal field of view" (HFOV) of 1.27 radians (72.77°) and a "vertical field of view" (VFOV) of 1.01 radians (57.87°), or an area coverage of 19.2 m x 15.3 m at a distance of 15 m. At this distance from the outcrop, and with four shooting elevation lines with horizontal and oblique sights (up/down; left/right) at each points of view, 138 photos were necessary to cover the total area of 1139 m². These photos were used to produce the 3D dense point cloud with Metashape (2019) composed by 13,155,012 points with a density of 11,550 pts/m² (1.2 pts/cm²) (Figure 7).
Agisoft targets (12-bit) and natural points were geolocated using a total station Leica Flexline TS06+, itself located by two Leica GPS 500. Thirteen points were used whose seven as Ground Control Points (GCPs) and six as check points as shown in Figure  7. The total RMS Errors of the Metashape report are 0.5 cm for the GCPs and 1.3 cm for the check points which is consistent with the georeferencing accuracy. During the UAV acquisition session, a rough manual in-situ structural survey was carried out. Three families were detected. The first family, named S0 in  Table 3. Compass reading of the orientation of three discontinuity families for the Saulges cliff The Table 4 displays the orientations used to extract planes from the Saulges point cloud with the interactive stereonet of the Facets plugin. Additionnal information on the different families is displayed in this Table. In the case of Saulges, the discontinuities with a surface lower than 10 cm² were rejected thanks to the associated option in DiscontinuityLab. The Fisher constant K is calculated with the software Stereonet (2019). It is important to note that the segmentation orientation intervals in the Table 4, are chosen from the CloudCompare stereonet, are consistent with the orientations measured on the field (Table 3) Table 5 is due to the exclusion of the narrow bands by a surface threshold in DiscontinuityLab. These narrow bands are not associated with the major green plane on Figure 4 (0.9 m² or 3.1 % of the total surface). The three corridors of F2-Synt of the synthetic wall are correctly identified by DiscontinuitytLab and the distances between the corridors accurately set at 1.218 m and 1.609 m in section 4.1 are exactly recovered by DiscontinuityLab (   Table 7. Results for the internal characterization of the corridor of F2-Synt family

Digital analysis of the Saulges cliff
According to the results of the Table 8 and Table 9, the mean orientation for the family set S0 is 39/253 and nine SuperDiscontinuities are detected. The mean distance between the SuperDiscontinuities is equal to 1.77 m with a std of 0.83 m. The mean orientation for F1 is 88/021 and seven major clusters are detected and corresponds to the shape of the outcrop front shaped staircase (green disks on Figure 8). Four fracturing corridors (Table 10) are detected and formed the F2 family set. With a mean orientation of 63/081, the distances measured between each corridor are calculated with DiscontinuityLab (Table 10): 10.95 m, 7.21 m and 6.70 m. The Table 11 gives the internal characterization for each fracturing corridor of the F2 family. For a better understanding, the SuperDiscontiuities are displayed as disks on Figure 8 for S0 (blue) and F1 (green) families. The fracturing corridors are coloured in purple.
Let us notice that the area coverage (Table 10) of the S0 family (Saulges) is only 1.53 % of the total surface compared to 40.7% and 9.2% for F1 and F2. In addition, this result comes from many little surfaces. In this case, the analysis of the 1D traces on the rock surface could improve the structural analysis of this family set. Finally, the numerical mean orientations (Table 8) are consistent with the field survey (   Table 11. Results for the internal characterization of the corridor of F2 family

CONCLUSION
In this paper, we propose a method for the structural analysis of outcrops using a digital 3D point cloud. A new method was presented to provide statistics on discontinuity planes distribution and density. Its advantage is to take into account the entire area of an outcrop rather than a limited area around a scanline, but, for comparison, it could also provide a custom scanline analysis. Considering discontinuity planes as infinite, the spacings between the discontinuity planes are directly measured on the virtual scanline whose direction is the normal to the mean orientation of the discontinuity family set. This method probably overloads the intersections on the virtual scanline because a plane of discontinuity is characterized by several planes spaced apart on the surface of the outcrop. This problem has been solved by clustering these planes into one. Future works must certainly focalise on the minimum spacing to take into account, considering the precision of the points of the 3D cloud. The proposed approach has also shown its usefulness for the characterization of fracturing corridors. Indeed, it also provides a complete statistic on the internal distances in these corridors. We demonstrated the pertinence of our approach by the comparison of extracted information of a synthetic outcrop to set values and, in the case of a natural outcrop the extraction of several useful information for geoscientists. To complete this work, a userfriendly software, named DiscontinuityLab, has been developed in Python to manage the KDE segmentation manually. Moreover, the settings and the results can be saved as a project to ensure the repeatability and the transferability of results. All graphics can be exported as JPEG files and all data as CSV file. DiscontinuityLab is downloadable as a standalone executable on https://bitbucket.org/pcaudal/discontinuitylab/downloads/ with the Facets and DiscontinuityLab project files used for the Saulges et synthetic outcrops analyses.