<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0" article-type="methods-article">
  <front>
    <journal-meta><journal-id journal-id-type="publisher">SE</journal-id><journal-title-group>
    <journal-title>Solid Earth</journal-title>
    <abbrev-journal-title abbrev-type="publisher">SE</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Solid Earth</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1869-9529</issn><publisher>
    <publisher-name>Copernicus Publications</publisher-name>
    <publisher-loc>Göttingen, Germany</publisher-loc>
  </publisher></journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5194/se-17-1087-2026</article-id><title-group><article-title>Towards robust fracture mapping: benchmarking automatic fracture mapping in 2D outcrop imagery</article-title><alt-title>Benchmarking automatic fracture mapping in 2D outcrop imagery</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Fatihi</surname><given-names>Ayoub</given-names></name>
          <email>ayoub.fatihi@unil.ch</email>
        <ext-link>https://orcid.org/0000-0001-8572-6553</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Caldeira</surname><given-names>Jefter</given-names></name>
          
        <ext-link>https://orcid.org/0009-0006-0145-2852</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2 aff3">
          <name><surname>Beucler</surname><given-names>Tom</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-5731-1040</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff4">
          <name><surname>Thiele</surname><given-names>Samuel T.</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Samsu</surname><given-names>Anindita</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-3588-2237</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Institute of Earth Sciences, University of Lausanne, 1015 Lausanne, Switzerland</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Institute of Earth Surface Dynamics, University of Lausanne, 1015 Lausanne, Switzerland</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Expertise Center for Climate Extremes, University of Lausanne, 1015 Lausanne, Switzerland</institution>
        </aff>
        <aff id="aff4"><label>4</label><institution>Helmholtz-Zentrum Dresden-Rossendorf, Helmholtz Institute Freiberg, Chemnitzer Str. 40, 09599 Freiberg, Germany</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Ayoub Fatihi (ayoub.fatihi@unil.ch)</corresp></author-notes><pub-date><day>29</day><month>September</month><year>2026</year></pub-date>
      
      <volume>17</volume>
      <issue>9</issue>
      <fpage>1087</fpage><lpage>1115</lpage>
      <history>
        <date date-type="received"><day>25</day><month>February</month><year>2026</year></date>
           <date date-type="rev-request"><day>13</day><month>March</month><year>2026</year></date>
           <date date-type="rev-recd"><day>14</day><month>September</month><year>2026</year></date>
           <date date-type="accepted"><day>17</day><month>September</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Ayoub Fatihi et al.</copyright-statement>
        <copyright-year>2026</copyright-year>
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026.html">This article is available from https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026.html</self-uri><self-uri xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026.pdf">The full text article is available as a PDF file from https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e137">Analysis of fracture geometries, orientation, distribution, and connectivity is commonly conducted to characterise the mechanical and hydraulic properties of a fractured rock mass and to interpret its deformation history. These studies increasingly leverage high-resolution drone imagery (e.g., orthomosaics or orthophotographs). However, consistently and accurately extracting fracture traces from these large datasets remains a persistent challenge. In this contribution, we present a harmonised benchmarking dataset, FraXet, for pixel-wise fracture segmentation of combined high-resolution RGB orthophotographs and digital elevation models (DEMs) (ground sampling distance ranging from approximately 0.5 to 32 <inline-formula><mml:math id="M1" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow></mml:math></inline-formula>). FraXet curates images from three publicly available datasets, totalling 8953 256 <inline-formula><mml:math id="M2" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 256 RGB <inline-formula><mml:math id="M3" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> DEM patches spanning diverse lithologies and imaging conditions (ground sampling distance, illumination, etc.) to systematically assess the effectiveness of conventional image-processing approaches for fracture extraction (Canny, Sobel, Gabor, Sato, and phase congruency) and two deep-learning (DL) models (U-Net and SegFormer). Quantitative comparisons using image-quality (e.g., MSE, PSNR), segmentation (e.g., Precision, Recall, F1, IoU), and new task-specific error metrics show that the deep models substantially outperform classical filters (F1 <inline-formula><mml:math id="M4" display="inline"><mml:mi mathvariant="normal">≈</mml:mi></mml:math></inline-formula> 0.3–0.5 vs. <inline-formula><mml:math id="M5" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 0.29) and produce smoother, more continuous fracture traces. Training on the combined dataset (M_all) improves cross-site generalisation compared to models trained on individual sub-datasets used in this study. Probability maps derived from the DL approaches enable confidence-based triage and visualisation of model uncertainty. This work establishes a unified benchmark, curated dataset, and reproducible baseline for developing robust automated fracture-detection tools.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e185">Mapping natural fractures in outcrops is fundamental to studies of brittle tectonics, assessments of rock stability, and predictions of subsurface fluid flow pathways for geo-energy applications <xref ref-type="bibr" rid="bib1.bibx6 bib1.bibx9 bib1.bibx57" id="paren.1"/>. Recent advances in remote sensing and the uptake of uncrewed aerial vehicle (UAV) photogrammetry by the structural geology community have transformed how fracture data are collected <xref ref-type="bibr" rid="bib1.bibx8" id="paren.2"/>. UAV photogrammetry enables the generation of high-resolution, georeferenced orthophotographs that capture rock surfaces at millimetre-to-centimetre resolution, including outcrops that are difficult or unsafe to reach <xref ref-type="bibr" rid="bib1.bibx66" id="paren.3"/>. The resulting orthophotographs enable precise tracing of thousands of fractures on a single outcrop, which can then be analysed for orientation, length, distribution, and connectivity, complementing direct field observations and measurements <xref ref-type="bibr" rid="bib1.bibx43" id="paren.4"/>.</p>
      <p id="d2e200">A fracture trace is the linear to curvilinear intersection of a fracture with an exposed rock surface, commonly mapped as a piecewise-linear polyline <xref ref-type="bibr" rid="bib1.bibx47 bib1.bibx10 bib1.bibx55" id="paren.5"/>. In RGB orthophotographs it appears as a dark, high-contrast linear feature produced by differential weathering and illumination <xref ref-type="bibr" rid="bib1.bibx64 bib1.bibx63 bib1.bibx52" id="paren.6"/>, whereas in the DEM it shows as a subtle linear relief or step <xref ref-type="bibr" rid="bib1.bibx28 bib1.bibx49" id="paren.7"/>. Its apparent geometry therefore depends on the projection of the discontinuity: surface intersection onto the orthorectification plane <xref ref-type="bibr" rid="bib1.bibx47 bib1.bibx8" id="paren.8"/>.</p>
      <p id="d2e215">While the acquisition of high-resolution orthophotographs has become faster and easier, manual and semi-automated interpretation of fractures from these images remains time-consuming and fails to fully leverage the available data <xref ref-type="bibr" rid="bib1.bibx64" id="paren.9"/>. For example, mapping fractures within a 10 m by 10 m area from an orthophotograph with a resolution of 1 cm per pixel can take more than half an hour, even with semi-automated tools <xref ref-type="bibr" rid="bib1.bibx63" id="paren.10"/>. Extrapolating from this, manually mapping an entire 200 <inline-formula><mml:math id="M6" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> by 50 <inline-formula><mml:math id="M7" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> outcrop requires roughly 55 <inline-formula><mml:math id="M8" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> of dedicated interpreter time; a constraint that becomes still more limiting for regional-scale studies involving multiple outcrops. Even approaches described as automatic often still require substantial user intervention for parameter tuning, quality control, and post-processing, resulting in processing times of several hours per outcrop <xref ref-type="bibr" rid="bib1.bibx68" id="paren.11"/>.</p>
      <p id="d2e252">Manual and semi-automated fracture tracing are also subject to various biases related to image quality (e.g., lighting, surface weathering, vegetation cover, and image resolution) and to the experience and preferences of the interpreter <xref ref-type="bibr" rid="bib1.bibx56 bib1.bibx45 bib1.bibx5" id="paren.12"/>. As a result, fracture maps produced by different interpreters, or even by the same interpreter at different times, may vary in fracture identification, segmentation, and connectivity <xref ref-type="bibr" rid="bib1.bibx56" id="paren.13"/>. These inconsistencies can propagate into subsequent quantitative analyses, affecting the interpretation of fracture network properties and reducing the reproducibility of geological studies <xref ref-type="bibr" rid="bib1.bibx48" id="paren.14"/>.</p>

<table-wrap id="T1" specific-use="star" orientation="landscape"><label>Table 1</label><caption><p id="d2e268">Summary of methods and their characteristics for fracture mapping.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="justify" colwidth="25mm"/>
     <oasis:colspec colnum="2" colname="col2" align="justify" colwidth="53mm"/>
     <oasis:colspec colnum="3" colname="col3" align="justify" colwidth="23mm"/>
     <oasis:colspec colnum="4" colname="col4" align="justify" colwidth="40mm"/>
     <oasis:colspec colnum="5" colname="col5" align="justify" colwidth="30mm"/>
     <oasis:colspec colnum="6" colname="col6" align="justify" colwidth="29mm"/>
     <oasis:colspec colnum="7" colname="col7" align="justify" colwidth="22mm"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left">Method</oasis:entry>
         <oasis:entry colname="col2" align="left">Algorithms/Key studies</oasis:entry>
         <oasis:entry colname="col3" align="left">Data types</oasis:entry>
         <oasis:entry colname="col4" align="left">Description</oasis:entry>
         <oasis:entry colname="col5" align="left">Advantages</oasis:entry>
         <oasis:entry colname="col6" align="left">Limitations</oasis:entry>
         <oasis:entry colname="col7" align="left">Automation</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><italic>Colorimetry-Based Segmentation</italic></oasis:entry>
         <oasis:entry colname="col2" align="left">Thresholding approaches <xref ref-type="bibr" rid="bib1.bibx52 bib1.bibx65" id="paren.15"/></oasis:entry>
         <oasis:entry colname="col3" align="left">orthophotographs</oasis:entry>
         <oasis:entry colname="col4" align="left">Segments image features based on pixel intensity. Fractures appear darker due to illumination differences, while the host rock appears lighter.</oasis:entry>
         <oasis:entry colname="col5" align="left">Simple and intuitive; effective in high-contrast conditions.</oasis:entry>
         <oasis:entry colname="col6" align="left">Strongly affected by lighting and shadows; not reliable in heterogeneous or low-contrast scenes.</oasis:entry>
         <oasis:entry colname="col7" align="left">Manual or semi-automatic</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><italic>DEM/DTM-Based Feature Extraction</italic></oasis:entry>
         <oasis:entry colname="col2" align="left">Segment Tracing Algorithm <xref ref-type="bibr" rid="bib1.bibx28" id="paren.16"/>, Segment Tracing and Rotation Transformation <xref ref-type="bibr" rid="bib1.bibx50" id="paren.17"/>, Directional Detection <xref ref-type="bibr" rid="bib1.bibx49" id="paren.18"/>, Line Segment Tracking <xref ref-type="bibr" rid="bib1.bibx19 bib1.bibx23" id="paren.19"/></oasis:entry>
         <oasis:entry colname="col3" align="left">DEMs, DTMs, satellite imagery</oasis:entry>
         <oasis:entry colname="col4" align="left">Uses terrain derivatives (curvature, slope, relief) to reveal lineaments. Segment tracing improves feature continuity.</oasis:entry>
         <oasis:entry colname="col5" align="left">Reveals terrain-related or hidden subsurface structures.</oasis:entry>
         <oasis:entry colname="col6" align="left">Dependent on resolution and quality of DEMs; computationally demanding.</oasis:entry>
         <oasis:entry colname="col7" align="left">Semi-automatic or automatic (ML used in some)</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><italic>Edge Detection (traditional filters)</italic><sup>∗</sup></oasis:entry>
         <oasis:entry colname="col2" align="left">Canny Edge Detection <xref ref-type="bibr" rid="bib1.bibx36 bib1.bibx58 bib1.bibx2" id="paren.20"/>, Sobel, Laplacian of Gaussian; combinations such as Canny <inline-formula><mml:math id="M11" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> Hough Transform <xref ref-type="bibr" rid="bib1.bibx25" id="paren.21"/></oasis:entry>
         <oasis:entry colname="col3" align="left">orthophotographs, satellite imagery, DEMs</oasis:entry>
         <oasis:entry colname="col4" align="left">Gradient filters highlight intensity changes; often used as preprocessing before other algorithms.</oasis:entry>
         <oasis:entry colname="col5" align="left">Fast, well established, interpretable.</oasis:entry>
         <oasis:entry colname="col6" align="left">Sensitive to noise and illumination; lacks context.</oasis:entry>
         <oasis:entry colname="col7" align="left">Semi-automatic</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><italic>Phase Symmetry/Phase Congruency</italic><sup>∗</sup></oasis:entry>
         <oasis:entry colname="col2" align="left">Phase Symmetry and Congruency <xref ref-type="bibr" rid="bib1.bibx29 bib1.bibx30 bib1.bibx64" id="paren.22"/></oasis:entry>
         <oasis:entry colname="col3" align="left">orthophotographs</oasis:entry>
         <oasis:entry colname="col4" align="left">Uses local phase information to detect edges invariant to brightness or contrast.</oasis:entry>
         <oasis:entry colname="col5" align="left">Robust under varying illumination; noise-tolerant.</oasis:entry>
         <oasis:entry colname="col6" align="left">Computationally heavy; more complex to implement.</oasis:entry>
         <oasis:entry colname="col7" align="left">Semi-automatic</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><italic>Hough Transform</italic></oasis:entry>
         <oasis:entry colname="col2" align="left">Classical Hough Transform <xref ref-type="bibr" rid="bib1.bibx17" id="paren.23"/>; combinations such as Canny <inline-formula><mml:math id="M13" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> Hough Transform <xref ref-type="bibr" rid="bib1.bibx58 bib1.bibx25" id="paren.24"/></oasis:entry>
         <oasis:entry colname="col3" align="left">Binary edge maps (from other detectors)</oasis:entry>
         <oasis:entry colname="col4" align="left">Converts edge pixels into parameter space and accumulates votes to identify linear structures.</oasis:entry>
         <oasis:entry colname="col5" align="left">Good for linear fractures; interpretable.</oasis:entry>
         <oasis:entry colname="col6" align="left">Limited to straight lines; prone to false positives.</oasis:entry>
         <oasis:entry colname="col7" align="left">Semi-automatic</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><italic>Wavelet and Multi-Scale Transforms</italic></oasis:entry>
         <oasis:entry colname="col2" align="left">Wavelet Transform <xref ref-type="bibr" rid="bib1.bibx34" id="paren.25"/>, Ridgelets and Curvelets <xref ref-type="bibr" rid="bib1.bibx12 bib1.bibx11 bib1.bibx16" id="paren.26"/>, Complex Shearlet Transform <xref ref-type="bibr" rid="bib1.bibx48" id="paren.27"/></oasis:entry>
         <oasis:entry colname="col3" align="left">orthophotographs, satellite imagery, DEMs</oasis:entry>
         <oasis:entry colname="col4" align="left">Multi-scale decomposition; directional wavelets capture curvilinear and branching structures.</oasis:entry>
         <oasis:entry colname="col5" align="left">Multi-scale, effective for curved fractures.</oasis:entry>
         <oasis:entry colname="col6" align="left">Classical wavelets lack directionality; advanced transforms are complex and computationally intensive.</oasis:entry>
         <oasis:entry colname="col7" align="left">Semi-automatic</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1" align="left"><italic>Line Segment Detection/Tracking</italic></oasis:entry>
         <oasis:entry colname="col2" align="left">Line Segment Detection <xref ref-type="bibr" rid="bib1.bibx51 bib1.bibx35 bib1.bibx15" id="paren.28"/>, Line Segment Tracking <xref ref-type="bibr" rid="bib1.bibx19 bib1.bibx23" id="paren.29"/></oasis:entry>
         <oasis:entry colname="col3" align="left">Satellite imagery, DEMs</oasis:entry>
         <oasis:entry colname="col4" align="left">Detects line segments directly; tracking improves continuity across scales.</oasis:entry>
         <oasis:entry colname="col5" align="left">Captures both short and long features; efficient.</oasis:entry>
         <oasis:entry colname="col6" align="left">Sensitive to parameter tuning; may fragment lineaments.</oasis:entry>
         <oasis:entry colname="col7" align="left">Automatic (ML used in some)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1" align="left"><italic>Deep Learning and Machine Learning Approaches</italic><sup>∗</sup></oasis:entry>
         <oasis:entry colname="col2" align="left">CNN U-Net <xref ref-type="bibr" rid="bib1.bibx13" id="paren.30"/>, Geological Adaptive Incremental Network <xref ref-type="bibr" rid="bib1.bibx71" id="paren.31"/>, DL <inline-formula><mml:math id="M15" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> Line Detection <xref ref-type="bibr" rid="bib1.bibx40" id="paren.32"/>, Multi-feature DL integration <xref ref-type="bibr" rid="bib1.bibx71" id="paren.33"/>, Graph Attention Network <inline-formula><mml:math id="M16" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> Fast Line Detection, Photogrammetry <inline-formula><mml:math id="M17" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> ML <xref ref-type="bibr" rid="bib1.bibx46" id="paren.34"/></oasis:entry>
         <oasis:entry colname="col3" align="left">orthophotographs, DEMs, satellite imagery, 3D point clouds</oasis:entry>
         <oasis:entry colname="col4" align="left">Learns hierarchical spatial features for segmentation and fracture extraction.</oasis:entry>
         <oasis:entry colname="col5" align="left">Robust to noise; captures complex nonlinear spatial patterns; transferable across similar datasets.</oasis:entry>
         <oasis:entry colname="col6" align="left">Requires large labelled data; prone to false positives (e.g., vegetation, shadows); can be expensive to train.</oasis:entry>
         <oasis:entry colname="col7" align="left">Fully automatic (DL/ML-based)</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d2e271"><sup>∗</sup> evaluated in this study.</p></table-wrap-foot></table-wrap>

      <p id="d2e655">These challenges motivate faster, more reproducible fracture-tracing methods. Rapid advances in computer vision and machine learning (ML) have made automated fracture detection an appealing alternative to manual and semi-automated methods <xref ref-type="bibr" rid="bib1.bibx63 bib1.bibx38 bib1.bibx13" id="paren.35"/>. Various techniques have been developed for fracture detection from orthophotographs (including satellite imagery), digital elevation models (DEMs), and digital terrain models (DTMs). These techniques range from classical image processing methods, including colorimetry-based segmentation, edge detection, phase symmetry and phase congruency, and Hough transforms, to more advanced deep learning (DL) approaches (Table <xref ref-type="table" rid="T1"/>). Each method has benefits and limitations that depend on data type and image quality.</p>
      <p id="d2e663">Among the classical approaches, colorimetry-based segmentation exploits the contrast between fractures and host rock but is highly sensitive to lighting and shadowing <xref ref-type="bibr" rid="bib1.bibx52 bib1.bibx65" id="paren.36"/>. DEM and DTM-based feature extraction methods, such as segment tracing and directional detection algorithms <xref ref-type="bibr" rid="bib1.bibx28 bib1.bibx49 bib1.bibx50" id="paren.37"/>, can reveal terrain-related structures but depend heavily on the resolution and quality of the underlying elevation data and are computationally demanding. Edge-detection filters (e.g., Canny, Sobel, Laplacian of Gaussian) are fast and well-established but are sensitive to noise and provide no contextual information about what they detect <xref ref-type="bibr" rid="bib1.bibx36 bib1.bibx58 bib1.bibx2" id="paren.38"/>. Phase symmetry and phase congruency methods improve robustness to variable illumination <xref ref-type="bibr" rid="bib1.bibx29 bib1.bibx30 bib1.bibx64" id="paren.39"/>, though at greater computational cost, while the Hough transform is effective for identifying straight linear features but is intrinsically limited to linear geometries and prone to false positives <xref ref-type="bibr" rid="bib1.bibx17" id="paren.40"/>. Wavelet and multi-scale transforms <xref ref-type="bibr" rid="bib1.bibx34 bib1.bibx12 bib1.bibx11 bib1.bibx16 bib1.bibx48" id="paren.41"/> improve the handling of curvilinear, multi-scale features, although classical wavelets lack directionality. Dedicated line-segment detection and tracking algorithms <xref ref-type="bibr" rid="bib1.bibx51 bib1.bibx35 bib1.bibx15 bib1.bibx19 bib1.bibx23" id="paren.42"/> offer a complementary approach for capturing such features. Their more advanced variants are complex to implement, and line-tracking approaches remain sensitive to parameter tuning and prone to fragmenting continuous lineaments. A common shortcoming is reliance on hand-crafted rules and fixed-scale filters, which limits robustness to variable image quality (lighting, weathering, vegetation) and resolution typical of natural outcrop imagery, and constrains generalisation across datasets <xref ref-type="bibr" rid="bib1.bibx3" id="paren.43"/>.</p>
      <p id="d2e691">Deep learning and machine learning approaches form a distinct, rapidly growing category. These include convolutional neural network architectures such as U-Net for pixel-wise fracture segmentation <xref ref-type="bibr" rid="bib1.bibx13" id="paren.44"/>, incrementally trained networks designed to adapt to new geological settings such as the Geological Adaptive Incremental Network <xref ref-type="bibr" rid="bib1.bibx71" id="paren.45"/>, hybrid approaches that combine DL-based feature extraction with classical line detection <xref ref-type="bibr" rid="bib1.bibx40" id="paren.46"/>, multi-feature DL integration strategies that combine several input modalities <xref ref-type="bibr" rid="bib1.bibx71" id="paren.47"/>, and combinations of graph attention networks with fast line detection algorithms. DL methods have also been applied directly to 3D data, for example by coupling photogrammetric reconstruction with ML-based fracture extraction <xref ref-type="bibr" rid="bib1.bibx46" id="paren.48"/>.</p>
      <p id="d2e709">The main drawbacks of DL and ML approaches are reliance on large labelled training sets, their tendency to produce false positives in the presence of vegetation, shadows, and other artefacts, and the computational expense of training <xref ref-type="bibr" rid="bib1.bibx4 bib1.bibx70 bib1.bibx38 bib1.bibx33" id="paren.49"/>. Despite these disadvantages, DL and ML approaches offer clear advantages over classical methods: they are more robust to noise, can capture complex non-linear spatial patterns inherent to fracture networks, and once trained are commonly transferable across similar datasets <xref ref-type="bibr" rid="bib1.bibx38 bib1.bibx13 bib1.bibx33" id="paren.50"/>.</p>
      <p id="d2e718">The key advantage of deep learning over classical feature extraction (Table <xref ref-type="table" rid="T1"/>) is learning spatial features directly from data at multiple scales simultaneously, rather than relying on hand-crafted rules and fixed-scale filters <xref ref-type="bibr" rid="bib1.bibx33" id="paren.51"/>. This is especially valuable for fracture mapping because fractures are inherently multi-scale, ranging from microfractures that are only visible in thin section to fault systems spanning tens, hundreds, or even thousands of meters in length. Furthermore, fractures normally present as sets or networks rather than isolated features. Learning various representations of fracture networks across scales allows a model to combine fine-scale edge detail with broader-scale network context, helping it distinguish fracture geometry from noise and other “edges” common in orthophotographs, such as vegetation boundaries, shadows, and weathering features.</p>
      <p id="d2e727">Several issues still need to be addressed as DL-based automated fracture detection continues to develop. First, these methods still struggle with false positives and negatives, particularly under natural and uncontrolled imaging conditions (e.g., white balance, illumination patterns, resolution, etc.) <xref ref-type="bibr" rid="bib1.bibx38 bib1.bibx70 bib1.bibx4" id="paren.52"/>, e.g., topographic shadows mimicking fracture traces, vegetation creating false linear features, or weathering textures producing edges indistinguishable from fractures. Natural outcrops contain shadows, vegetation, uneven lighting, and erosional features, all of which can confuse detection algorithms. Second, fractures are an unusual target for semantic segmentation, as they are better represented as linear segments with arbitrary widths (Fig. <xref ref-type="fig" rid="F1"/>a) rather than as continuous areas (Fig. <xref ref-type="fig" rid="F1"/>b).  Third, ground-truth labels used for training are often drawn at a coarser scale than the maximum image resolution allows: a time-saving compromise that leads to misalignment between the labelled fracture and the pixels that represent the fracture in the orthophotograph (Fig. <xref ref-type="fig" rid="F1"/>c and d). While these inconsistencies may influence analyses of fracture lengths, orientations, and network topology, they have an even greater impact on model training and evaluation accuracy. This is important because annotation scale and interpretation can significantly affect the derived properties of fracture networks <xref ref-type="bibr" rid="bib1.bibx44" id="paren.53"/>. Finally, algorithm performance commonly drops when a DL-based model is applied to new datasets with different fracture patterns, lithologies, topographical complexity, or imaging conditions, limiting generalisability <xref ref-type="bibr" rid="bib1.bibx38" id="paren.54"/>.</p>

      <fig id="F1"><label>Figure 1</label><caption><p id="d2e748">Example of annotation misalignment. <bold>(a)</bold> Example of fractures of different widths. <bold>(b)</bold> Example of a segmentation task represented as a continuous area from Segment Anything paper <xref ref-type="bibr" rid="bib1.bibx27" id="paren.55"/>. <bold>(c)</bold> Outcrop orthophotograph <xref ref-type="bibr" rid="bib1.bibx39" id="paren.56"/> overlaid with fracture traces in white from the ground-truth labels <xref ref-type="bibr" rid="bib1.bibx41" id="paren.57"/>. <bold>(d)</bold> Zoomed-in view showing how manually drawn fracture lines deviate from the actual visible fracture edges.</p></caption>
        <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f01.jpg"/>

      </fig>

      <p id="d2e779">As automated fracture detection advances, there is an urgent need for standardised benchmarking frameworks and shared datasets that enable consistent and fair comparison of methods <xref ref-type="bibr" rid="bib1.bibx4" id="paren.58"/>. While initiatives like GeoCrack <xref ref-type="bibr" rid="bib1.bibx70" id="paren.59"/>, a publicly available benchmark dataset for automated geological fracture detection in RGB images of rock outcrops, has begun to address this gap, current resources remain limited to RGB imagery and predominantly vertical outcrops and contain incomplete annotations in some image patches where only a subset of visible fractures are labelled.</p>
      <p id="d2e788">The primary goal of this study is to establish a standardised evaluation framework for pixel-wise fracture segmentation from 2D outcrop imagery, using both traditional computer vision and deep learning methods. We present FraXet, comprising three curated, heterogeneous benchmark datasets on which a suite of traditional image-processing filters (Canny, Sobel, Gabor, Sato, and phase congruency) and deep learning models (U-Net, SegFormer) were applied to generate per-pixel fracture probability maps. The performance of the different methods was assessed using image-quality metrics (e.g., MSE, PSNR), segmentation metrics (e.g., precision, F1-score, IoU), and a novel fracture-trace similarity metric. By applying consistent preprocessing, hyperparameter optimisation, and evaluation metrics, our framework enables systematic comparison of fracture detection performance across diverse datasets, geological settings, and imaging conditions. FraXet is intended as a living benchmark, to be expanded with additional datasets representing different geological settings, lithologies, and fracture network patterns as more annotated public datasets become available. Our aim is to promote transparency, reproducibility, and comparability in automated fracture mapping research, while providing a useful test dataset and benchmark for future developments.</p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e793">Overview of the benchmarking workflow. The three datasets (Matteo21, Samsu19, Ovaskainen22) are processed into the FraXet v0.1 database, used to train classical filters and deep learning models, the results of which are evaluated on the test set through qualitative visualisation and quantitative metrics and proposed similarity metric. <inline-formula><mml:math id="M18" display="inline"><mml:mo>⋆</mml:mo></mml:math></inline-formula>: not all outcrops used shown here. Detailed dataset overviews are provided in Appendix (Figs. <xref ref-type="fig" rid="FA1"/>, <xref ref-type="fig" rid="FA2"/>, <xref ref-type="fig" rid="FA3"/>).</p></caption>
        <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f03.png"/>

      </fig>

</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Methodology</title>
      <p id="d2e823">We designed a benchmarking workflow (Fig. <xref ref-type="fig" rid="F2"/>) for three publicly available, annotated outcrop datasets (<italic>Ovaskainen22</italic> <xref ref-type="bibr" rid="bib1.bibx39 bib1.bibx41" id="paren.60"/>, <italic>Matteo21</italic> <xref ref-type="bibr" rid="bib1.bibx37" id="paren.61"/>, and <italic>Samsu19</italic> <xref ref-type="bibr" rid="bib1.bibx54" id="paren.62"/>) that make up the first version of <italic>FraXet</italic> <xref ref-type="bibr" rid="bib1.bibx21" id="paren.63"/>. FraXet is a curated benchmark dataset for training and evaluating automatic fracture-trace extraction models, comprising high-resolution orthophotographs and DEMs across diverse lithologies and outcrop geometries.</p>
      <p id="d2e853">From the original orthophotographs and DEMs, we compiled 8953 co-registered 256 pixel <inline-formula><mml:math id="M19" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 256 pixel patches (see Fig. <xref ref-type="fig" rid="F3"/>), each consisting of an RGB orthomosaic tile, a DEM tile, and a corresponding binary 1-pixel-wide fracture label. We standardised and pre-processed all the patches, then applied a suite of traditional image-processing filters (Canny, Sobel, Gabor, Sato, phase congruency) and deep learning models (U-Net, SegFormer) to generate per-pixel fracture probability maps. All methods were evaluated using a set of image quality, segmentation, and proposed similarity metrics on held-out test splits, with deep models tuned on validation subsets before final testing.</p>

      <fig id="F3"><label>Figure 3</label><caption><p id="d2e867">Example RGB–DEM–label patches from FraXet.</p></caption>
        <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f02.jpg"/>

      </fig>

<table-wrap id="T2" specific-use="star"><label>Table 2</label><caption><p id="d2e880">Overview of datasets and their metadata and split statistics. Ovaskainen22: <xref ref-type="bibr" rid="bib1.bibx39" id="text.64"/> and <xref ref-type="bibr" rid="bib1.bibx41" id="text.65"/>; Matteo21: <xref ref-type="bibr" rid="bib1.bibx37" id="text.66"/>; Samsu19: <xref ref-type="bibr" rid="bib1.bibx54" id="text.67"/>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="9">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Dataset</oasis:entry>
         <oasis:entry colname="col2">Study purpose</oasis:entry>
         <oasis:entry colname="col3">Mapping</oasis:entry>
         <oasis:entry colname="col4">Resolution (<inline-formula><mml:math id="M24" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry rowsep="1" namest="col5" nameend="col8" align="center">Patches </oasis:entry>
         <oasis:entry colname="col9">Total Area (<inline-formula><mml:math id="M25" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>)</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">scale</oasis:entry>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5">Train</oasis:entry>
         <oasis:entry colname="col6">Validation</oasis:entry>
         <oasis:entry colname="col7">Test</oasis:entry>
         <oasis:entry colname="col8">Total</oasis:entry>
         <oasis:entry colname="col9"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><italic>Ovaskainen22</italic></oasis:entry>
         <oasis:entry colname="col2">Fracture-network characterisation</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>:</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mo>∗</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">0.005–0.006</oasis:entry>
         <oasis:entry colname="col5">2808</oasis:entry>
         <oasis:entry colname="col6">966</oasis:entry>
         <oasis:entry colname="col7">671</oasis:entry>
         <oasis:entry colname="col8">4445</oasis:entry>
         <oasis:entry colname="col9">7220</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><italic>Matteo21</italic></oasis:entry>
         <oasis:entry colname="col2">Automatic fault/fracture mapping (tectonic)</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">0.0005–0.0013</oasis:entry>
         <oasis:entry colname="col5">2174</oasis:entry>
         <oasis:entry colname="col6">323</oasis:entry>
         <oasis:entry colname="col7">912</oasis:entry>
         <oasis:entry colname="col8">3409</oasis:entry>
         <oasis:entry colname="col9">142</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><italic>Samsu19</italic></oasis:entry>
         <oasis:entry colname="col2">Fracture patterns and structural inheritance</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M27" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>:</mml:mo><mml:mn mathvariant="normal">500</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">0.029–0.032</oasis:entry>
         <oasis:entry colname="col5">642</oasis:entry>
         <oasis:entry colname="col6">228</oasis:entry>
         <oasis:entry colname="col7">229</oasis:entry>
         <oasis:entry colname="col8">1099</oasis:entry>
         <oasis:entry colname="col9">68 271</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><italic>All</italic></oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">62.82 %</oasis:entry>
         <oasis:entry colname="col6">16.94 %</oasis:entry>
         <oasis:entry colname="col7">20.24 %</oasis:entry>
         <oasis:entry colname="col8">8953 (100 %)</oasis:entry>
         <oasis:entry colname="col9">75 633</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d2e895"><sup>∗</sup> As shared by the authors, no fixed mapping scale was used for fracture interpretation. Instead, fractures were digitised at the full image resolution (approximately 0.0055 <inline-formula><mml:math id="M21" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> pixel size for data acquired from a 20 <inline-formula><mml:math id="M22" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> drone flight altitude), allowing the interpreter to zoom freely as needed. Based on the image resolution, the effective fracture extraction scale is approximately <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>:</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> as in <xref ref-type="bibr" rid="bib1.bibx42" id="text.68"/>.</p></table-wrap-foot></table-wrap>

<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Data Compilation</title>
<sec id="Ch1.S2.SS1.SSS1">
  <label>2.1.1</label><title>Data description</title>
      <p id="d2e1202">Ovaskainen22 captures fracture networks in the Mesoproterozoic Wiborg Rapakivi Granite Batholith of southeastern Finland, mostly isotropic coarse-grained wiborgite-facies granite with K-feldspar megacrystals up to 5–10 <inline-formula><mml:math id="M28" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">cm</mml:mi></mml:mrow></mml:math></inline-formula> <xref ref-type="bibr" rid="bib1.bibx26" id="paren.69"/>. Matteo21 <xref ref-type="bibr" rid="bib1.bibx38" id="paren.70"/> presents data from the Granite Dells, Arizona, an anorogenic granite of similar age (<inline-formula><mml:math id="M29" display="inline"><mml:mo lspace="0mm">∼</mml:mo></mml:math></inline-formula> 1.40 <inline-formula><mml:math id="M30" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">Ga</mml:mi></mml:mrow></mml:math></inline-formula>) but with medium-grained, generally equigranular textures showing weak porphyritic tendencies <xref ref-type="bibr" rid="bib1.bibx31" id="paren.71"/>. Samsu19 <xref ref-type="bibr" rid="bib1.bibx54" id="paren.72"/> maps fractures in a very different geological setting: a fluvial–lacustrine syn-rift sediment succession in the Lower Cretaceous Strzelecki Group (southeastern Australia), comprising mud- and sand-dominated siliciclastic strata with conglomeratic or organic-rich interbeds <xref ref-type="bibr" rid="bib1.bibx14" id="paren.73"/>.</p>
      <p id="d2e1244">Together, these three datasets cover varied geological contexts (from isotropic crystalline to anisotropic sedimentary lithologies) with fractures mapped at different scales, providing a diverse testbed for evaluating model generalisation. An overview of the datasets, their mapping scales, original study purposes, their resolutions, and split statistics is provided in Table <xref ref-type="table" rid="T2"/>. For completeness, overview maps of the sites used in this study are provided in the Appendix (Figs. <xref ref-type="fig" rid="FA1"/>, <xref ref-type="fig" rid="FA2"/>, <xref ref-type="fig" rid="FA3"/>).</p>
      <p id="d2e1255">We acknowledge that three datasets covering two granite types and one clastic sedimentary setting, while providing meaningful lithological contrast for a first benchmark, do not represent the full diversity of geological settings encountered in practice; notably absent are carbonate, metamorphic, and volcanic lithologies. FraXet is intended as a living benchmark to be expanded as further annotated public datasets become available; including these other lithological settings is a priority for future work.</p>
      <p id="d2e1258">In addition, a single site from the Lapiés di Bou karst surface was included to enable qualitative visual comparison across methods. This locality lies within the Helvetic domain of the Swiss Western Alps, specifically within the Wildhorn Nappe complex <xref ref-type="bibr" rid="bib1.bibx59 bib1.bibx61" id="paren.74"/>, where fine limestones to marls, locally oolitic, of the Aptian–Barremian Schrattenkalk Formation crop out <xref ref-type="bibr" rid="bib1.bibx7" id="paren.75"/>. Two patches from the Bingie Bingie area were also used for the timing experiment, allowing direct comparison with the manual and semi-automatic mapping workflow of <xref ref-type="bibr" rid="bib1.bibx62" id="text.76"/>. Neither the Lapiés di Bou nor the Bingie Bingie data were included in the training, validation, or test splits; they were used exclusively for qualitative visual comparison and runtime evaluation, respectively.</p>
</sec>
<sec id="Ch1.S2.SS1.SSS2">
  <label>2.1.2</label><title>Test, train and validation splits</title>
      <p id="d2e1278">To ensure reliable model assessment and minimise spatial autocorrelation – a known issue in geospatial machine learning where spatial overlap inflates accuracy metrics by reducing the statistical independence of training and testing data <xref ref-type="bibr" rid="bib1.bibx67" id="paren.77"/> – we have defined spatially disjoint data splits by dividing each of the three datasets into training, validation, and test regions (with no spatial overlap). Specifically, here the Ovaskainen22 dataset consists of Orrengrund (training), Kasaberget (validation), and Kampuslandet (testing) islands off the coast of the Loviisa region; the Samsu19 dataset comprises Eagles Nest (training) and Harmers Haven north (split between validation and testing); and the Matteo21 dataset is split into sites A and B (training), held-out regions of A and B (validation), and site C (testing). Only tiles containing at least one labelled fracture pixel were retained, to reduce challenges with class imbalance and to focus learning on relevant features.</p>
      <p id="d2e1284">The orthophotographs and DEMs were resampled to have matching spatial resolution, normalised, and tiled into non-overlapping 256 pixel <inline-formula><mml:math id="M31" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 256 pixel patches, each with four channels (RGB <inline-formula><mml:math id="M32" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> DEM). This patch size balances field of view, feature scale, and computational efficiency: it is large enough to preserve contextual information while remaining compatible with typical convolutional neural network (CNN) input constraints.</p>
      <p id="d2e1301">Ground truth annotations for Ovaskainen22 and Samsu19 were provided as vector shapefiles and were subsequently rasterised to the corresponding image resolution, producing binary masks with 1-pixel-wide white fracture lines on a black background. These binary images match the raster-formatted annotations in Matteo21 to ensure consistent label representation.</p>
      <p id="d2e1304">Given the spatial resolutions of the datasets, a 256 pixel <inline-formula><mml:math id="M33" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 256 pixel patch represents a square region with side lengths ranging from approximately 0.13–0.33 <inline-formula><mml:math id="M34" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> (Matteo21), 1.28–1.54 <inline-formula><mml:math id="M35" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> (Ovaskainen22), and 7.4–8.2 <inline-formula><mml:math id="M36" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> (Samsu19).</p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e1341">Label refinement steps. <bold>(a)</bold> Original RGB image; <bold>(b)</bold> manually traced ground truth with 1-pixel-wide fractures; <bold>(c)</bold> widened annotations after region-growing; <bold>(d)</bold> smoothed probabilistic labels produced by multi-scale dilation.</p></caption>
            <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f04.png"/>

          </fig>

      <p id="d2e1362"><italic>Probability Map Representation</italic>. Because our goal is to generate per-pixel probability maps rather than hard binary labels, we designed all preprocessing steps with this output in mind. Probability maps provide a continuous estimate (0–1) of the likelihood that each pixel corresponds to a fracture, capturing confidence and uncertainty rather than forcing discrete predictions. This representation is well suited to fracture mapping, where annotations are often noisy or slightly misaligned, and where soft boundaries reflect the inherent ambiguity of thin linear features.</p>
      <p id="d2e1367">It also enables flexible post-processing: thresholds can be adjusted to balance precision and recall, high-confidence regions can be skeletonised to extract fracture traces, and outputs can be integrated into human-in-the-loop workflows or combined with traditional filters.  Moreover, probability maps support richer evaluation metrics (e.g., ROC analysis), and improve robustness when using ensembles or multi-scale fusion. For all these reasons, probability maps serve as the most informative and practical output of the methods.</p>
</sec>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Pre-processing</title>
      <p id="d2e1379">Several preprocessing and augmentation steps were applied prior to model training and evaluation, to standardise inputs, refine ground-truth annotations, and improve model generalisation. All preprocessing scripts and procedures are publicly released as the FraXtex2D gitlab repository (<uri>https://gitlab.com/ayoubft/fractex2D.pt</uri>, last access: 14 September 2026) to ensure reproducibility. These procedures are summarised below.</p>
      <p id="d2e1385"><italic>Depth.</italic> For all deep learning experiments, we used the full RGB imagery together with the corresponding DEM channel, which was normalised at the patch level using min–max normalisation. This scaling ensures that elevation values within each patch fall between 0 and 1, reducing the influence of absolute elevation differences across sites and improving numerical stability during training.</p>
      <p id="d2e1390"><italic>Channel selection.</italic> Most traditional edge-detection filters operate on a single image band. Therefore, each band was first z-standardised (zero mean, unit variance) on the patch-level to reduce sensitivity to illumination differences and overall brightness. PCA (principal component analysis) was then applied to the normalised four-band data to obtain a single-band representation containing a maximal amount of variance.</p>
      <p id="d2e1395"><italic>Label refinement.</italic> We implemented two complementary label-processing techniques to correct inconsistencies in the original fracture annotations and enhance their spatial accuracy: wide-fracture expansion and multi-scale label smoothing.</p>
      <p id="d2e1401"><italic>Wide-fracture expansion.</italic> Preliminary experiments revealed that the models underperformed on wide, visually prominent fractures. Many such fractures were annotated as 1-pixel-wide lines, underrepresenting their true width. To address this, we developed a region-growing algorithm that widens single-pixel annotations to fill thick fracture zones. This algorithm (Fig. <xref ref-type="fig" rid="F4"/>c) fills dark linear regions in the green channel, identified by thresholding at 30 (on a 0–255 scale), by applying a 2-pixel maximum filter, followed by morphological dilation, then merging the resulting dark, connected regions with the original binary mask. Only expanded areas connected to existing labelled pixels are retained to prevent false positives. This operation improved annotation fidelity for wide fractures.</p>
      <p id="d2e1408"><italic>Multi-scale label smoothing.</italic> Manual fracture tracing also often introduces small misalignments between annotations and actual fracture pixels, especially in high-resolution orthophotographs. First, labels are expanded with a distance of 2 pixels to fill small gaps and buffer the reference traces. This is followed by three successive morphological dilations applied to the expanded mask using disk-shaped structuring elements with radii of 2, 5, and 7 pixels. These bands are then combined into a graded representation using decreasing weights of <inline-formula><mml:math id="M37" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:mfrac></mml:mstyle></mml:math></inline-formula>, <inline-formula><mml:math id="M38" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:mfrac></mml:mstyle></mml:math></inline-formula>, and <inline-formula><mml:math id="M39" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">9</mml:mn></mml:mfrac></mml:mstyle></mml:math></inline-formula>, respectively. This produces a smooth boundary around fractures (Fig. <xref ref-type="fig" rid="F4"/>d). This approach reduces sensitivity to annotation noise and improves training stability by explicitly modelling spatial uncertainty.</p>
      <p id="d2e1448">Together, these two steps improved correspondence between fracture labels and actual image structures, increasing the effective proportion of positive (fracture) pixels and slightly reducing class imbalance (Table <xref ref-type="table" rid="TB1"/> in the Appendix).</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e1455">Data augmentations applied during training: <bold>(a)</bold> original, <bold>(b)</bold> horizontal flip, <bold>(c)</bold> vertical flip, <bold>(d)</bold> gaussian blur, <bold>(e)</bold> brightness decrease, <bold>(f)</bold> brightness increase, <bold>(g)</bold> contrast increase, <bold>(h)</bold> saturation increase.</p></caption>
          <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f05.jpg"/>

        </fig>

</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Data augmentation</title>
      <p id="d2e1497">To further enhance model robustness and generalisation, we applied the following data transformations randomly to the input patches (Fig. <xref ref-type="fig" rid="F5"/>) during each training epoch: <list list-type="custom"><list-item><label>1.</label>
      <p id="d2e1504">Flipping horizontally and vertically. These transformations are applied to both the RGB <inline-formula><mml:math id="M40" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> D images and the ground truth labels to encourage geometric invariance, helping the model detect fractures regardless of their orientation.</p></list-item><list-item><label>2.</label>
      <p id="d2e1515">Gaussian blurring, brightness, contrast, and saturation adjustment. These are applied only to the RGB channels to promote photometric invariance, improving robustness to changes in lighting and appearance. Table <xref ref-type="table" rid="TC1"/> in the Appendix summarises the applied augmentations and their parameters.</p></list-item></list></p>
</sec>
<sec id="Ch1.S2.SS4">
  <label>2.4</label><title>Image filter-based approaches</title>
      <p id="d2e1528">This section outlines our implementation of several established image-processing filters as a baseline for comparing deep learning results.  These methods do not require training data and operate directly on the image, offering fast, interpretable, and reproducible outputs. While not specifically designed for fracture detection, they are widely used in geoscientific and remote sensing applications to extract features with similar morphology. All filters were applied to the first principal component (channel) resulting from the PCA reduction.</p>
      <p id="d2e1531">For the classical filters, which do not produce probabilistic outputs, we applied the same label-dilation step (Step 2 in preprocessing; Sect. 2.2) to their binary masks. This ensures that all methods are evaluated against labels that better reflect the actual fracture width and account for the misalignment between annotations and true pixel-level fracture geometry observed earlier.</p>
      <p id="d2e1534">We grouped the filters into three main categories, also see Table <xref ref-type="table" rid="T1"/>: <list list-type="bullet"><list-item>
      <p id="d2e1541">Edge detection (Sobel and Canny): Computes spatial intensity gradients to highlight abrupt changes. These filters are simple and efficient but sensitive to noise and lighting, and some require thresholding to generate binary edges.</p></list-item><list-item>
      <p id="d2e1545">Ridge detection (Gabor and Sato): Identifies elongated, linear structures by analysing second-order derivatives (curvature). These filters can capture fracture-like ridges at tuned scales but may also respond to non-fracture textures.</p></list-item><list-item>
      <p id="d2e1549">Phase-based filters (Congruency): Use Fourier phase information to detect edges. These methods handle varying illumination more robustly, but are computationally intensive and involve more tunable parameters.</p></list-item></list></p>

<table-wrap id="T3" specific-use="star"><label>Table 3</label><caption><p id="d2e1556">Summary of parameters adjusted for each algorithm and their descriptions.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left" colsep="1"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col2" colsep="1">Algorithm </oasis:entry>
         <oasis:entry colname="col3">Parameter</oasis:entry>
         <oasis:entry colname="col4">Parameter's description</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Edge detectors</oasis:entry>
         <oasis:entry rowsep="1" colname="col2">Sobel</oasis:entry>
         <oasis:entry rowsep="1" colname="col3">–</oasis:entry>
         <oasis:entry rowsep="1" colname="col4">–</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Canny</oasis:entry>
         <oasis:entry colname="col3">sigma</oasis:entry>
         <oasis:entry colname="col4">Standard deviation for Gaussian smoothing</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">low_threshold</oasis:entry>
         <oasis:entry colname="col4">Lower bound for edge linking (hysteresis)</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">high_threshold</oasis:entry>
         <oasis:entry colname="col4">Upper bound for edge linking</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Ridge detectors</oasis:entry>
         <oasis:entry rowsep="1" colname="col2">Gabor</oasis:entry>
         <oasis:entry rowsep="1" colname="col3">frequency</oasis:entry>
         <oasis:entry rowsep="1" colname="col4">Spatial frequency of the harmonic function</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Sato</oasis:entry>
         <oasis:entry colname="col3">sigmas</oasis:entry>
         <oasis:entry colname="col4">Tuple/list of Gaussian scales to apply</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry namest="col1" nameend="col2" colsep="1">Phase Congruency </oasis:entry>
         <oasis:entry colname="col3">nscale</oasis:entry>
         <oasis:entry colname="col4">Number of wavelet scales</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">norient</oasis:entry>
         <oasis:entry colname="col4">Number of orientations used</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">minWaveLength</oasis:entry>
         <oasis:entry colname="col4">Wavelength of the smallest filter</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">mult</oasis:entry>
         <oasis:entry colname="col4">Factor to scale filter size across scales</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">sigmaOnf</oasis:entry>
         <oasis:entry colname="col4">Bandwidth of the log-Gabor filter</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">k</oasis:entry>
         <oasis:entry colname="col4">Multiplier for noise threshold</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">cutOff</oasis:entry>
         <oasis:entry colname="col4">Frequency spread threshold</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">g</oasis:entry>
         <oasis:entry colname="col4">Controls sharpness of sigmoid weighting</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">noiseMethod</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M41" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1 <inline-formula><mml:math id="M42" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> median, <inline-formula><mml:math id="M43" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2 <inline-formula><mml:math id="M44" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> mode, <inline-formula><mml:math id="M45" display="inline"><mml:mo>≥</mml:mo></mml:math></inline-formula> 0 <inline-formula><mml:math id="M46" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> fixed threshold</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e1834">Each of these methods relies on user-specified parameters (Table <xref ref-type="table" rid="T3"/>; Sect. <xref ref-type="sec" rid="Ch1.S2.SS4.SSS1"/>) to suppress background clutter and isolate relevant target features (fractures in our case).</p>
<sec id="Ch1.S2.SS4.SSS1">
  <label>2.4.1</label><title>Parameter Selection</title>
      <p id="d2e1848">To explore the behavior of each filter across different datasets, we first conducted a manual visual tuning phase. This provided insight into which parameter settings produced plausible results and helped define sensible parameter ranges.  We then applied a data-driven parameter search to select the optimal settings for each filter. Specifically, we performed a grid search with cross-validation, which is justified here due to the low dimensionality of the parameter space and the relatively small number of candidate values per method. For each configuration within the predefined parameter ranges, the filter response was dilated (Step 2 in preprocessing), thresholded, and evaluated against the refined ground truth using the F1 score (defined in Table <xref ref-type="table" rid="T4"/>). The parameter set yielding the highest score was selected as optimal. This grid search standardises filter hyperparameters across datasets and reduces subjectivity in parameter selection.</p>
</sec>
</sec>
<sec id="Ch1.S2.SS5">
  <label>2.5</label><title>Deep Learning-Based Models</title>
      <p id="d2e1862">Two deep learning architectures are evaluated in this work: a convolutional U-Net <xref ref-type="bibr" rid="bib1.bibx53" id="paren.78"/> and a transformer-based SegFormer <xref ref-type="bibr" rid="bib1.bibx69" id="paren.79"/>, the latter initialised with pretrained ResNet34 weights as its backbone. U-Net is widely used for semantic segmentation due to its encoder-decoder architecture and skip connections, while SegFormer leverages attention mechanisms combined with the ResNet34 backbone for long-range context modelling and robustness to geometric variability.</p>
      <p id="d2e1871">Both models were trained with architecture-specific hyperparameters selected by cross-validation and sensitivity tests. For the U-Net, we used the Adam optimiser with an initial learning rate of 0.05, while the SegFormer employed RMSProp with an initial learning rate of 0.01. The input to each model consisted of 256 pixel <inline-formula><mml:math id="M47" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 256 pixel patches with four channels (three RGB bands and one DEM band). We used Huber (smooth L1) loss for per-pixel probability targets, as it proved robust to label noise, spatial misalignment, and class imbalance compared to binary cross-entropy or Dice loss (both popular for segmentation tasks). Early stopping based on validation loss was used in both cases to prevent overfitting.</p>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e1883">Overview of the U-Net encoder–decoder architecture with skip connections <xref ref-type="bibr" rid="bib1.bibx53" id="paren.80"/>. The encoder (left) progressively downsamples the 256 <inline-formula><mml:math id="M48" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 256 <inline-formula><mml:math id="M49" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 4 input through convolutional blocks (Conv <inline-formula><mml:math id="M50" display="inline"><mml:mo>→</mml:mo></mml:math></inline-formula> BatchNorm <inline-formula><mml:math id="M51" display="inline"><mml:mo>→</mml:mo></mml:math></inline-formula> ReLU) and max-pooling, extracting features at multiple scales. The decoder (right) upsamples these features via transposed convolutions and concatenates them with the corresponding encoder features via skip connections (grey arrows), preserving spatial detail. The final 1 <inline-formula><mml:math id="M52" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 1 convolution produces a per-pixel fracture probability map.</p></caption>
          <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f06.png"/>

        </fig>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e1934">Overview of the SegFormer architecture combining a transformer encoder with a lightweight decoder <xref ref-type="bibr" rid="bib1.bibx69" id="paren.81"/>. The encoder uses a hierarchical transformer backbone (ResNet34) with multi-head self-attention to capture long-range dependencies. The decoder aggregates multi-level features via a simple MLP. Terms: Self-attention: mechanism allowing each pixel to attend to all others; MLP: multi-layer perceptron; Feature map: spatial representation at each encoder stage.</p></caption>
          <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f07.png"/>

        </fig>

      <p id="d2e1946">The U-Net and SegFormer architectures are depicted in Figs. <xref ref-type="fig" rid="F6"/> and <xref ref-type="fig" rid="F7"/>, respectively.</p>
      <p id="d2e1953">Both models produce per-pixel probability maps used for visual comparison and were thresholded to generate binary segmentation masks, which were then compared to the ground truth using the metrics described below.</p>
</sec>
<sec id="Ch1.S2.SS6">
  <label>2.6</label><title>Benchmark metrics</title>
      <p id="d2e1965">To evaluate segmentation performance, we used three complementary groups of metrics: <list list-type="order"><list-item>
      <p id="d2e1970">image-quality metrics that quantify how closely the predicted probability maps match the annotated targets,</p></list-item><list-item>
      <p id="d2e1974">pixel-wise classification and segmentation metrics that measure detection performance and spatial overlap, and</p></list-item><list-item>
      <p id="d2e1978">a proposed fracture-level similarity metric, FracSim, designed to compare the geometry of predicted fracture traces with those in the ground truth.</p></list-item></list></p>

<table-wrap id="T4" specific-use="star"><label>Table 4</label><caption><p id="d2e1984">Overview of metrics for evaluating image quality and segmentation.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="justify" colwidth="83mm"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Metric</oasis:entry>
         <oasis:entry colname="col2">Formula</oasis:entry>
         <oasis:entry colname="col3" align="left">Definition/Use</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">MSE (Mean Squared Error)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>N</mml:mi></mml:mfrac></mml:mstyle><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>y</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Average squared pixel error; lower is better.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">PSNR (Peak Signal-to-Noise Ratio)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:mn mathvariant="normal">10</mml:mn><mml:msub><mml:mi>log⁡</mml:mi><mml:mn mathvariant="normal">10</mml:mn></mml:msub><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msup><mml:mi>L</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mtext>MSE</mml:mtext></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Log ratio of max intensity <inline-formula><mml:math id="M83" display="inline"><mml:mi>L</mml:mi></mml:math></inline-formula> to error; higher is better.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">SSIM (Structural Similarity Index)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M84" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>(</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msubsup><mml:mi mathvariant="italic">μ</mml:mi><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi mathvariant="italic">μ</mml:mi><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mo>(</mml:mo><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Perceptual similarity using luminance, contrast, and structure.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">AE (Absolute Error)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>N</mml:mi></mml:mfrac></mml:mstyle><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup><mml:mo>|</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>y</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub><mml:mo>|</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Absolute pixel-wise error; lower is better.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Accuracy (Acc)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M86" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mtext>TP</mml:mtext><mml:mo>+</mml:mo><mml:mtext>TN</mml:mtext></mml:mrow><mml:mrow><mml:mtext>TP</mml:mtext><mml:mo>+</mml:mo><mml:mtext>TN</mml:mtext><mml:mo>+</mml:mo><mml:mtext>FP</mml:mtext><mml:mo>+</mml:mo><mml:mtext>FN</mml:mtext></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Correctly classified proportion; sensitive to imbalance.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Precision (Prec)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M87" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mtext>TP</mml:mtext><mml:mrow><mml:mtext>TP</mml:mtext><mml:mo>+</mml:mo><mml:mtext>FP</mml:mtext></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Correctness of predicted positives.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Recall/Sensitivity (Rec)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M88" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mtext>TP</mml:mtext><mml:mrow><mml:mtext>TP</mml:mtext><mml:mo>+</mml:mo><mml:mtext>FN</mml:mtext></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Fraction of true positives detected.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Specificity (Spec)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M89" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mtext>TN</mml:mtext><mml:mrow><mml:mtext>TN</mml:mtext><mml:mo>+</mml:mo><mml:mtext>FP</mml:mtext></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Fraction of negatives correctly identified.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">F1 Score</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M90" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mtext>Prec</mml:mtext><mml:mo>⋅</mml:mo><mml:mtext>Rec</mml:mtext></mml:mrow><mml:mrow><mml:mtext>Prec</mml:mtext><mml:mo>+</mml:mo><mml:mtext>Rec</mml:mtext></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Harmonic mean of precision and recall.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Dice Coefficient</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M91" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>|</mml:mo><mml:mi>A</mml:mi><mml:mo>∩</mml:mo><mml:mi>B</mml:mi><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>A</mml:mi><mml:mo>|</mml:mo><mml:mo>+</mml:mo><mml:mo>|</mml:mo><mml:mi>B</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Spatial overlap measure; equivalent to F1 in binary segmentation.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">IoU (Intersection over Union)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M92" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>|</mml:mo><mml:mi>A</mml:mi><mml:mo>∩</mml:mo><mml:mi>B</mml:mi><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi>A</mml:mi><mml:mo>∪</mml:mo><mml:mi>B</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Mask overlap ratio.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">ROC-AUC</oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3" align="left">Area under ROC curve; reflects the probability that a model assigns a higher score to a positive instance than to a negative instance.</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Average Precision (AP)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:msubsup><mml:mo>∫</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mn mathvariant="normal">1</mml:mn></mml:msubsup><mml:mtext>Prec</mml:mtext><mml:mo>(</mml:mo><mml:mi>r</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="normal">d</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Area under precision–recall curve.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Cohen's Kappa (CK)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M94" display="inline"><mml:mrow><mml:mi mathvariant="italic">κ</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>o</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3" align="left">Agreement corrected for chance.</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d2e1987"><italic>Symbols:</italic> <inline-formula><mml:math id="M53" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M54" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> number of pixels; <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M56" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> reference pixel value; <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>y</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M58" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> predicted pixel value; <inline-formula><mml:math id="M59" display="inline"><mml:mi>L</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M60" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> maximum possible pixel intensity; <inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">μ</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M62" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> means of image patches <inline-formula><mml:math id="M63" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M64" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>; <inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>,</mml:mo><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M66" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> variances; <inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M68" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> covariance; <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M70" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> SSIM stability constants; <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:mtext>TP</mml:mtext><mml:mo>,</mml:mo><mml:mtext>TN</mml:mtext><mml:mo>,</mml:mo><mml:mtext>FP</mml:mtext><mml:mo>,</mml:mo><mml:mtext>FN</mml:mtext></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M72" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> true/false positives/negatives; <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>B</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M74" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> predicted and reference binary masks; <inline-formula><mml:math id="M75" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M76" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> recall; <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>o</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M78" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> observed agreement; <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M80" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> expected chance agreement; ROC: receiver operating characteristic, is a graphical plot which illustrates the performance of a binary classifier system as its discrimination threshold is varied. ROC in Tables 5 and E1 and in Fig. 9 denotes ROC-AUC.</p></table-wrap-foot></table-wrap>

      <p id="d2e2899">Together, these metrics (Table <xref ref-type="table" rid="T4"/>) capture prediction quality at the pixel, mask, and structural levels. Higher values generally indicate better performance, except for error metrics (MSE, AE), where lower values are preferable.</p>
      <p id="d2e2905">We include the background class in our evaluation to capture each model's full performance across the entire image. Because fractures represent only a very small fraction of pixels, excluding the background can artificially inflate metrics such as precision and recall. It also tends to make poorly calibrated models appear better, as ignoring the dominant class often results in models overpredicting fractures. Including the background therefore provides a more realistic assessment of false positives, calibration, and overall segmentation integrity. Notably, many previous studies do not explicitly report whether the background class is included in the computation of evaluation metrics.</p>
      <p id="d2e2908">Among the metrics computed, we consider the Dice coefficient (equivalent to the F1 score), recall, specificity, and intersection over union (IoU) as the most relevant for fracture segmentation. Accuracy, in contrast, is the least informative metric here: a model that predicts only background can achieve deceptively high scores due to class imbalance. Dice and IoU measure spatial overlap, which is critical for evaluating thin, linear features like fractures. Dice balances false positives and false negatives, while IoU penalises both over- and under-segmentation, making it a stricter metric. Recall ensures that fractures are not missed, while specificity quantifies how well the model avoids false positives in the dominant background class. Given the extreme class imbalance – background pixels can account for over 99 % of the image – reporting recall alone can be misleading. Specificity completes the picture by measuring the number of false detections in non-fracture regions.</p>
      <p id="d2e2911">We also include ROC-AUC, which evaluates the model's ability to distinguish between fracture and background pixels across thresholds. As a threshold-independent metric, ROC-AUC is particularly useful for probabilistic outputs. Similarly, Cohen's Kappa measures agreement between prediction and ground truth while accounting for chance, offering a more meaningful alternative to raw accuracy in imbalanced settings.</p>
      <p id="d2e2914">In addition to segmentation metrics, we report image-quality metrics – Mean Squared Error (MSE), Peak Signal-to-Noise Ratio (PSNR), Structural Similarity Index (SSIM), and Absolute Error (AE) – to assess how well the predicted probability maps match the annotations before thresholding. These metrics capture prediction fidelity in both intensity and structure. MSE and AE quantify raw pixel-wise error (lower is better), while PSNR measures signal degradation in a logarithmic scale (higher is better). SSIM accounts for human visual perception by evaluating structural and contrast similarity, which is especially valuable when preserving subtle linear patterns like fractures.</p>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e2919">Illustration of metric behavior under different segmentation scenarios: <bold>(a)</bold> No segmentation (predicts all background), <bold>(b)</bold> Full segmentation (predicts all fracture), <bold>(c)</bold> Ground truth, <bold>(d)</bold> Random segmentation, <bold>(e)</bold> Gabor filter segmentation, <bold>(f)</bold> U-Net segmentation. Values in bold show the best scores, excluding scenarios a, b and c. Image from the Ovaskainen22, KL5 dataset. Abbreviations are defined in Table <xref ref-type="table" rid="T4"/>.</p></caption>
          <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f08.jpg"/>

        </fig>

      <p id="d2e2950">The different scenarios in Fig. <xref ref-type="fig" rid="F8"/> highlight how each metric responds to specific segmentation behaviors. Predicting only background (no segmentation) yields high accuracy and specificity but zero recall, precision, and overlap-based scores, illustrating how class imbalance can inflate accuracy despite complete failure to detect fractures. Conversely, full segmentation maximises recall while collapsing specificity and precision, resulting in low Dice and Intersection over Union values. Random segmentation produces near-chance values across most metrics, with Dice, Intersection over Union, Cohen's Kappa, and receiver operating characteristic scores reflecting the lack of spatial agreement. The Gabor filter segmentation shows intermediate performance, improving overlap, precision, and specificity by capturing some fracture structure, but still suffering from fragmentation and false positives. The U-Net prediction achieves the most balanced and consistently high scores across all metrics, with strong overlap, agreement, and classification performance, closely approaching the ground truth.</p>
</sec>
<sec id="Ch1.S2.SS7">
  <label>2.7</label><title><italic>FracSim</italic>: a fracture-level similarity metric</title>
      <p id="d2e2966">Pixel-wise metrics are widely used for segmentation evaluation but have limitations when applied to thin, linear features such as fracture traces. Small differences in line thickness or slight spatial offsets can disproportionately affect precision, recall, and F1-score. For example, a correctly detected fracture predicted slightly thinner than the annotation will incur false negatives along its edges, substantially reducing recall despite successful detection.</p>
      <p id="d2e2969">To address these limitations, we developed <italic>FracSim</italic>, a domain-specific similarity metric that compares the distribution of extracted fracture segment lengths between the predicted mask and the ground truth.</p>
      <p id="d2e2975">For each prediction and label, we: <list list-type="custom"><list-item><label>1.</label>
      <p id="d2e2980">convert the probability map to a binary mask (user threshold, default: 0.1);</p></list-item><list-item><label>2.</label>
      <p id="d2e2984">skeletonise the binary masks to a one-pixel wide trace;</p></list-item><list-item><label>3.</label>
      <p id="d2e2988">remove short noisy junctions using a small neighborhood filter (to avoid counting cross-overs and thick junction blobs as segments);</p></list-item><list-item><label>4.</label>
      <p id="d2e2992">label connected skeletal segments and compute their pixel lengths;</p></list-item><list-item><label>5.</label>
      <p id="d2e2996">construct comparable histograms of segment lengths (same bin edges for prediction and ground truth); and</p></list-item><list-item><label>6.</label>
      <p id="d2e3000">compute a symmetric chi-square distance between the two histograms (Eq. <xref ref-type="disp-formula" rid="Ch1.E1"/>).</p></list-item></list></p>
      <p id="d2e3006"><disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M95" display="block"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi mathvariant="italic">χ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mi>g</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>
          where <list list-type="bullet"><list-item>
      <p id="d2e3090"><inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mrow><mml:msup><mml:mi mathvariant="italic">χ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi>h</mml:mi><mml:mo>,</mml:mo><mml:mi>g</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the symmetric chi-square distance between the two histograms,</p></list-item><list-item>
      <p id="d2e3118"><inline-formula><mml:math id="M97" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M98" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula> are the two histograms being compared,</p></list-item><list-item>
      <p id="d2e3135"><inline-formula><mml:math id="M99" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:msub><mml:mi>g</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denote the values of the <inline-formula><mml:math id="M101" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>th bin of histograms <inline-formula><mml:math id="M102" display="inline"><mml:mi>h</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M103" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula>, respectively,</p></list-item><list-item>
      <p id="d2e3181"><inline-formula><mml:math id="M104" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> is the total number of bins.</p></list-item></list></p>
      <p id="d2e3190">Lower <inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="italic">χ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> indicates closer agreement in the fracture length distribution. We compute <italic>FracSim</italic> only on patches that contain a high fracture-pixel count in the ground truth; empty or nearly empty patches are excluded because they lack a meaningful fracture-length distribution to compare, and even small prediction artifacts in these patches can otherwise produce misleading metric values.</p>
      <p id="d2e3207">Together, these metrics (Sects. <xref ref-type="sec" rid="Ch1.S2.SS6"/> and <xref ref-type="sec" rid="Ch1.S2.SS7"/>) provide a balanced framework for evaluating both hard segmentation performance and the quality of soft probabilistic outputs.</p>
</sec>
<sec id="Ch1.S2.SS8">
  <label>2.8</label><title>Generalisation experiments</title>
      <p id="d2e3222">To evaluate the generalisation capability of a single model trained across diverse geological settings, we compared a multi-site model (trained on all datasets combined, M_all) against individual models trained separately on each dataset (M_ovas, M_sams, and M_matt). All models employed an identical architecture and training configuration, with no dataset-specific hyperparameter tuning conducted. Each dataset-specific model was evaluated only on its corresponding test set, while M_all was tested independently on each dataset. This experiment aims to assess whether a generalist model can match or exceed the performance of models trained under dataset-specific conditions, offering insights into the feasibility of cross-domain fracture segmentation.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Results</title>
      <p id="d2e3234">To assess performance, we evaluated traditional computer-vision filters and deep learning (DL) models on the held-out test set using the image-quality, segmentation, and similarity metrics described earlier. The following sections present qualitative and quantitative results.</p>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Traditional Computer Vision–Based Algorithms</title>
      <p id="d2e3244">The optimal hyperparameters and thresholds that produced the best results, identified through grid search and manual visual inspection, are listed in Table <xref ref-type="table" rid="TD1"/>.</p>

      <fig id="F9" specific-use="star"><label>Figure 9</label><caption><p id="d2e3251">Radar chart summarising the performance of the classical filters and the deep learning models (U-Net, SegFormer) across all evaluation metrics. All metrics originally lie between 0 and 1, except PSNR<sup>⊙</sup>  and FracSim<sup>⊗</sup>. Metrics for which lower values indicate better performance (AE<sup>⊖</sup>, MSE<sup>⊖</sup>, Loss<sup>⊖</sup> and FracSim<sup>⊗</sup>) were flipped by computing (1 – value) so that the chart consistently displays better performance toward the outer radius. FracSim<sup>⊗</sup> was calculated on the modified test set. Abbreviations are defined in Table <xref ref-type="table" rid="T4"/>.</p></caption>
          <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f09.png"/>

        </fig>

<sec id="Ch1.S3.SS1.SSS1">
  <label>3.1.1</label><title>Quantitative Results</title>
      <p id="d2e3333">For completeness, the full numerical results from both the grid-searched settings are provided in Table <xref ref-type="table" rid="TE1"/>.  The radar chart in Fig. <xref ref-type="fig" rid="F9"/> summarises how the traditional filters perform across image quality, segmentation, and similarity metrics. Overall, the filters cluster near the centre of the plot, indicating limited fracture-detection capability across metrics. Canny, Sobel, Sato, and Phase Congruency exhibit similar profiles, with modest accuracy, precision, F1, and IoU, and only small variations in recall, specificity, and ROC. For the structural similarity metric, they achieve an SSIM value of zero, indicating no structural similarity. In contrast, the error-based measures (MSE, AE, and loss) remain low, which is favorable.  Gabor is the only method that diverges sharply from this pattern: it attains perfect recall but extremely low precision, yielding a highly unbalanced shape on the radar plot. Because it labels nearly all pixels as the fracture class, the remaining metrics collapse to very low values.</p>

      <fig id="F10" specific-use="star"><label>Figure 10</label><caption><p id="d2e3342">Comparison of traditional filters applied to four representative orthophotographs, using parameters selected by grid search. Each row shows an original orthophotograph (<bold>a</bold>, <bold>g</bold>, <bold>m</bold>, <bold>s</bold>) alongside results from Phase Congruency (<bold>b</bold>, <bold>h</bold>, <bold>n</bold>, <bold>t</bold>), Sobel (<bold>c</bold>, <bold>i</bold>, <bold>o</bold>, <bold>u</bold>), Gabor (<bold>d</bold>, <bold>j</bold>, <bold>p</bold>, <bold>v</bold>), Sato (<bold>e</bold>, <bold>k</bold>, <bold>q</bold>, <bold>w</bold>), and Canny (<bold>f,</bold> <bold>l</bold>, <bold>r</bold>, <bold>x</bold>) filters.</p></caption>
            <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f10.jpg"/>

          </fig>

</sec>
<sec id="Ch1.S3.SS1.SSS2">
  <label>3.1.2</label><title>Qualitative Results</title>
      <p id="d2e3436">Using grid-searched parameters across all test sites, the classical filters produced partially useful but generally sparse outputs (Fig. <xref ref-type="fig" rid="F10"/>). For example, in the Ovaskainen22 test patch (Fig. <xref ref-type="fig" rid="F10"/>a–f), Phase Congruency (Fig. <xref ref-type="fig" rid="F10"/>b) detected several fracture segments but introduced substantial noise, while Sato (Fig. <xref ref-type="fig" rid="F10"/>e) captured only the most prominent ridges. In the Samsu19 patch (Fig. <xref ref-type="fig" rid="F10"/>m–x), all filters struggled with the coarser resolution and sedimentary texture. Phase Congruency and Canny often highlighted many true fracture segments, but their responses included substantial noise and many thin lines. Sobel and Sato tended to be very sparse, picking up only the strongest edges or ridge cores, while Gabor largely failed to isolate fractures and instead responded to texture, producing noisy, non-fracture patterns. In short, the grid search showed that some filters can detect fracture signals, but universal parameter sets are not optimal for every site and yield noisy or incomplete maps.</p>

      <fig id="F11" specific-use="star"><label>Figure 11</label><caption><p id="d2e3451">Comparison of traditional filters applied to four representative orthophotographs, using parameters selected manually for each site. Each row shows an original orthophotograph (<bold>a</bold>, <bold>g</bold>, <bold>m</bold>, <bold>s</bold>) alongside results from Phase Congruency (<bold>b</bold>, <bold>h</bold>, <bold>n</bold>, <bold>t)</bold>, Sobel (<bold>c</bold>, <bold>i</bold>, <bold>o</bold>, <bold>u</bold>), Gabor (<bold>d</bold>, <bold>j</bold>, <bold>p</bold>, <bold>v</bold>), Sato (<bold>e</bold>, <bold>k</bold>, <bold>q</bold>, <bold>w</bold>), and Canny (<bold>f</bold>, <bold>l</bold>, <bold>r</bold>, <bold>x</bold>) filters.</p></caption>
            <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f11.jpg"/>

          </fig>

      <p id="d2e3536">Using manually tuned parameters on each test site separately, some filters were able to highlight fracture segments more clearly (Fig. <xref ref-type="fig" rid="F11"/>). Sobel and Canny captured more pronounced edges along major traces, while Sato produced thicker and more continuous lines. However, the outputs also included numerous spurious detections of non-fracture features.</p>
      <p id="d2e3542">While manually tuned parameters can produce visually plausible outputs on individual test sites, this performance does not generalise well to other locations, or even to different regions within the same image. Traditional filters are sensitive to local contrast, scale, and texture, requiring site-specific adjustments to capture relevant features. These tuned parameters, although effective in isolated cases, often fail on heterogeneous datasets.</p>
      <p id="d2e3545">These limitations expose a core issue: fixed-rule and parameter-tuned traditional filters lack the flexibility to handle complex, real-world geological variability. They motivate deep learning approaches that do not rely on hand-crafted features or globally fixed parameters. Instead, they learn hierarchical representations directly from the data, enabling better adaptation to diverse fracture patterns and geological contexts. Deep networks can, in principle, generalise beyond specific sites by capturing shared structures across datasets.</p>

      <fig id="F12" specific-use="star"><label>Figure 12</label><caption><p id="d2e3550">Training and validation loss curves for U-Net and SegFormer (range: [<inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>]).</p></caption>
            <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f12.png"/>

          </fig>

</sec>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Deep Learning Models</title>
<sec id="Ch1.S3.SS2.SSS1">
  <label>3.2.1</label><title>Training Dynamics</title>
      <p id="d2e3587">Model and hyperparameter selection was performed via cross-validation using the training and validation subsets. Figure <xref ref-type="fig" rid="F12"/> shows a representative training run for both architectures using the fixed hyperparameters described in Sect. 2.5 and a single random seed (42), ensuring that weight initialisation and other stochastic processes are reproducible across runs. The training curves illustrate the model learning process on the fracture datasets, showing how the segmentation error changes as the models learn to identify fracture patterns from the annotated RGB <inline-formula><mml:math id="M114" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> DEM patches over successive epochs.  The U-Net exhibits a smooth decrease in training loss and a validation curve that stabilises around epoch 43. The gap between the two curves remains small, with only mild overfitting toward the end of training. The checkpoint with the lowest validation loss was used for evaluation. SegFormer follows a similar downward trend but with higher loss values and more fluctuation, particularly during the first half of training. Its slower convergence suggests that the model adapts less effectively to this dataset than the U-Net, or alternatively, that it requires additional training data and longer training to achieve a comparable fit.</p>
</sec>
<sec id="Ch1.S3.SS2.SSS2">
  <label>3.2.2</label><title>Quantitative Results</title>
      <p id="d2e3607">As shown in the spider diagram (Fig. <xref ref-type="fig" rid="F9"/>) and Table <xref ref-type="table" rid="TE1"/>, the U-Net model achieved a mean F1 score of 0.48 and IoU of 0.31, substantially higher than any traditional baseline (F1 <inline-formula><mml:math id="M115" display="inline"><mml:mo>&lt;</mml:mo></mml:math></inline-formula> 0.29, IoU <inline-formula><mml:math id="M116" display="inline"><mml:mo>&lt;</mml:mo></mml:math></inline-formula> 0.17). Precision reached 0.50 (half of the pixels predicted as fractures were true positives), while recall remained moderate (0.45), indicating missed fracture pixels. SSIM (0.49) and PSNR (14.7 <inline-formula><mml:math id="M117" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">dB</mml:mi></mml:mrow></mml:math></inline-formula>) confirm that the reconstructed fracture masks deviate notably from the ground truth in terms of image similarity, yet the segmentation metrics demonstrate decent detection of fracture structures.</p>
      <p id="d2e3636">The SegFormer model was trained using the same data splits and evaluation protocol as the U-Net. While SegFormer produced competitive results, its F1 (0.44) and IoU (0.28) were consistently lower than those of the U-Net. Standard deviations across runs were similarly low, indicating stable but suboptimal convergence. Although the U-Net and SegFormer models clearly outperform filter-based methods, their absolute performance remains well below standard deep learning studies (F1 <inline-formula><mml:math id="M118" display="inline"><mml:mo>&gt;</mml:mo></mml:math></inline-formula> 0.8, IoU <inline-formula><mml:math id="M119" display="inline"><mml:mo>&gt;</mml:mo></mml:math></inline-formula> 0.6) <xref ref-type="bibr" rid="bib1.bibx24 bib1.bibx32 bib1.bibx60" id="paren.82"/>. This emphasises the challenging nature of fracture segmentation as a task and the relatively limited training data currently available.</p>
      <p id="d2e3656">Notably, the DL models (U-Net and SegFormer) achieve substantially lower FracSim (better agreement of length distributions) than classical filters. Thus DL predictions not only overlap ground truth spatially (IoU, F1) but also better reproduce fracture-segment length statistics.</p>

      <fig id="F13" specific-use="star"><label>Figure 13</label><caption><p id="d2e3662">Deep-learning fracture-trace predictions for four representative orthophotographs, one per row. Each row shows the original orthophotograph (<bold>a</bold>, <bold>d</bold>, <bold>g</bold>, <bold>j</bold>) alongside the corresponding U-Net (<bold>b</bold>, <bold>e</bold>, <bold>h</bold>, <bold>k</bold>) and SegFormer (<bold>c</bold>, <bold>f</bold>, <bold>i</bold>, <bold>l</bold>) predictions.</p></caption>
            <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f13.jpg"/>

          </fig>

</sec>
<sec id="Ch1.S3.SS2.SSS3">
  <label>3.2.3</label><title>Qualitative Results</title>
      <p id="d2e3717">Example outputs are shown in Fig. <xref ref-type="fig" rid="F13"/>. Across the different datasets, the U-Net CNN consistently produced fracture maps that were smoother, more continuous, and closer to the ground-truth annotations than those from traditional filters. The model often reconnected segments that filters left broken, yielding fracture networks that were both cleaner and more interpretable. These improvements were observed even under varying lithologies and illumination conditions, consistent with the CNN's ability to generalise across a wide range of datasets. Remaining errors included omission of faint fractures and occasional short false positives in textured or shadowed areas. These qualitative results reinforce the quantitative findings: deep learning methods produce more reliable fracture maps than traditional filters, with notable improvements in continuity and interpretability across diverse geological settings.</p>

<table-wrap id="T5" specific-use="star"><label>Table 5</label><caption><p id="d2e3725">Comparison between multi-site model (M_all) and dataset-specific models (M_ovas, M_sams, M_matt). Bold values indicate the better of the two models (M_all vs. the dataset-specific model) for each architecture, sub-dataset and metric; tied values are not highlighted.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="17">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:colspec colnum="11" colname="col11" align="right"/>
     <oasis:colspec colnum="12" colname="col12" align="right"/>
     <oasis:colspec colnum="13" colname="col13" align="right"/>
     <oasis:colspec colnum="14" colname="col14" align="right"/>
     <oasis:colspec colnum="15" colname="col15" align="right"/>
     <oasis:colspec colnum="16" colname="col16" align="right"/>
     <oasis:colspec colnum="17" colname="col17" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Arch</oasis:entry>
         <oasis:entry colname="col2">Sub-dataset</oasis:entry>
         <oasis:entry colname="col3">Model</oasis:entry>
         <oasis:entry colname="col4">AE↓</oasis:entry>
         <oasis:entry colname="col5">MSE↓</oasis:entry>
         <oasis:entry colname="col6">SSIM↑</oasis:entry>
         <oasis:entry colname="col7">PSNR↑</oasis:entry>
         <oasis:entry colname="col8">Acc↑</oasis:entry>
         <oasis:entry colname="col9">Prec↑</oasis:entry>
         <oasis:entry colname="col10">F1↑</oasis:entry>
         <oasis:entry colname="col11">Rec↑</oasis:entry>
         <oasis:entry colname="col12">Spec↑</oasis:entry>
         <oasis:entry colname="col13">ROC↑</oasis:entry>
         <oasis:entry colname="col14">IoU↑</oasis:entry>
         <oasis:entry colname="col15">CK↑</oasis:entry>
         <oasis:entry colname="col16">FracSim<sup>∗</sup>↓</oasis:entry>
         <oasis:entry colname="col17">Loss↓</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">U-Net</oasis:entry>
         <oasis:entry colname="col2">D_ovas</oasis:entry>
         <oasis:entry colname="col3">M_all</oasis:entry>
         <oasis:entry colname="col4"><bold>0.05</bold></oasis:entry>
         <oasis:entry colname="col5">0.02</oasis:entry>
         <oasis:entry colname="col6"><bold>0.64</bold></oasis:entry>
         <oasis:entry colname="col7"><bold>16.51</bold></oasis:entry>
         <oasis:entry colname="col8"><bold>0.93</bold></oasis:entry>
         <oasis:entry colname="col9"><bold>0.77</bold></oasis:entry>
         <oasis:entry colname="col10"><bold>0.73</bold></oasis:entry>
         <oasis:entry colname="col11">0.68</oasis:entry>
         <oasis:entry colname="col12"><bold>0.97</bold></oasis:entry>
         <oasis:entry colname="col13">0.83</oasis:entry>
         <oasis:entry colname="col14"><bold>0.57</bold></oasis:entry>
         <oasis:entry colname="col15"><bold>0.69</bold></oasis:entry>
         <oasis:entry colname="col16"><bold>2.99</bold></oasis:entry>
         <oasis:entry colname="col17">0.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry rowsep="1" colname="col2"/>
         <oasis:entry rowsep="1" colname="col3">M_ovas</oasis:entry>
         <oasis:entry rowsep="1" colname="col4">0.06</oasis:entry>
         <oasis:entry rowsep="1" colname="col5">0.02</oasis:entry>
         <oasis:entry rowsep="1" colname="col6">0.60</oasis:entry>
         <oasis:entry rowsep="1" colname="col7">16.03</oasis:entry>
         <oasis:entry rowsep="1" colname="col8">0.91</oasis:entry>
         <oasis:entry rowsep="1" colname="col9">0.63</oasis:entry>
         <oasis:entry rowsep="1" colname="col10">0.67</oasis:entry>
         <oasis:entry rowsep="1" colname="col11"><bold>0.72</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col12">0.93</oasis:entry>
         <oasis:entry rowsep="1" colname="col13">0.83</oasis:entry>
         <oasis:entry rowsep="1" colname="col14">0.51</oasis:entry>
         <oasis:entry rowsep="1" colname="col15">0.62</oasis:entry>
         <oasis:entry rowsep="1" colname="col16">3.04</oasis:entry>
         <oasis:entry rowsep="1" colname="col17">0.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">D_sams</oasis:entry>
         <oasis:entry colname="col3">M_all</oasis:entry>
         <oasis:entry colname="col4">0.06</oasis:entry>
         <oasis:entry colname="col5">0.03</oasis:entry>
         <oasis:entry colname="col6"><bold>0.58</bold></oasis:entry>
         <oasis:entry colname="col7">15.48</oasis:entry>
         <oasis:entry colname="col8">0.86</oasis:entry>
         <oasis:entry colname="col9">0.32</oasis:entry>
         <oasis:entry colname="col10"><bold>0.34</bold></oasis:entry>
         <oasis:entry colname="col11"><bold>0.38</bold></oasis:entry>
         <oasis:entry colname="col12">0.92</oasis:entry>
         <oasis:entry colname="col13"><bold>0.65</bold></oasis:entry>
         <oasis:entry colname="col14"><bold>0.21</bold></oasis:entry>
         <oasis:entry colname="col15"><bold>0.27</bold></oasis:entry>
         <oasis:entry colname="col16">7.54</oasis:entry>
         <oasis:entry colname="col17">0.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry rowsep="1" colname="col2"/>
         <oasis:entry rowsep="1" colname="col3">M_sams</oasis:entry>
         <oasis:entry rowsep="1" colname="col4"><bold>0.05</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col5">0.03</oasis:entry>
         <oasis:entry rowsep="1" colname="col6">0.57</oasis:entry>
         <oasis:entry rowsep="1" colname="col7"><bold>15.99</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col8"><bold>0.91</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col9"><bold>0.58</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col10">0.11</oasis:entry>
         <oasis:entry rowsep="1" colname="col11">0.06</oasis:entry>
         <oasis:entry rowsep="1" colname="col12"><bold>1.00</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col13">0.53</oasis:entry>
         <oasis:entry rowsep="1" colname="col14">0.06</oasis:entry>
         <oasis:entry rowsep="1" colname="col15">0.09</oasis:entry>
         <oasis:entry rowsep="1" colname="col16"><bold>3.26</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col17">0.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">D_matt</oasis:entry>
         <oasis:entry colname="col3">M_all</oasis:entry>
         <oasis:entry colname="col4">0.08</oasis:entry>
         <oasis:entry colname="col5">0.04</oasis:entry>
         <oasis:entry colname="col6">0.57</oasis:entry>
         <oasis:entry colname="col7">14.27</oasis:entry>
         <oasis:entry colname="col8">0.80</oasis:entry>
         <oasis:entry colname="col9">0.45</oasis:entry>
         <oasis:entry colname="col10"><bold>0.39</bold></oasis:entry>
         <oasis:entry colname="col11"><bold>0.34</bold></oasis:entry>
         <oasis:entry colname="col12">0.90</oasis:entry>
         <oasis:entry colname="col13"><bold>0.62</bold></oasis:entry>
         <oasis:entry colname="col14"><bold>0.24</bold></oasis:entry>
         <oasis:entry colname="col15"><bold>0.27</bold></oasis:entry>
         <oasis:entry colname="col16"><bold>4.01</bold></oasis:entry>
         <oasis:entry colname="col17">0.02</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">M_matt</oasis:entry>
         <oasis:entry colname="col4"><bold>0.06</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>0.02</bold></oasis:entry>
         <oasis:entry colname="col6"><bold>0.61</bold></oasis:entry>
         <oasis:entry colname="col7"><bold>16.53</bold></oasis:entry>
         <oasis:entry colname="col8"><bold>0.81</bold></oasis:entry>
         <oasis:entry colname="col9"><bold>0.47</bold></oasis:entry>
         <oasis:entry colname="col10">0.24</oasis:entry>
         <oasis:entry colname="col11">0.17</oasis:entry>
         <oasis:entry colname="col12"><bold>0.96</bold></oasis:entry>
         <oasis:entry colname="col13">0.56</oasis:entry>
         <oasis:entry colname="col14">0.14</oasis:entry>
         <oasis:entry colname="col15">0.16</oasis:entry>
         <oasis:entry colname="col16">4.78</oasis:entry>
         <oasis:entry colname="col17"><bold>0.01</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">SegFormer</oasis:entry>
         <oasis:entry colname="col2">D_ovas</oasis:entry>
         <oasis:entry colname="col3">M_all</oasis:entry>
         <oasis:entry colname="col4">0.06</oasis:entry>
         <oasis:entry colname="col5">0.02</oasis:entry>
         <oasis:entry colname="col6">0.53</oasis:entry>
         <oasis:entry colname="col7"><bold>16.34</bold></oasis:entry>
         <oasis:entry colname="col8">0.93</oasis:entry>
         <oasis:entry colname="col9">0.77</oasis:entry>
         <oasis:entry colname="col10">0.70</oasis:entry>
         <oasis:entry colname="col11"><bold>0.64</bold></oasis:entry>
         <oasis:entry colname="col12">0.97</oasis:entry>
         <oasis:entry colname="col13"><bold>0.80</bold></oasis:entry>
         <oasis:entry colname="col14">0.54</oasis:entry>
         <oasis:entry colname="col15">0.66</oasis:entry>
         <oasis:entry colname="col16"><bold>2.94</bold></oasis:entry>
         <oasis:entry colname="col17">0.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry rowsep="1" colname="col2"/>
         <oasis:entry rowsep="1" colname="col3">M_ovas</oasis:entry>
         <oasis:entry rowsep="1" colname="col4"><bold>0.05</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col5">0.02</oasis:entry>
         <oasis:entry rowsep="1" colname="col6"><bold>0.58</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col7">16.12</oasis:entry>
         <oasis:entry rowsep="1" colname="col8">0.93</oasis:entry>
         <oasis:entry rowsep="1" colname="col9"><bold>0.81</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col10">0.70</oasis:entry>
         <oasis:entry rowsep="1" colname="col11">0.61</oasis:entry>
         <oasis:entry rowsep="1" colname="col12"><bold>0.98</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col13">0.79</oasis:entry>
         <oasis:entry rowsep="1" colname="col14">0.54</oasis:entry>
         <oasis:entry rowsep="1" colname="col15">0.66</oasis:entry>
         <oasis:entry rowsep="1" colname="col16">3.16</oasis:entry>
         <oasis:entry rowsep="1" colname="col17">0.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">D_sams</oasis:entry>
         <oasis:entry colname="col3">M_all</oasis:entry>
         <oasis:entry colname="col4">0.06</oasis:entry>
         <oasis:entry colname="col5">0.03</oasis:entry>
         <oasis:entry colname="col6"><bold>0.39</bold></oasis:entry>
         <oasis:entry colname="col7"><bold>15.96</bold></oasis:entry>
         <oasis:entry colname="col8">0.85</oasis:entry>
         <oasis:entry colname="col9"><bold>0.29</bold></oasis:entry>
         <oasis:entry colname="col10"><bold>0.33</bold></oasis:entry>
         <oasis:entry colname="col11"><bold>0.39</bold></oasis:entry>
         <oasis:entry colname="col12">0.90</oasis:entry>
         <oasis:entry colname="col13"><bold>0.65</bold></oasis:entry>
         <oasis:entry colname="col14"><bold>0.20</bold></oasis:entry>
         <oasis:entry colname="col15"><bold>0.25</bold></oasis:entry>
         <oasis:entry colname="col16">7.85</oasis:entry>
         <oasis:entry colname="col17">0.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry rowsep="1" colname="col2"/>
         <oasis:entry rowsep="1" colname="col3">M_sams</oasis:entry>
         <oasis:entry rowsep="1" colname="col4"><bold>0.05</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col5">0.03</oasis:entry>
         <oasis:entry rowsep="1" colname="col6">0.35</oasis:entry>
         <oasis:entry rowsep="1" colname="col7">15.83</oasis:entry>
         <oasis:entry rowsep="1" colname="col8"><bold>0.91</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col9">0.00</oasis:entry>
         <oasis:entry rowsep="1" colname="col10">0.00</oasis:entry>
         <oasis:entry rowsep="1" colname="col11">0.00</oasis:entry>
         <oasis:entry rowsep="1" colname="col12"><bold>1.00</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col13">0.50</oasis:entry>
         <oasis:entry rowsep="1" colname="col14">0.00</oasis:entry>
         <oasis:entry rowsep="1" colname="col15">0.00</oasis:entry>
         <oasis:entry rowsep="1" colname="col16"><bold>1.65</bold></oasis:entry>
         <oasis:entry rowsep="1" colname="col17">0.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">D_matt</oasis:entry>
         <oasis:entry colname="col3">M_all</oasis:entry>
         <oasis:entry colname="col4">0.08</oasis:entry>
         <oasis:entry colname="col5">0.03</oasis:entry>
         <oasis:entry colname="col6">0.38</oasis:entry>
         <oasis:entry colname="col7">15.37</oasis:entry>
         <oasis:entry colname="col8">0.81</oasis:entry>
         <oasis:entry colname="col9">0.48</oasis:entry>
         <oasis:entry colname="col10"><bold>0.41</bold></oasis:entry>
         <oasis:entry colname="col11"><bold>0.35</bold></oasis:entry>
         <oasis:entry colname="col12">0.91</oasis:entry>
         <oasis:entry colname="col13"><bold>0.63</bold></oasis:entry>
         <oasis:entry colname="col14"><bold>0.25</bold></oasis:entry>
         <oasis:entry colname="col15"><bold>0.29</bold></oasis:entry>
         <oasis:entry colname="col16"><bold>4.47</bold></oasis:entry>
         <oasis:entry colname="col17">0.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">M_matt</oasis:entry>
         <oasis:entry colname="col4"><bold>0.06</bold></oasis:entry>
         <oasis:entry colname="col5">0.03</oasis:entry>
         <oasis:entry colname="col6"><bold>0.67</bold></oasis:entry>
         <oasis:entry colname="col7"><bold>16.01</bold></oasis:entry>
         <oasis:entry colname="col8">0.81</oasis:entry>
         <oasis:entry colname="col9"><bold>0.51</bold></oasis:entry>
         <oasis:entry colname="col10">0.06</oasis:entry>
         <oasis:entry colname="col11">0.03</oasis:entry>
         <oasis:entry colname="col12"><bold>0.99</bold></oasis:entry>
         <oasis:entry colname="col13">0.51</oasis:entry>
         <oasis:entry colname="col14">0.03</oasis:entry>
         <oasis:entry colname="col15">0.04</oasis:entry>
         <oasis:entry colname="col16">5.55</oasis:entry>
         <oasis:entry colname="col17">0.01</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d2e3728"><sup>∗</sup> run only on modified test set</p></table-wrap-foot></table-wrap>

      <p id="d2e4579">Comparing the two deep learning models, SegFormer generated continuous predictions (Fig. <xref ref-type="fig" rid="F13"/>) and sometimes captured long-range structures more effectively than U-Net. However, it introduced more false positives in complex textures, occasionally produced random hot spots, and overall yielded less confident and less precise outputs than U-Net across the test sites.</p>
</sec>
<sec id="Ch1.S3.SS2.SSS4">
  <label>3.2.4</label><title>General vs. Dataset-Specific Models</title>
      <p id="d2e4592">Table <xref ref-type="table" rid="T5"/> shows that the combined model (M_all) outperforms dataset-specific models, particularly in F1 and IoU.</p>
      <p id="d2e4597">On the D_ovas dataset, M_all and M_ovas exhibit comparable performance for both architectures. With U-Net, M_all achieves an F1-score of 0.73 and an IoU of 0.57, close to M_ovas (F1 <inline-formula><mml:math id="M122" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.67, IoU <inline-formula><mml:math id="M123" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.51); with SegFormer both models reach F1 <inline-formula><mml:math id="M124" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.70 and IoU <inline-formula><mml:math id="M125" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.54. This indicates that training on multiple datasets does not degrade performance on Ovaskainen22, where fractures are relatively clear and annotations are well defined.</p>
      <p id="d2e4628">The advantages of M_all become more pronounced on the more challenging sites. On D_sams, the site-specific model (M_sams) performs poorly, achieving very low scores (F1 <inline-formula><mml:math id="M126" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.11, IoU <inline-formula><mml:math id="M127" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.06 for U-Net; and zero for SegFormer) despite high specificity, indicating weak fracture identification relative to the ground truth. In contrast, M_all substantially improves performance, reaching F1-scores of 0.34/0.33 and IoU values of 0.21/0.20. This represents more than a twofold increase in overlap metrics, suggesting that the greater variability in the combined training set enables better generalisation to the more complex fracture patterns in the Samsu19 dataset.</p>
      <p id="d2e4645">A similar trend is observed for D_matt, where M_matt attains only F1 <inline-formula><mml:math id="M128" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.24 and IoU <inline-formula><mml:math id="M129" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.14 with U-Net (F1 <inline-formula><mml:math id="M130" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.06, IoU <inline-formula><mml:math id="M131" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.03 with SegFormer). M_all improves performance to F1 <inline-formula><mml:math id="M132" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.39/0.41 and IoU <inline-formula><mml:math id="M133" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.24/0.25. This near-doubling of overlap metrics demonstrates that M_all is considerably better suited to handling the lithological and textural variability of the Matteo21 dataset.</p>
      <p id="d2e4692">Overall, these results indicate that while dataset-specific models can capture local patterns, they are constrained by limited training data and prone to overfitting, resulting in reduced robustness.</p>

      <fig id="F14" specific-use="star"><label>Figure 14</label><caption><p id="d2e4697">Error case analysis of U-Net predictions. Top row: Orthophotographs <bold>(a–c)</bold> with water and large shadows, <bold>(d)</bold> with a black-and-white scale panel, <bold>(e)</bold> containing missing pixel data, <bold>(f)</bold> showing no visible fractures, and <bold>(g–i)</bold> displaying fractures of varying thickness, orientation, and illumination. Middle row: Ground-truth annotations. Some overrepresent shadows due to preprocessing <bold>(a)</bold>, contain labelling errors <bold>(c)</bold>, have over-simplified traces <bold>(h)</bold>, or show omissions <bold>(i)</bold>. Bottom row: U-Net probability maps. Spurious responses appear in <bold>(a–e)</bold> due to input artifacts or preprocessing issues, while the model captures more realistic fracture geometry than the annotations in <bold>(f–i)</bold>.</p></caption>
            <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f14.jpg"/>

          </fig>

      <fig id="F15" specific-use="star"><label>Figure 15</label><caption><p id="d2e4742">Two 10 <inline-formula><mml:math id="M134" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M135" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 10 <inline-formula><mml:math id="M136" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> orthophotographs <xref ref-type="bibr" rid="bib1.bibx63 bib1.bibx62" id="paren.83"/> <bold>(a, b)</bold> with corresponding fracture traces digitised manually <xref ref-type="bibr" rid="bib1.bibx63" id="paren.84"/> <bold>(c, d)</bold>, semi-automatically using the assisted method of <xref ref-type="bibr" rid="bib1.bibx63" id="paren.85"/> <bold>(e, f)</bold>, automatically with the U-Net model <bold>(g, h)</bold> and with SegFormer model <bold>(i, j)</bold>.</p></caption>
            <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f15.jpg"/>

          </fig>

</sec>
<sec id="Ch1.S3.SS2.SSS5">
  <label>3.2.5</label><title>Error Case Analysis</title>
      <p id="d2e4808">Despite its stronger overall performance, the U-Net still produced errors (Fig. <xref ref-type="fig" rid="F14"/>). These fall into two categories: (1) cases where the model was highly confident yet disagreed with the annotations, and (2) cases where the model was uncertain, assigning low probabilities and yielding fragmented or unstable predictions under challenging visual conditions.</p>
      <p id="d2e4813"><italic>High-confidence errors</italic>. In several cases, the CNN produced confident predictions that did not match the annotations. A common source was annotation misalignment, where fractures in the ground truth were traced coarsely or offset from the true pixel locations, e.g., the over-simplified traces and omissions visible in Fig. <xref ref-type="fig" rid="F14"/>h and i. In these cases, the CNN model is arguably more accurate than the ground truth. This misalignment was particularly evident in the Samsu19 dataset, where manual traces did not precisely follow pixel-level fracture geometry.</p>
      <p id="d2e4820">Another high-confidence error type was input data artifacts, especially in Matteo21, where corrupted pixel values (NaNs, which PyTorch converts to 0, rendering them black in RGB) in the RGB channels led to localised false positives or spurious losses unrelated to actual geological structures, as illustrated by the missing pixel data in Fig. <xref ref-type="fig" rid="F14"/>e and the resulting spurious responses in the corresponding probability map.</p>
      <p id="d2e4825"><italic>Low-confidence errors</italic>. Other errors occurred when the model was less certain and produced scattered or incomplete predictions. Confounding visual features such as vegetation, weathering textures, or shadows were occasionally misclassified as fractures, but with lower confidence values in the probability maps – as seen in the water- and shadow-affected orthophotographs in Fig. <xref ref-type="fig" rid="F14"/>a–c. Additionally, dataset outliers and preprocessing failures (e.g., unusual lithologies, lighting conditions, mislabelled patches, or the black-and-white scale panel in Fig. <xref ref-type="fig" rid="F14"/>d) caused the model to generate unstable or inconsistent outputs, while Fig. <xref ref-type="fig" rid="F14"/>f, which contains no visible fractures, illustrates how the absence of true structure was nonetheless handled by the model. These low-confidence cases reflected the difficulty of generalising across heterogeneous field conditions not fully represented in the training data.</p>
      <p id="d2e4837">Taken together, this analysis suggests that many errors stemmed not from the CNN architecture itself but from data limitations: annotation quality, input artifacts, and domain heterogeneity. Probability maps proved useful here: they allowed us to distinguish between errors where the model was confident but the labels were unreliable, and those where the model itself was uncertain – as summarised across the panels of Fig. <xref ref-type="fig" rid="F14"/>, including the varying fracture thickness, orientation, and illumination shown in Fig. <xref ref-type="fig" rid="F14"/>g–i.</p>
</sec>
<sec id="Ch1.S3.SS2.SSS6">
  <label>3.2.6</label><title>Time Required</title>
      <p id="d2e4852">We compared the time required for fracture mapping across manual, assisted, and automatic approaches (Fig. <xref ref-type="fig" rid="F15"/>). Timing data for manual and assisted interpretation are taken from <xref ref-type="bibr" rid="bib1.bibx63" id="text.86"/>, where mapping fractures in a 10 <inline-formula><mml:math id="M137" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M138" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 10 <inline-formula><mml:math id="M139" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> area at a resolution of 1 cm per pixel took 54–57 <inline-formula><mml:math id="M140" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:math></inline-formula> manually and 35–37 <inline-formula><mml:math id="M141" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:math></inline-formula> using semi-automatic tools. In contrast, our automatic deep learning approach generated probability maps in 6 <inline-formula><mml:math id="M142" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> (on a Hugging Face Spaces free-tier instance with 2 vCPUs and 16 <inline-formula><mml:math id="M143" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">GB</mml:mi></mml:mrow></mml:math></inline-formula> RAM). While post-processing is still required to derive a fracture map (instance segmentation and vectorisation), this speed-up could substantially reduce the effort and time needed for large-scale fracture interpretation.</p>
</sec>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Discussion</title>
      <p id="d2e4926">Here we discuss key observations from the benchmarking experiments and their implications for automated fracture mapping.</p>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Model Performance</title>
      <p id="d2e4936">Traditional edge and ridge filters proved inadequate for robust fracture mapping across heterogeneous datasets (Figs. <xref ref-type="fig" rid="F10"/> and <xref ref-type="fig" rid="F11"/>, Table <xref ref-type="table" rid="TE1"/>). Outputs were highly sensitive to parameter choices, and hyperparameters optimal at one site often failed to generalise across combined sites. In practice, traditional methods remain useful for rapid visualisation, exploratory work, or small, tailored datasets, but they are ill-suited for mapping complex fracture systems needed for quantitative fracture and structural analyses.</p>
      <p id="d2e4945">Our results are consistent with previous U-Net fracture-detection studies. <xref ref-type="bibr" rid="bib1.bibx13" id="text.87"/> reported F1 scores of 0.78–0.93 on granite outcrops in Finland using U-Net, though their evaluation did not include the background class, which inflates metrics relative to our methodology. <xref ref-type="bibr" rid="bib1.bibx38" id="text.88"/> achieved a Tversky Index (similar to IoU) of 0.35–0.68 using a similar architecture but on a single lithology. Our M_all model achieves F1 <inline-formula><mml:math id="M144" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.48 and IoU <inline-formula><mml:math id="M145" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.31 across heterogeneous datasets with the background class included, suggesting that cross-site generalisation incurs a performance cost that should decrease as more training data become available.</p>
      <p id="d2e4968">The tested deep learning models outperformed the traditional filters, producing smoother and more continuous traces with substantially better overlap with annotated fractures. Nevertheless, absolute performance remained modest compared with segmentation benchmarks in other domains. This likely reflects the unusual nature of the task – selecting thin (high-aspect-ratio) pixel groupings in a strongly class-imbalanced dataset – and geological and environmental factors that alter fracture appearance or introduce confounding features. Label noise and misalignment are also likely contributors, although practical limits on data collection and manual labelling make better training data hard to acquire.</p>
      <p id="d2e4971">The transformer-based model (SegFormer) behaved differently from the CNN in our experiments (see Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/> and Fig. <xref ref-type="fig" rid="F13"/>). SegFormer's results were less robust, with spurious detections that we attribute to global-attention mechanisms over-interpreting background structure when the training signal is weak. This is consistent with known properties of transformers: they can excel when supplied with large, diverse, and clean datasets, but are more data-hungry than convolutional architectures.</p>
      <p id="d2e4979">Transformers showed some promise, but their advantages likely emerge only with substantially larger and cleaner datasets – difficult given practical limits on collecting and labelling geological fracture data. For current data scales, U-Net remains the recommended architecture.</p>
      <p id="d2e4982">Our cross-dataset experiments show that diverse training data improves performance. A general model trained on all sites consistently outperformed models trained on individual datasets, especially on overlap- and detection-sensitive metrics (F1, IoU). Exposure to varied lithologies, lighting, and fracture patterns appears to yield more transferable features and reduce overfitting to site-specific conditions. These results underscore the value of multi-site datasets for robust fracture segmentation. We caution, however, that lithology- and weathering-specific effects (e.g., grain size, surface staining, or vegetation cover characteristic of a given site) can influence both fracture appearance and model performance; users applying this approach to new settings should validate predictions against site-specific conditions rather than assuming uniform performance across lithologies.</p>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>The Need for Post-processing</title>
      <p id="d2e4993">A critical bottleneck in automated fracture mapping is post-processing, converting model outputs to polylines or other vectorised fracture instances suitable for topological analyses (e.g., assessing fracture connectivity). Pixel-wise probability maps are valuable, but only a first step toward usable fracture traces. Converting semantic masks into instance-level polylines for length, orientation, and spacing measurements requires robust, standardised post-processing pipelines (skeletonisation, connected-component analysis, cleaning, linking, and polyline extraction). Semantic segmentation models do not explicitly preserve fracture connectivity, so intersections and network topology are often poorly reconstructed even when the main fracture geometries are correctly detected. Without these steps, downstream fracture statistics remain noisy and hard to interpret.</p>
      <p id="d2e4996">Post-processing should also incorporate domain knowledge (for example, weak orientation priors) to reduce spurious short segments and improve the geological plausibility of extracted traces. Furthermore, post-processing algorithms could leverage the rich information in probabilistic model outputs and local knowledge (e.g., likely fracture orientations) to (1) identify and remove false-positive fracture detections, and (2) extrapolate detected fractures across small gaps based on their orientation, as is commonly done by human interpreters.</p>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>Deployment</title>
      <p id="d2e5007">As a first step toward practical deployment, we developed lightweight interfaces so users can apply the trained models without machine-learning expertise. A web-based application, built with Gradio <xref ref-type="bibr" rid="bib1.bibx1" id="paren.89"/> and hosted on Hugging Face Spaces (<uri>https://ayoubft-fractex2d-tuto.hf.space</uri>, last access: 25 September 2026), enables users to upload paired RGB images and DEMs to obtain deep-learning–based fracture predictions. The interface also provides access to other computer-vision filters and evaluation metrics.</p>
      <p id="d2e5016">To facilitate integration into existing geological workflows, we additionally developed a simple QGIS plugin (<uri>https://plugins.qgis.org/plugins/fraXtex/</uri>, last access: 25 September 2026) that enables inference directly within QGIS. Together, these tools show how the proposed workflow can be adopted in geoscience workflows.</p>
</sec>
<sec id="Ch1.S4.SS4">
  <label>4.4</label><title>Implications for Fracture Network Analysis</title>
      <p id="d2e5031">Beyond raw segmentation accuracy, the speed of the automated workflow has direct implications for fracture network analysis. Our timing comparison (Sect. <xref ref-type="sec" rid="Ch1.S3.SS2.SSS6"/>) shows that generating a fracture probability map takes seconds rather than the tens of minutes to hours required for manual or semi-automated interpretation of an equivalent area <xref ref-type="bibr" rid="bib1.bibx63" id="paren.90"/>. This speed-up changes what is practically feasible: instead of interpreter time limiting studies to a handful of representative outcrops, automated mapping makes it tractable to sample fracture networks over larger areas, across more outcrops, or repeatedly through time (e.g., before and after a rockfall or excavation, or across a monitoring interval), producing larger and more statistically robust datasets for connectivity, spacing, and orientation analyses. In academic settings this lowers the barrier to regional-scale fracture network studies that are currently limited by manual digitisation effort, while in industry contexts (e.g., reservoir characterisation, slope stability, or geo-energy site screening) it enables faster turnaround between data acquisition and first-pass structural interpretation. We emphasise that automated segmentation alone does not yet replace the post-processing step needed to obtain topologically consistent fracture networks (Sect. 4.2); rather, it removes the main time bottleneck upstream of that step, making fracture network analysis at scale substantially more accessible.</p>
</sec>
<sec id="Ch1.S4.SS5">
  <label>4.5</label><title>Future Work</title>
      <p id="d2e5047">Our results highlight several concrete next steps toward automated, more objective fracture mapping: improving annotation precision (multi-scale labels, consensus labelling) in training data, expanding dataset diversity by including more sites as additional public data become available, and adopting architectures and loss functions tailored to the unusual thin geometry of fractures. Complementary strategies such as ensembling, transfer learning, and self-supervised pretraining offer promising avenues to improve performance and robustness. Ensembling multiple models can reduce variance and improve prediction stability, particularly for thin and discontinuous fracture traces. Transfer learning from larger geospatial or remote sensing datasets can provide stronger low-level feature representations, enabling better generalisation when labelled fracture data are limited. Self-supervised pretraining on unlabelled imagery can further leverage abundant data to learn domain-specific texture and structure features, improving downstream segmentation accuracy while reducing dependence on extensive manual annotations.</p>
</sec>
</sec>
<sec id="Ch1.S5" sec-type="conclusions">
  <label>5</label><title>Conclusions</title>
      <p id="d2e5060">We present a harmonised benchmarking framework for fracture mapping in high-resolution outcrop imagery and use it to compare traditional image filters with deep learning methods, including a U-Net convolutional network and a transformer-based model (SegFormer). Our experiments show that deep learning models consistently outperform traditional edge and ridge filters, yielding smoother, more continuous, and qualitatively more plausible traces.  This gap shows that algorithmic improvements alone are insufficient: incomplete post-processing, variable label quality, dataset heterogeneity, and the complex information (e.g., topology) needed to identify high-aspect-ratio, typically continuous fractures are the primary barriers to reliable, fully automated fracture extraction.  Beyond these empirical results, the principal contributions are the resources we release: the curated datasets, evaluation protocol, and open-source code. We hope these resources will support further work on the challenges outlined above.</p>
</sec>

      
      </body>
    <back><app-group>

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>Dataset overviews</title>
      <p id="d2e5075">Overview maps and example tiles for each of the three datasets (Matteo21: <xref ref-type="bibr" rid="bib1.bibx37" id="altparen.91"/>; Ovaskainen22: <xref ref-type="bibr" rid="bib1.bibx39" id="altparen.92"/>; Samsu19: <xref ref-type="bibr" rid="bib1.bibx54" id="altparen.93"/>) are provided in Figs. <xref ref-type="fig" rid="FA1"/>, <xref ref-type="fig" rid="FA2"/>, and <xref ref-type="fig" rid="FA3"/>, complementing the metadata in Table <xref ref-type="table" rid="T2"/>. The satellite basemaps in Figs. <xref ref-type="fig" rid="FA1"/>ii, <xref ref-type="fig" rid="FA2"/>b and <xref ref-type="fig" rid="FA3"/>b are Esri World Imagery <xref ref-type="bibr" rid="bib1.bibx18" id="paren.94"/>.</p>

      <fig id="FA1"><label>Figure A1</label><caption><p id="d2e5107">Overview of the Matteo21 dataset <xref ref-type="bibr" rid="bib1.bibx37" id="paren.95"/>. (i) Location map of the Granite Dells, Arizona, USA. (ii) Zoom in to sites A, B and C; basemap: Esri World Imagery <xref ref-type="bibr" rid="bib1.bibx18" id="paren.96"/>. <bold>(A)</bold> Site A (training <inline-formula><mml:math id="M146" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> validation site). <bold>(B)</bold> Site B (training <inline-formula><mml:math id="M147" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> validation site). <bold>(C)</bold> Site C (test site). Orthophotographs in <bold>(A)</bold>–<bold>(C)</bold> from <xref ref-type="bibr" rid="bib1.bibx37" id="text.97"/>.</p></caption>
        
        <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f16.jpg"/>

      </fig>

      <fig id="FA2" specific-use="star"><label>Figure A2</label><caption><p id="d2e5159">Overview of the Ovaskainen22 dataset <xref ref-type="bibr" rid="bib1.bibx39" id="paren.98"/>. <bold>(a)</bold> Location map of the Wiborg Rapakivi Granite Batholith, southeastern Finland. <bold>(b)</bold> Zoom in to the Loviisa region showing the islands of Orrengrund, Kasaberget, and Kampuslandet; basemap: Esri World Imagery <xref ref-type="bibr" rid="bib1.bibx18" id="paren.99"/>. <bold>(c)</bold> Orrengrund (training site) orthophotograph. <bold>(d)</bold> Kasaberget (validation site) orthophotograph. <bold>(e)</bold> Kampuslandet (test site) orthophotograph. Orthophotographs in <bold>(c)</bold>–<bold>(e)</bold> from <xref ref-type="bibr" rid="bib1.bibx39" id="text.100"/>.</p></caption>
        <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f17.jpg"/>

      </fig>

      <fig id="FA3" specific-use="star"><label>Figure A3</label><caption><p id="d2e5202">Overview of the Samsu19 dataset <xref ref-type="bibr" rid="bib1.bibx54" id="paren.101"/>. <bold>(a)</bold> Location map of the Strzelecki Group, southeastern Australia. <bold>(b)</bold> Zoom in to the Harmers Haven area showing Eagles Nest and Harmers Haven North; basemap: Esri World Imagery <xref ref-type="bibr" rid="bib1.bibx18" id="paren.102"/>. <bold>(c)</bold> Eagles Nest (training site) orthophotograph. <bold>(d)</bold> Harmers Haven North (validation/test site) orthophotograph. Orthophotographs in <bold>(c)</bold> and <bold>(d)</bold> from <xref ref-type="bibr" rid="bib1.bibx54" id="text.103"/>.</p></caption>
        <graphic xlink:href="https://se.copernicus.org/articles/17/1087/2026/se-17-1087-2026-f18.jpg"/>

      </fig>


</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>Pre-processing effect</title>

<table-wrap id="TB1"><label>Table B1</label><caption><p id="d2e5252">Effect of preprocessing on fracture-class pixel proportions across datasets.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right" colsep="1"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Dataset</oasis:entry>
         <oasis:entry rowsep="1" namest="col2" nameend="col4" align="center" colsep="1">Before pre-processing </oasis:entry>
         <oasis:entry rowsep="1" namest="col5" nameend="col7" align="center">After preprocessing </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">train</oasis:entry>
         <oasis:entry colname="col3">valid</oasis:entry>
         <oasis:entry colname="col4">test</oasis:entry>
         <oasis:entry colname="col5">train</oasis:entry>
         <oasis:entry colname="col6">valid</oasis:entry>
         <oasis:entry colname="col7">test</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Ovaskainen22</oasis:entry>
         <oasis:entry colname="col2">0.45</oasis:entry>
         <oasis:entry colname="col3">0.57</oasis:entry>
         <oasis:entry colname="col4">0.68</oasis:entry>
         <oasis:entry colname="col5">3.08</oasis:entry>
         <oasis:entry colname="col6">3.32</oasis:entry>
         <oasis:entry colname="col7">4.14</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Matteo21</oasis:entry>
         <oasis:entry colname="col2">0.29</oasis:entry>
         <oasis:entry colname="col3">0.58</oasis:entry>
         <oasis:entry colname="col4">0.55</oasis:entry>
         <oasis:entry colname="col5">0.39</oasis:entry>
         <oasis:entry colname="col6">0.60</oasis:entry>
         <oasis:entry colname="col7">1.51</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Samsu19</oasis:entry>
         <oasis:entry colname="col2">0.43</oasis:entry>
         <oasis:entry colname="col3">0.35</oasis:entry>
         <oasis:entry colname="col4">0.49</oasis:entry>
         <oasis:entry colname="col5">2.17</oasis:entry>
         <oasis:entry colname="col6">1.73</oasis:entry>
         <oasis:entry colname="col7">2.41</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</app>

<app id="App1.Ch1.S3">
  <label>Appendix C</label><title>Data Augmentation Setup</title>

<table-wrap id="TC1"><label>Table C1</label><caption><p id="d2e5403">Data augmentation techniques and corresponding probabilities and parameter ranges.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Augmentation Technique</oasis:entry>
         <oasis:entry colname="col2">Probability</oasis:entry>
         <oasis:entry colname="col3">Parameter Range</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Horizontal Flip</oasis:entry>
         <oasis:entry colname="col2">0.5</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Vertical Flip</oasis:entry>
         <oasis:entry colname="col2">0.5</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Gaussian Blur</oasis:entry>
         <oasis:entry colname="col2">0.05</oasis:entry>
         <oasis:entry colname="col3">Sigma <inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0.1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2.0</mml:mn><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Brightness Decrease</oasis:entry>
         <oasis:entry colname="col2">0.05</oasis:entry>
         <oasis:entry colname="col3">Factor <inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0.7</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0.9</mml:mn><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Brightness Increase</oasis:entry>
         <oasis:entry colname="col2">0.15</oasis:entry>
         <oasis:entry colname="col3">Factor <inline-formula><mml:math id="M150" display="inline"><mml:mrow><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">1.1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1.7</mml:mn><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Contrast Adjustment</oasis:entry>
         <oasis:entry colname="col2">0.05</oasis:entry>
         <oasis:entry colname="col3">Factor <inline-formula><mml:math id="M151" display="inline"><mml:mrow><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0.7</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1.5</mml:mn><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Saturation Adjustment</oasis:entry>
         <oasis:entry colname="col2">0.05</oasis:entry>
         <oasis:entry colname="col3">Factor <inline-formula><mml:math id="M152" display="inline"><mml:mrow><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0.7</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1.5</mml:mn><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</app>

<app id="App1.Ch1.S4">
  <label>Appendix D</label><title>Optimal Filters' Parameters</title>

<table-wrap id="TD1"><label>Table D1</label><caption><p id="d2e5617">Optimal filters' parameters using the grid search and visually (Ovaskainen22/Matteo21/Samsu19/LapiesdiBou).</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="justify" colwidth="30mm"/>
     <oasis:colspec colnum="7" colname="col7" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">

         <oasis:entry namest="col1" nameend="col2" align="center">Algorithm </oasis:entry>

         <oasis:entry colname="col3">Parameter</oasis:entry>

         <oasis:entry colname="col4">Opt. Value (grid)</oasis:entry>

         <oasis:entry colname="col5">Threshold (grid)</oasis:entry>

         <oasis:entry colname="col6" align="left">Opt. Value (visual)</oasis:entry>

         <oasis:entry colname="col7">Threshold (visual)</oasis:entry>

       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>

         <oasis:entry colname="col1">Edge detectors</oasis:entry>

         <oasis:entry colname="col2">Sobel</oasis:entry>

         <oasis:entry colname="col3">–</oasis:entry>

         <oasis:entry colname="col4">–</oasis:entry>

         <oasis:entry colname="col5"><monospace>0.8</monospace></oasis:entry>

         <oasis:entry colname="col6" align="left">–</oasis:entry>

         <oasis:entry colname="col7">0.19/0.1/0.11/0.11</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry rowsep="1" colname="col2" morerows="2">Canny</oasis:entry>

         <oasis:entry colname="col3">sigma</oasis:entry>

         <oasis:entry colname="col4">1.9</oasis:entry>

         <oasis:entry colname="col5">–</oasis:entry>

         <oasis:entry colname="col6" align="left">1.5/0.0/0.53/1.0</oasis:entry>

         <oasis:entry colname="col7">–</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col3">low_threshold</oasis:entry>

         <oasis:entry colname="col4">0.1</oasis:entry>

         <oasis:entry colname="col5"/>

         <oasis:entry colname="col6" align="left">0.3/0.65/0.66/0.1</oasis:entry>

         <oasis:entry colname="col7"/>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col3">high_threshold</oasis:entry>

         <oasis:entry colname="col4">0.7</oasis:entry>

         <oasis:entry colname="col5"/>

         <oasis:entry colname="col6" align="left">0.5/1.0/1.0/1.0</oasis:entry>

         <oasis:entry colname="col7"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1">Ridge detector</oasis:entry>

         <oasis:entry colname="col2">Gabor</oasis:entry>

         <oasis:entry colname="col3">frequency</oasis:entry>

         <oasis:entry colname="col4">0.5</oasis:entry>

         <oasis:entry colname="col5">0.0</oasis:entry>

         <oasis:entry colname="col6" align="left">0.7/1.0/1.0/1.0</oasis:entry>

         <oasis:entry colname="col7">0.12/0.35/0.26/0.5</oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">Sato</oasis:entry>

         <oasis:entry colname="col3">sigmas</oasis:entry>

         <oasis:entry colname="col4">range(2, 8, 2)</oasis:entry>

         <oasis:entry colname="col5">0.9</oasis:entry>

         <oasis:entry colname="col6" align="left">range(1, 20, 4)/idem/range(1,4)/(1,)</oasis:entry>

         <oasis:entry colname="col7">0.6/0.04/0.07/0.6</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry namest="col1" nameend="col2">Phase Congruency </oasis:entry>

         <oasis:entry colname="col3">nscale</oasis:entry>

         <oasis:entry colname="col4">5</oasis:entry>

         <oasis:entry colname="col5">0.5</oasis:entry>

         <oasis:entry colname="col6" align="left">6/5/6/6</oasis:entry>

         <oasis:entry colname="col7">0.002/0.0011/0.15</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2"/>

         <oasis:entry colname="col3">norient</oasis:entry>

         <oasis:entry colname="col4">5</oasis:entry>

         <oasis:entry colname="col5"/>

         <oasis:entry colname="col6" align="left">6/5/6/6</oasis:entry>

         <oasis:entry colname="col7"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2"/>

         <oasis:entry colname="col3">minWaveLength</oasis:entry>

         <oasis:entry colname="col4">3</oasis:entry>

         <oasis:entry colname="col5"/>

         <oasis:entry colname="col6" align="left">5/3/5/5</oasis:entry>

         <oasis:entry colname="col7"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2"/>

         <oasis:entry colname="col3">mult</oasis:entry>

         <oasis:entry colname="col4">2</oasis:entry>

         <oasis:entry colname="col5"/>

         <oasis:entry colname="col6" align="left">2.3/2/2.3/2.3</oasis:entry>

         <oasis:entry colname="col7"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2"/>

         <oasis:entry colname="col3">sigmaOnf</oasis:entry>

         <oasis:entry colname="col4">0.5</oasis:entry>

         <oasis:entry colname="col5"/>

         <oasis:entry colname="col6" align="left">0.6/0.5/0.6/0.6</oasis:entry>

         <oasis:entry colname="col7"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2"/>

         <oasis:entry colname="col3">k</oasis:entry>

         <oasis:entry colname="col4">2</oasis:entry>

         <oasis:entry colname="col5"/>

         <oasis:entry colname="col6" align="left">3.6/3/3.6/3.6</oasis:entry>

         <oasis:entry colname="col7"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2"/>

         <oasis:entry colname="col3">cutOff</oasis:entry>

         <oasis:entry colname="col4">0.3</oasis:entry>

         <oasis:entry colname="col5"/>

         <oasis:entry colname="col6" align="left">0.36/0.3/0.36/0.36</oasis:entry>

         <oasis:entry colname="col7"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2"/>

         <oasis:entry colname="col3">g</oasis:entry>

         <oasis:entry colname="col4">10</oasis:entry>

         <oasis:entry colname="col5"/>

         <oasis:entry colname="col6" align="left">41.6/10/41.6/41.6</oasis:entry>

         <oasis:entry colname="col7"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2"/>

         <oasis:entry colname="col3">noiseMethod</oasis:entry>

         <oasis:entry colname="col4"><inline-formula><mml:math id="M153" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1</oasis:entry>

         <oasis:entry colname="col5"/>

         <oasis:entry colname="col6" align="left"><inline-formula><mml:math id="M154" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1</oasis:entry>

         <oasis:entry colname="col7"/>

       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>


</app>

<app id="App1.Ch1.S5">
  <label>Appendix E</label><title>Quantitative Results</title>

<table-wrap id="TE1"><label>Table E1</label><caption><p id="d2e6025">Quantitative results: evaluation metrics on the test set. For each metric, the best value is shown in bold and the second-best value in italics.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="16">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:colspec colnum="11" colname="col11" align="right"/>
     <oasis:colspec colnum="12" colname="col12" align="right"/>
     <oasis:colspec colnum="13" colname="col13" align="right"/>
     <oasis:colspec colnum="14" colname="col14" align="right"/>
     <oasis:colspec colnum="15" colname="col15" align="right"/>
     <oasis:colspec colnum="16" colname="col16" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">AE↓</oasis:entry>
         <oasis:entry colname="col3">MSE↓</oasis:entry>
         <oasis:entry colname="col4">SSIM↑</oasis:entry>
         <oasis:entry colname="col5">PSNR↑</oasis:entry>
         <oasis:entry colname="col6">Acc↑</oasis:entry>
         <oasis:entry colname="col7">Prec↑</oasis:entry>
         <oasis:entry colname="col8">F1↑</oasis:entry>
         <oasis:entry colname="col9">Rec↑</oasis:entry>
         <oasis:entry colname="col10">Spec↑</oasis:entry>
         <oasis:entry colname="col11">ROC↑</oasis:entry>
         <oasis:entry colname="col12">IoU↑</oasis:entry>
         <oasis:entry colname="col13">CK↑</oasis:entry>
         <oasis:entry colname="col14">FracSim<sup>∗</sup>↓</oasis:entry>
         <oasis:entry colname="col15">Loss↓</oasis:entry>
         <oasis:entry colname="col16"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">phasecong</oasis:entry>
         <oasis:entry colname="col2">0.15</oasis:entry>
         <oasis:entry colname="col3">0.14</oasis:entry>
         <oasis:entry colname="col4">0.0</oasis:entry>
         <oasis:entry colname="col5">8.68</oasis:entry>
         <oasis:entry colname="col6">0.79</oasis:entry>
         <oasis:entry colname="col7">0.28</oasis:entry>
         <oasis:entry colname="col8">0.27</oasis:entry>
         <oasis:entry colname="col9">0.27</oasis:entry>
         <oasis:entry colname="col10">0.88</oasis:entry>
         <oasis:entry colname="col11">0.58</oasis:entry>
         <oasis:entry colname="col12">0.16</oasis:entry>
         <oasis:entry colname="col13">0.15</oasis:entry>
         <oasis:entry colname="col14">214.53</oasis:entry>
         <oasis:entry colname="col15">0.07</oasis:entry>
         <oasis:entry colname="col16"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">sobel</oasis:entry>
         <oasis:entry colname="col2">0.46</oasis:entry>
         <oasis:entry colname="col3">0.44</oasis:entry>
         <oasis:entry colname="col4">0.0</oasis:entry>
         <oasis:entry colname="col5">3.59</oasis:entry>
         <oasis:entry colname="col6">0.55</oasis:entry>
         <oasis:entry colname="col7">0.18</oasis:entry>
         <oasis:entry colname="col8">0.28</oasis:entry>
         <oasis:entry colname="col9"><italic>0.57</italic></oasis:entry>
         <oasis:entry colname="col10">0.55</oasis:entry>
         <oasis:entry colname="col11">0.56</oasis:entry>
         <oasis:entry colname="col12">0.16</oasis:entry>
         <oasis:entry colname="col13">0.06</oasis:entry>
         <oasis:entry colname="col14">132.27</oasis:entry>
         <oasis:entry colname="col15">0.22</oasis:entry>
         <oasis:entry colname="col16"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">gabor</oasis:entry>
         <oasis:entry colname="col2">0.94</oasis:entry>
         <oasis:entry colname="col3">0.92</oasis:entry>
         <oasis:entry colname="col4">0.0</oasis:entry>
         <oasis:entry colname="col5">0.35</oasis:entry>
         <oasis:entry colname="col6">0.15</oasis:entry>
         <oasis:entry colname="col7">0.14</oasis:entry>
         <oasis:entry colname="col8">0.25</oasis:entry>
         <oasis:entry colname="col9"><bold>1.00</bold></oasis:entry>
         <oasis:entry colname="col10">0.01</oasis:entry>
         <oasis:entry colname="col11">0.50</oasis:entry>
         <oasis:entry colname="col12">0.14</oasis:entry>
         <oasis:entry colname="col13">0.00</oasis:entry>
         <oasis:entry colname="col14">48.12</oasis:entry>
         <oasis:entry colname="col15">0.46</oasis:entry>
         <oasis:entry colname="col16"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">sato</oasis:entry>
         <oasis:entry colname="col2">0.11</oasis:entry>
         <oasis:entry colname="col3">0.10</oasis:entry>
         <oasis:entry colname="col4">0.0</oasis:entry>
         <oasis:entry colname="col5">10.2</oasis:entry>
         <oasis:entry colname="col6"><bold>0.85</bold></oasis:entry>
         <oasis:entry colname="col7">0.30</oasis:entry>
         <oasis:entry colname="col8">0.27</oasis:entry>
         <oasis:entry colname="col9">0.25</oasis:entry>
         <oasis:entry colname="col10"><bold>0.93</bold></oasis:entry>
         <oasis:entry colname="col11">0.59</oasis:entry>
         <oasis:entry colname="col12">0.16</oasis:entry>
         <oasis:entry colname="col13">0.19</oasis:entry>
         <oasis:entry colname="col14">153.76</oasis:entry>
         <oasis:entry colname="col15"><italic>0.05</italic></oasis:entry>
         <oasis:entry colname="col16"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">canny</oasis:entry>
         <oasis:entry colname="col2">0.28</oasis:entry>
         <oasis:entry colname="col3">0.27</oasis:entry>
         <oasis:entry colname="col4">0.0</oasis:entry>
         <oasis:entry colname="col5">5.76</oasis:entry>
         <oasis:entry colname="col6">0.69</oasis:entry>
         <oasis:entry colname="col7">0.22</oasis:entry>
         <oasis:entry colname="col8">0.29</oasis:entry>
         <oasis:entry colname="col9">0.42</oasis:entry>
         <oasis:entry colname="col10">0.74</oasis:entry>
         <oasis:entry colname="col11">0.58</oasis:entry>
         <oasis:entry colname="col12">0.17</oasis:entry>
         <oasis:entry colname="col13">0.12</oasis:entry>
         <oasis:entry colname="col14">71.10</oasis:entry>
         <oasis:entry colname="col15">0.13</oasis:entry>
         <oasis:entry colname="col16"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">U-Net</oasis:entry>
         <oasis:entry colname="col2"><italic>0.07</italic></oasis:entry>
         <oasis:entry colname="col3"><bold>0.03</bold></oasis:entry>
         <oasis:entry colname="col4"><italic>0.49</italic></oasis:entry>
         <oasis:entry colname="col5"><bold>14.7</bold></oasis:entry>
         <oasis:entry colname="col6"><italic>0.84</italic></oasis:entry>
         <oasis:entry colname="col7"><bold>0.50</bold></oasis:entry>
         <oasis:entry colname="col8"><bold>0.48</bold></oasis:entry>
         <oasis:entry colname="col9">0.45</oasis:entry>
         <oasis:entry colname="col10"><italic>0.92</italic></oasis:entry>
         <oasis:entry colname="col11"><bold>0.69</bold></oasis:entry>
         <oasis:entry colname="col12"><bold>0.31</bold></oasis:entry>
         <oasis:entry colname="col13"><bold>0.39</bold></oasis:entry>
         <oasis:entry colname="col14"><bold>3.40</bold></oasis:entry>
         <oasis:entry colname="col15"><bold>0.02</bold></oasis:entry>
         <oasis:entry colname="col16"/>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">SegFormer</oasis:entry>
         <oasis:entry colname="col2">0.10</oasis:entry>
         <oasis:entry colname="col3"><italic>0.05</italic></oasis:entry>
         <oasis:entry colname="col4">0.40</oasis:entry>
         <oasis:entry colname="col5">13.2</oasis:entry>
         <oasis:entry colname="col6">0.79</oasis:entry>
         <oasis:entry colname="col7"><italic>0.38</italic></oasis:entry>
         <oasis:entry colname="col8"><italic>0.44</italic></oasis:entry>
         <oasis:entry colname="col9">0.52</oasis:entry>
         <oasis:entry colname="col10">0.84</oasis:entry>
         <oasis:entry colname="col11"><italic>0.68</italic></oasis:entry>
         <oasis:entry colname="col12"><italic>0.28</italic></oasis:entry>
         <oasis:entry colname="col13"><italic>0.32</italic></oasis:entry>
         <oasis:entry colname="col14"><italic>3.43</italic></oasis:entry>
         <oasis:entry colname="col15"><bold>0.02</bold></oasis:entry>
         <oasis:entry colname="col16"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">All 1</oasis:entry>
         <oasis:entry colname="col2">0.95</oasis:entry>
         <oasis:entry colname="col3">0.93</oasis:entry>
         <oasis:entry colname="col4">0.01</oasis:entry>
         <oasis:entry colname="col5">0.33</oasis:entry>
         <oasis:entry colname="col6">0.16</oasis:entry>
         <oasis:entry colname="col7">0.16</oasis:entry>
         <oasis:entry colname="col8">0.27</oasis:entry>
         <oasis:entry colname="col9"><bold>1.00</bold></oasis:entry>
         <oasis:entry colname="col10">0.00</oasis:entry>
         <oasis:entry colname="col11">0.50</oasis:entry>
         <oasis:entry colname="col12">0.16</oasis:entry>
         <oasis:entry colname="col13">0.00</oasis:entry>
         <oasis:entry colname="col14">Undef</oasis:entry>
         <oasis:entry colname="col15">0.47</oasis:entry>
         <oasis:entry colname="col16"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">All 0</oasis:entry>
         <oasis:entry colname="col2"><bold>0.05</bold></oasis:entry>
         <oasis:entry colname="col3"><bold>0.03</bold></oasis:entry>
         <oasis:entry colname="col4"><bold>0.82</bold></oasis:entry>
         <oasis:entry colname="col5"><italic>14.69</italic></oasis:entry>
         <oasis:entry colname="col6">0.84</oasis:entry>
         <oasis:entry colname="col7">0.00</oasis:entry>
         <oasis:entry colname="col8">0.00</oasis:entry>
         <oasis:entry colname="col9">0.00</oasis:entry>
         <oasis:entry colname="col10">0.00</oasis:entry>
         <oasis:entry colname="col11">0.50</oasis:entry>
         <oasis:entry colname="col12">0.00</oasis:entry>
         <oasis:entry colname="col13">0.00</oasis:entry>
         <oasis:entry colname="col14">Undef</oasis:entry>
         <oasis:entry colname="col15"><bold>0.02</bold></oasis:entry>
         <oasis:entry colname="col16"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d2e6028"><sup>∗</sup> was calculated on the modified test set</p></table-wrap-foot></table-wrap>

</app>
  </app-group><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e6651">The FraXet dataset, including all RGB tiles, DEMs, masks, and metadata, is archived and publicly accessible on Zenodo at <ext-link xlink:href="https://doi.org/10.5281/zenodo.17069947" ext-link-type="DOI">10.5281/zenodo.17069947</ext-link> <xref ref-type="bibr" rid="bib1.bibx21" id="paren.104"/>. The full source code used in this study is openly available at <uri>https://gitlab.com/ayoubft/fractex2D.pt</uri> (last access: 14 September 2026) and the version associated with this publication is archived at <ext-link xlink:href="https://doi.org/10.5281/zenodo.17953223" ext-link-type="DOI">10.5281/zenodo.17953223</ext-link> <xref ref-type="bibr" rid="bib1.bibx20" id="paren.105"/>. All trained models associated with this work are available on both Hugging Face and Zenodo. The model weights can be accessed on Hugging Face at <uri>https://huggingface.co/ayoubft/fraXteX</uri> (last access: 14 September 2026) and are archived on Zenodo at <ext-link xlink:href="https://doi.org/10.5281/zenodo.17866853" ext-link-type="DOI">10.5281/zenodo.17866853</ext-link> <xref ref-type="bibr" rid="bib1.bibx22" id="paren.106"/>. A live deployment of the model is hosted on Hugging Face at <uri>https://huggingface.co/spaces/ayoubft/fractex2D_tuto</uri> (last access: 25 September 2026), providing an interactive interface for running inference with the trained deep learning models and for trying the computer vision filters. A QGIS plugin is also available to try directly within the QGIS environment at <uri>https://plugins.qgis.org/plugins/fraXtex/</uri> (last access: 25 September 2026), allowing users to run inference on their own data.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e6688">AF: Conceptualisation, Formal analysis, Data curation, Code development, Investigation, Methodology, Visualisation, Writing – original draft; JC: Writing – review and editing; TB: Methodology, Writing – review and editing; STT: Conceptualisation, Code development, Methodology, Writing – review and editing; AS: Conceptualisation, Methodology, Writing – review and editing.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e6694">The contact author has declared that none of the authors has any competing interests.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e6702">Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. The authors bear the ultimate responsibility for providing appropriate place names. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.</p>
  </notes><ack><title>Acknowledgements</title><p id="d2e6708">This study was supported by the University of Lausanne (Université de Lausanne).</p></ack><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e6713">This paper was edited by Jessica McBeck and reviewed by Billy Andrews and Thomas Dewez.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Abid et al.(2019)Abid, Abdalla, Abid, Khan, Alfozan, and Zou</label><mixed-citation>Abid, A., Abdalla, A., Abid, A., Khan, D., Alfozan, A., and Zou, J.: Gradio: Hassle-Free Sharing and Testing of ML Models in the Wild, arXiv, <ext-link xlink:href="https://doi.org/10.48550/arXiv.1906.02569" ext-link-type="DOI">10.48550/arXiv.1906.02569</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Adiri et al.(2017)Adiri, El Harti, Jellouli, Lhissou, Maacha, Azmi, Zouhair, and Bachaoui</label><mixed-citation>Adiri, Z., El Harti, A., Jellouli, A., Lhissou, R., Maacha, L., Azmi, M., Zouhair, M., and Bachaoui, E. M.: Comparison of Landsat-8, ASTER and Sentinel 1 Satellite Remote Sensing Data in Automatic Lineaments Extraction: A Case Study of Sidi Flah-Bouskour Inlier, Moroccan Anti Atlas, Adv. Space Res., 60, 2355–2367, <ext-link xlink:href="https://doi.org/10.1016/j.asr.2017.09.006" ext-link-type="DOI">10.1016/j.asr.2017.09.006</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Aghaee et al.(2021)Aghaee, Shamsipour, Hood, and Haugaard</label><mixed-citation>Aghaee, A., Shamsipour, P., Hood, S., and Haugaard, R.: A Convolutional Neural Network for Semi-Automated Lineament Detection and Vectorisation of Remote Sensing Data Using Probabilistic Clustering: A Method and a Challenge, Comput. Geosci., 151, 104724, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2021.104724" ext-link-type="DOI">10.1016/j.cageo.2021.104724</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>An et al.(2023)An, Du, Ma, Niu, Liu, Wang, Du, Childs, Walsh, and Dong</label><mixed-citation>An, Y., Du, H., Ma, S., Niu, Y., Liu, D., Wang, J., Du, Y., Childs, C., Walsh, J., and Dong, R.: Current State and Future Directions for Deep Learning Based Automatic Seismic Fault Interpretation: A Systematic Review, Earth-Sci. Rev., 243, 104509, <ext-link xlink:href="https://doi.org/10.1016/j.earscirev.2023.104509" ext-link-type="DOI">10.1016/j.earscirev.2023.104509</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Andrews et al.(2019)Andrews, Roberts, Shipton, Bigi, Tartarello, and Johnson</label><mixed-citation>Andrews, B. J., Roberts, J. J., Shipton, Z. K., Bigi, S., Tartarello, M. C., and Johnson, G.: How do we see fractures? Quantifying subjective bias in fracture data collection, Solid Earth, 10, 487–516, <ext-link xlink:href="https://doi.org/10.5194/se-10-487-2019" ext-link-type="DOI">10.5194/se-10-487-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Aydin(2000)</label><mixed-citation>Aydin, A.: Fractures, Faults, and Hydrocarbon Entrapment, Migration and Flow, Mar. Petrol. Geol., 17, 797–814, <ext-link xlink:href="https://doi.org/10.1016/S0264-8172(00)00020-9" ext-link-type="DOI">10.1016/S0264-8172(00)00020-9</ext-link>, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Badoux et al.(1959)Badoux, Bonnard, and Burri</label><mixed-citation>Badoux, H., Bonnard, E. G., and Burri, M.: Atlas géologique de la Suisse <inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>:</mml:mo><mml:mn mathvariant="normal">25</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mn mathvariant="normal">000</mml:mn></mml:mrow></mml:math></inline-formula>, feuille 1286 St-Léonard, avec annexe de la feuille Sion (feuille 35 de l'Atlas), Schweizerische Geologische Kommission, Kümmerly &amp; Frey, Bern, <uri>https://data.geo.admin.ch/ch.swisstopo.geologie-geologischer_atlas/erlaeuterungen/GA25-ERL-35.pdf</uri> (last access: 25 September 2026), 1959.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Bemis et al.(2014)Bemis, Micklethwaite, Turner, James, Akciz, Thiele, and Bangash</label><mixed-citation>Bemis, S. P., Micklethwaite, S., Turner, D., James, M. R., Akciz, S., Thiele, S. T., and Bangash, H. A.: Ground-Based and UAV-Based Photogrammetry: A Multi-Scale, High-Resolution Mapping Tool for Structural Geology and Paleoseismology, J. Struct. Geol., 69, 163–178, <ext-link xlink:href="https://doi.org/10.1016/j.jsg.2014.10.007" ext-link-type="DOI">10.1016/j.jsg.2014.10.007</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Berkowitz(2002)</label><mixed-citation>Berkowitz, B.: Characterizing Flow and Transport in Fractured Geological Media: A Review, Adv. Water Resour., 25, 861–884, <ext-link xlink:href="https://doi.org/10.1016/S0309-1708(02)00042-8" ext-link-type="DOI">10.1016/S0309-1708(02)00042-8</ext-link>, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Bonnet et al.(2001)Bonnet, Bour, Odling, Davy, Main, Cowie, and Berkowitz</label><mixed-citation>Bonnet, E., Bour, O., Odling, N. E., Davy, P., Main, I., Cowie, P., and Berkowitz, B.: Scaling of Fracture Systems in Geological Media, Rev. Geophys., 39, 347–383, <ext-link xlink:href="https://doi.org/10.1029/1999RG000074" ext-link-type="DOI">10.1029/1999RG000074</ext-link>, 2001.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Candès and Donoho(2005)</label><mixed-citation>Candès, E. J. and Donoho, D. L.: Continuous Curvelet Transform: I. Resolution of the Wavefront Set, Appl. Comput. Harmon. A., 19, 162–197, <ext-link xlink:href="https://doi.org/10.1016/j.acha.2005.02.003" ext-link-type="DOI">10.1016/j.acha.2005.02.003</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Candès and Guo(2002)</label><mixed-citation>Candès, E. J. and Guo, F.: New Multiscale Transforms, Minimum Total Variation Synthesis: Applications to Edge-Preserving Image Reconstruction, Signal Process., 82, 1519–1543, <ext-link xlink:href="https://doi.org/10.1016/S0165-1684(02)00300-6" ext-link-type="DOI">10.1016/S0165-1684(02)00300-6</ext-link>, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Chudasama et al.(2024)Chudasama, Ovaskainen, Tamminen, Nordbäck, Engström, and Aaltonen</label><mixed-citation>Chudasama, B., Ovaskainen, N., Tamminen, J., Nordbäck, N., Engström, J., and Aaltonen, I.: Automated Mapping of Bedrock-Fracture Traces from UAV-acquired Images Using U-Net Convolutional Neural Networks, Comput. Geosci., 182, 105463, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2023.105463" ext-link-type="DOI">10.1016/j.cageo.2023.105463</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Constantine(2001)</label><mixed-citation> Constantine, A.: Sedimentology, Stratigraphy and Palaeoenvironment of the Upper Jurassic-Lower Cretaceous Non-Marine Strzelecki Group, Gippsland Basin, Southeastern Australia, PhD thesis, Monash University, 2001.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Coulibaly et al.(2021)Saint Jean Patrick Coulibaly, Talnan Jean Honoré, Naga, Claude Alain Kouadio, Régis Mailly DIDI, Diedhiou, and Savane</label><mixed-citation>Coulibaly, H. S. J. P., Coulibaly, T. J. H., Coulibaly, N., Kouadio, K. C. A., Didi, S. R. M., Diedhiou, A., and Savane, I.: Groundwater Exploration Using Extraction of Lineaments from SRTM DEM and Water Flows in Béré Region, Egyptian Journal of Remote Sensing and Space Science, 24, 391–400, <ext-link xlink:href="https://doi.org/10.1016/j.ejrs.2020.07.003" ext-link-type="DOI">10.1016/j.ejrs.2020.07.003</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Do and Vetterli(2005)</label><mixed-citation>Do, M. and Vetterli, M.: The Contourlet Transform: An Efficient Directional Multiresolution Image Representation, IEEE T. Image Process., 14, 2091–2106, <ext-link xlink:href="https://doi.org/10.1109/TIP.2005.859376" ext-link-type="DOI">10.1109/TIP.2005.859376</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Duda and Hart(1972)</label><mixed-citation>Duda, R. O. and Hart, P. E.: Use of the Hough Transformation to Detect Lines and Curves in Pictures, Commun. ACM, 15, 11–15, <ext-link xlink:href="https://doi.org/10.1145/361237.361242" ext-link-type="DOI">10.1145/361237.361242</ext-link>, 1972.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Esri(2026)</label><mixed-citation>Esri: World Imagery [basemap], Esri, Vantor, Earthstar Geographics, and the GIS User Community, <uri>https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer</uri> (last access: 28 September 2026), 2026.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Fan and Ni(2023)</label><mixed-citation>Fan, J. and Ni, C.: Comparative Studies on the Extraction of Lineaments and Its Variability Based on an Improved Line Segment Tracking Method—Taking the Gaosong Ore Field in the Gejiu Gejiu Tin Ore Deposit as an Example, Appl. Sci., 13, 1314, <ext-link xlink:href="https://doi.org/10.3390/app13031314" ext-link-type="DOI">10.3390/app13031314</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Fatihi and Thiele(2025)</label><mixed-citation>Fatihi, A. and Thiele, S.: ayoubft/fractex2D.pt, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.17953223" ext-link-type="DOI">10.5281/zenodo.17953223</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Fatihi et al.(2025a)Fatihi, Caldeira, Beucler, Thiele, and Samsu</label><mixed-citation>Fatihi, A., Caldeira, J., Beucler, T., Thiele, S., and Samsu, A.: FraXet, Zenodo [data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.17069947" ext-link-type="DOI">10.5281/zenodo.17069947</ext-link>, 2025a.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Fatihi et al.(2025b)Fatihi, Caldeira, Beucler, Thiele, and Samsu</label><mixed-citation>Fatihi, A., Caldeira, J., Beucler, T., Thiele, S., and Samsu, A.: Fracture Mapping Models Trained on FraXet, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.17866853" ext-link-type="DOI">10.5281/zenodo.17866853</ext-link>, 2025b.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Gaikwad et al.(2023)Gaikwad, Singh, Salunke, and Kudnar</label><mixed-citation>Gaikwad, V., Singh, K., Salunke, V., and Kudnar, N.: GIS-based Comparative Analysis of Lineament Extraction by Using Different Azimuth Angles: A Case Study of Mula River Basin, Maharashtra, India, Arab. J. Geosci., 16, 538, <ext-link xlink:href="https://doi.org/10.1007/s12517-023-11636-2" ext-link-type="DOI">10.1007/s12517-023-11636-2</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Guo(2023)</label><mixed-citation>Guo, Y.: Augmentation Is AUtO-Net: Augmentation-Driven Contrastive Multiview Learning for Medical Image Segmentation, arXiv, <ext-link xlink:href="https://doi.org/10.48550/arXiv.2311.01023" ext-link-type="DOI">10.48550/arXiv.2311.01023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Han et al.(2018)Han, Liu, Ning, and Zhao</label><mixed-citation>Han, L., Liu, Z., Ning, Y., and Zhao, Z.: Extraction and Analysis of Geological Lineaments Combining a DEM and Remote Sensing Images from the Northern Baoji Loess Area, Adv. Space Res., 62, 2480–2493, <ext-link xlink:href="https://doi.org/10.1016/j.asr.2018.07.030" ext-link-type="DOI">10.1016/j.asr.2018.07.030</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Härmä(2020)</label><mixed-citation> Härmä, P.: Natural Stone Exploration in the Classic Wiborg Rapakivi Granite Batholith of Southeastern Finland – New Insights from Integration of Lithological, Geophysical and Structural Data, PhD thesis, Department of Geosciences and Geography, University of Helsinki, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Kirillov et al.(2023)Kirillov, Mintun, Ravi, Mao, Rolland, Gustafson, Xiao, Whitehead, Berg, Lo, Dollár, and Girshick</label><mixed-citation>Kirillov, A., Mintun, E., Ravi, N., Mao, H., Rolland, C., Gustafson, L., Xiao, T., Whitehead, S., Berg, A. C., Lo, W.-Y., Dollár, P., and Girshick, R.: Segment Anything, arXiv, <ext-link xlink:href="https://doi.org/10.48550/arXiv.2304.02643" ext-link-type="DOI">10.48550/arXiv.2304.02643</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Koike et al.(1995)Koike, Nagano, and Ohmi</label><mixed-citation>Koike, K., Nagano, S., and Ohmi, M.: Lineament Analysis of Satellite Images Using a Segment Tracing Algorithm (STA), Comput. Geosci., 21, 1091–1104, <ext-link xlink:href="https://doi.org/10.1016/0098-3004(95)00042-7" ext-link-type="DOI">10.1016/0098-3004(95)00042-7</ext-link>, 1995.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Kovesi(1999)</label><mixed-citation> Kovesi, P.: Image Features from Phase Congruency, Videre: Journal of Computer Vision Research, MIT Press, 1, 1–26, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Kovesi(2000)</label><mixed-citation>Kovesi, P.: Phase Congruency: A Low-Level Image Invariant, Psychological Research, 64, 136–148, <ext-link xlink:href="https://doi.org/10.1007/s004260000024" ext-link-type="DOI">10.1007/s004260000024</ext-link>, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Krieger(1965)</label><mixed-citation>Krieger, M. L. H.: Geology of the Prescott and Paulden Quadrangles, Arizona, Tech. Rep. 467, U. S. Govt. Print. Off., <ext-link xlink:href="https://doi.org/10.3133/pp467" ext-link-type="DOI">10.3133/pp467</ext-link>, 1965.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Kuş and Aydin(2024)</label><mixed-citation>Kuş, Z. and Aydin, M.: MedSegBench: A Comprehensive Benchmark for Medical Image Segmentation in Diverse Data Modalities, Sci. Data, 11, 1283, <ext-link xlink:href="https://doi.org/10.1038/s41597-024-04159-2" ext-link-type="DOI">10.1038/s41597-024-04159-2</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>LeCun et al.(2015)LeCun, Bengio, and Hinton</label><mixed-citation>LeCun, Y., Bengio, Y., and Hinton, G.: Deep Learning, Nature, 521, 436–444, <ext-link xlink:href="https://doi.org/10.1038/nature14539" ext-link-type="DOI">10.1038/nature14539</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Mallat and Hwang(1992)</label><mixed-citation>Mallat, S. and Hwang, W.: Singularity Detection and Processing with Wavelets, IEEE T. Inform. Theory, 38, 617–643, <ext-link xlink:href="https://doi.org/10.1109/18.119727" ext-link-type="DOI">10.1109/18.119727</ext-link>, 1992.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Masoud and Koike(2017)</label><mixed-citation>Masoud, A. and Koike, K.: Applicability of Computer-Aided Comprehensive Tool (LINDA: LINeament Detection and Analysis) and Shaded Digital Elevation Model for Characterizing and Interpreting Morphotectonic Features from Lineaments, Comput. Geosci., 106, 89–100, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2017.06.006" ext-link-type="DOI">10.1016/j.cageo.2017.06.006</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Masoud and Koike(2011)</label><mixed-citation>Masoud, A. A. and Koike, K.: Auto-Detection and Integration of Tectonically Significant Lineaments from SRTM DEM and Remotely-Sensed Geophysical Data, ISPRS J. Photogramm., 66, 818–832, <ext-link xlink:href="https://doi.org/10.1016/j.isprsjprs.2011.08.003" ext-link-type="DOI">10.1016/j.isprsjprs.2011.08.003</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Mattéo et al.(2020)Mattéo, Manighetti, Tarabalka, Gaucel, Van Den Ende, Mercier, Tasar, Girard, Leclerc, Giampetro, Dominguez, and Malavieille</label><mixed-citation>Mattéo, L., Manighetti, I., Tarabalka, Y., Gaucel, J.-M., van den Ende, M., Mercier, A., Tasar, O., Girard, N., Leclerc, F., Giampetro, T., Dominguez, S., and Malavieille, J.: Dataset of manuscript “Automatic fault mapping in remote optical images and topographic data with deep learning”, Zenodo [data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.4611494" ext-link-type="DOI">10.5281/zenodo.4611494</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Mattéo et al.(2021)Mattéo, Manighetti, Tarabalka, Gaucel, van den Ende, Mercier, Tasar, Girard, Leclerc, Giampetro, Dominguez, and Malavieille</label><mixed-citation>Mattéo, L., Manighetti, I., Tarabalka, Y., Gaucel, J.-M., van den Ende, M., Mercier, A., Tasar, O., Girard, N., Leclerc, F., Giampetro, T., Dominguez, S., and Malavieille, J.: Automatic Fault Mapping in Remote Optical Images and Topographic Data With Deep Learning, J. Geophys. Res.-Sol. Ea., 126, e2020JB021269, <ext-link xlink:href="https://doi.org/10.1029/2020JB021269" ext-link-type="DOI">10.1029/2020JB021269</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Nordbäck and Ovaskainen(2025)</label><mixed-citation>Nordbäck, N. and Ovaskainen, N.: UAV-acquired Orthomosaics of Loviisa Shoreline Outcrops, Zenodo [data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.17878870" ext-link-type="DOI">10.5281/zenodo.17878870</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Oliveira et al.(2019)Oliveira, Savastano, Matos, Schmitt, Valente, Araujo, and Inocencio</label><mixed-citation>Oliveira, M. J., Savastano, V., Matos, G., Schmitt, R., Valente, V., Araujo, M., and Inocencio, L.: The Use of Drones and Deep Learning to Identify Igneous Rocks and Fractures, in: Offshore Technology Conference Brasil, <ext-link xlink:href="https://doi.org/10.4043/29829-MS" ext-link-type="DOI">10.4043/29829-MS</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Ovaskainen and Nordbäck(2022)</label><mixed-citation>Ovaskainen, N. and Nordbäck, N.: Manually Mapped Traces from UAV-acquired Images of Loviisa Shoreline Outcrops, Zenodo [data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.7077846" ext-link-type="DOI">10.5281/zenodo.7077846</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Ovaskainen et al.(2023)Ovaskainen, Skyttä, Nordbäck, and Engström</label><mixed-citation>Ovaskainen, N., Skyttä, P., Nordbäck, N., and Engström, J.: Detailed investigation of multi-scale fracture networks in glacially abraded crystalline bedrock at Åland Islands, Finland, Solid Earth, 14, 603–624, <ext-link xlink:href="https://doi.org/10.5194/se-14-603-2023" ext-link-type="DOI">10.5194/se-14-603-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Palamakumbura et al.(2020)Palamakumbura, Krabbendam, Whitbread, and Arnhardt</label><mixed-citation>Palamakumbura, R., Krabbendam, M., Whitbread, K., and Arnhardt, C.: Data acquisition by digitizing 2-D fracture networks and topographic lineaments in geographic information systems: further development and applications, Solid Earth, 11, 1731–1746, <ext-link xlink:href="https://doi.org/10.5194/se-11-1731-2020" ext-link-type="DOI">10.5194/se-11-1731-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx44"><label>Peacock and Sanderson(2026)</label><mixed-citation>Peacock, D. C. P. and Sanderson, D. J.: Influences of Map Resolution, Quality and Interpretation on Fault Network Topology, Earth-Sci. Rev., 277, 105461, <ext-link xlink:href="https://doi.org/10.1016/j.earscirev.2026.105461" ext-link-type="DOI">10.1016/j.earscirev.2026.105461</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>Peacock et al.(2019)Peacock, Sanderson, Bastesen, Rotevatn, and Storstein</label><mixed-citation>Peacock, D. C. P., Sanderson, D. J., Bastesen, E., Rotevatn, A., and Storstein, T. H.: Causes of Bias and Uncertainty in Fracture Network Analysis, Norw. J. Geol., 99, 113–128, <ext-link xlink:href="https://doi.org/10.17850/njg99-1-06" ext-link-type="DOI">10.17850/njg99-1-06</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>Pola et al.(2024)Pola, Herrera-Díaz, Tinoco-Martínez, Macias, Soto-Rodríguez, Soto-Herrera, Sereno, and Ramón Avellán</label><mixed-citation>Pola, A., Herrera-Díaz, A., Tinoco-Martínez, S. R., Macias, J. L., Soto-Rodríguez, A. N., Soto-Herrera, A. M., Sereno, H., and Ramón Avellán, D.: Rock Characterization, UAV Photogrammetry and Use of Algorithms of Machine Learning as Tools in Mapping Discontinuities and Characterizing Rock Masses in Acoculco Caldera Complex, B. Eng. Geol. Environ., 83, 260, <ext-link xlink:href="https://doi.org/10.1007/s10064-024-03743-5" ext-link-type="DOI">10.1007/s10064-024-03743-5</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Potts(2022)</label><mixed-citation>Potts, G. J.: Simple Rule to Assist in the Construction of the Outcrop Trace of an Inclined Surface, J. Struct. Geol., 165, 104749, <ext-link xlink:href="https://doi.org/10.1016/j.jsg.2022.104749" ext-link-type="DOI">10.1016/j.jsg.2022.104749</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx48"><label>Prabhakaran et al.(2019)Prabhakaran, Bruna, Bertotti, and Smeulders</label><mixed-citation>Prabhakaran, R., Bruna, P.-O., Bertotti, G., and Smeulders, D.: An automated fracture trace detection technique using the complex shearlet transform, Solid Earth, 10, 2137–2166, <ext-link xlink:href="https://doi.org/10.5194/se-10-2137-2019" ext-link-type="DOI">10.5194/se-10-2137-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx49"><label>Raghavan et al.(1993)Raghavan, Wadatsumi, and Masumoto</label><mixed-citation>Raghavan, V., Wadatsumi, K., and Masumoto, S.: Automatic Extraction of Lineament Information from Satellite Images Using Digital Elevation Data, Nonrenewable Resources, 2, 148–155, <ext-link xlink:href="https://doi.org/10.1007/BF02272811" ext-link-type="DOI">10.1007/BF02272811</ext-link>, 1993.</mixed-citation></ref>
      <ref id="bib1.bibx50"><label>Raghavan et al.(1995)Raghavan, Masumoto, Koike, and Nagano</label><mixed-citation>Raghavan, V., Masumoto, S., Koike, K., and Nagano, S.: Automatic Lineament Extraction from Digital Images Using a Segment Tracing and Rotation Transformation Approach, Comput. Geosci., 21, 555–591, <ext-link xlink:href="https://doi.org/10.1016/0098-3004(94)00097-E" ext-link-type="DOI">10.1016/0098-3004(94)00097-E</ext-link>, 1995.</mixed-citation></ref>
      <ref id="bib1.bibx51"><label>Rahnama and Gloaguen(2014)</label><mixed-citation>Rahnama, M. and Gloaguen, R.: TecLines: A MATLAB-Based Toolbox for Tectonic Lineament Analysis from Satellite Images and DEMs, Part 1: Line Segment Detection and Extraction, Remote Sens., 6, 5938–5958, <ext-link xlink:href="https://doi.org/10.3390/rs6075938" ext-link-type="DOI">10.3390/rs6075938</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx52"><label>Ren and Malik(2003)</label><mixed-citation>Ren, X. and Malik, J.: Learning a Classification Model for Segmentation, in: Proceedings Ninth IEEE International Conference on Computer Vision, vol.1, IEEE, Nice, France, pp. 10–17, <ext-link xlink:href="https://doi.org/10.1109/ICCV.2003.1238308" ext-link-type="DOI">10.1109/ICCV.2003.1238308</ext-link>, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx53"><label>Ronneberger et al.(2015)Ronneberger, Fischer, and Brox</label><mixed-citation>Ronneberger, O., Fischer, P., and Brox, T.: U-Net: Convolutional Networks for Biomedical Image Segmentation, in: Medical Image Computing and Computer-Assisted Intervention – MICCAI 2015, edited by: Navab, N., Hornegger, J., Wells, W. M., and Frangi, A. F., Lecture Notes in Computer Science, Springer International Publishing, Cham, pp. 234–241, <ext-link xlink:href="https://doi.org/10.1007/978-3-319-24574-4_28" ext-link-type="DOI">10.1007/978-3-319-24574-4_28</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx54"><label>Samsu et al.(2019)Samsu, Cruden, and Vollgger</label><mixed-citation>Samsu, A., Cruden, A., and Vollgger, S.: Scale Matters: The Influence of Structural Inheritance on Fracture Patterns – Supplementary Material, Monash University [data set], <ext-link xlink:href="https://doi.org/10.26180/5CDCAD0A73FE0" ext-link-type="DOI">10.26180/5CDCAD0A73FE0</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx55"><label>Sanderson and Nixon(2015)</label><mixed-citation>Sanderson, D. J. and Nixon, C. W.: The Use of Topology in Fracture Network Characterization, J. Struct. Geol., 72, 55–66, <ext-link xlink:href="https://doi.org/10.1016/j.jsg.2015.01.005" ext-link-type="DOI">10.1016/j.jsg.2015.01.005</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx56"><label>Scheiber et al.(2015)Scheiber, Fredin, Viola, Jarna, Gasser, and Łapińska-Viola</label><mixed-citation>Scheiber, T., Fredin, O., Viola, G., Jarna, A., Gasser, D., and Łapińska-Viola, R.: Manual Extraction of Bedrock Lineaments from High-Resolution LiDAR Data: Methodological Bias and Human Perception, GFF, 137, 362–372, <ext-link xlink:href="https://doi.org/10.1080/11035897.2015.1085434" ext-link-type="DOI">10.1080/11035897.2015.1085434</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx57"><label>Smeraglia et al.(2021)Smeraglia, Mercuri, Tavani, Pignalosa, Kettermann, Billi, and Carminati</label><mixed-citation>Smeraglia, L., Mercuri, M., Tavani, S., Pignalosa, A., Kettermann, M., Billi, A., and Carminati, E.: 3D Discrete Fracture Network (DFN) Models of Damage Zone Fluid Corridors within a Reservoir-Scale Normal Fault in Carbonates: Multiscale Approach Using Field Data and UAV Imagery, Mar. Petrol. Geol., 126, 104902, <ext-link xlink:href="https://doi.org/10.1016/j.marpetgeo.2021.104902" ext-link-type="DOI">10.1016/j.marpetgeo.2021.104902</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx58"><label>Soto-Pinto et al.(2013)Soto-Pinto, Arellano-Baeza, and Sánchez</label><mixed-citation>Soto-Pinto, C., Arellano-Baeza, A., and Sánchez, G.: A New Code for Automatic Detection and Analysis of the Lineament Patterns for Geophysical and Geological Purposes (ADALGEO), Comput. Geosci., 57, 93–103, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2013.03.019" ext-link-type="DOI">10.1016/j.cageo.2013.03.019</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx59"><label>Steck et al.(2001)Steck, Epard, Escher, Gouffon, and Masson</label><mixed-citation>Steck, A., Epard, J.-L., Escher, A., Gouffon, Y., and Masson, H.: Carte tectonique des Alpes de Suisse occidentale <inline-formula><mml:math id="M158" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>:</mml:mo><mml:mn mathvariant="normal">100</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mn mathvariant="normal">000</mml:mn></mml:mrow></mml:math></inline-formula>, Office féd. Eaux Géologie (Berne), 2001.</mixed-citation></ref>
      <ref id="bib1.bibx60"><label>Sumi et al.(2024)Sumi, Das, Hossain, Dey, and Schuckers</label><mixed-citation>Sumi, M. R., Das, P., Hossain, A., Dey, S., and Schuckers, S.: A Comprehensive Evaluation of Iris Segmentation on Benchmarking Datasets, Sensors, 24, 7079, <ext-link xlink:href="https://doi.org/10.3390/s24217079" ext-link-type="DOI">10.3390/s24217079</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx61"><label>swisstopo(2024)</label><mixed-citation>swisstopo: Tectonic Map of Switzerland <inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>:</mml:mo><mml:mn mathvariant="normal">500</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mn mathvariant="normal">000</mml:mn></mml:mrow></mml:math></inline-formula>, Federal Office of Topography Swisstopo, Wabern, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx62"><label>Thiele et al.(2017a)Thiele, Vollgger, and Anindita Samsu</label><mixed-citation>Thiele, S., Vollgger, S., and Samsu, A.: GeoTrace and Compass Rapid Trace-Mapping (Example Data), Monash University [data set], <ext-link xlink:href="https://doi.org/10.4225/03/5981B31091AF9" ext-link-type="DOI">10.4225/03/5981B31091AF9</ext-link>, 2017a.</mixed-citation></ref>
      <ref id="bib1.bibx63"><label>Thiele et al.(2017b)Thiele, Grose, Samsu, Micklethwaite, Vollgger, and Cruden</label><mixed-citation>Thiele, S. T., Grose, L., Samsu, A., Micklethwaite, S., Vollgger, S. A., and Cruden, A. R.: Rapid, semi-automatic fracture and contact mapping for point clouds, images and geophysical data, Solid Earth, 8, 1241–1253, <ext-link xlink:href="https://doi.org/10.5194/se-8-1241-2017" ext-link-type="DOI">10.5194/se-8-1241-2017</ext-link>, 2017b.</mixed-citation></ref>
      <ref id="bib1.bibx64"><label>Vasuki et al.(2014)Vasuki, Holden, Kovesi, and Micklethwaite</label><mixed-citation>Vasuki, Y., Holden, E.-J., Kovesi, P., and Micklethwaite, S.: Semi-Automatic Mapping of Geological Structures Using UAV-based Photogrammetric Data: An Image Analysis Approach, Comput. Geosci., 69, 22–32, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2014.04.012" ext-link-type="DOI">10.1016/j.cageo.2014.04.012</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx65"><label>Vasuki et al.(2017)Vasuki, Holden, Kovesi, and Micklethwaite</label><mixed-citation>Vasuki, Y., Holden, E.-J., Kovesi, P., and Micklethwaite, S.: An Interactive Image Segmentation Method for Lithological Boundary Detection: A Rapid Mapping Tool for Geologists, Comput. Geosci., 100, 27–40, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2016.12.001" ext-link-type="DOI">10.1016/j.cageo.2016.12.001</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx66"><label>Villarreal et al.(2022)Villarreal, Garzón, Mora, Rojas, and Ríos</label><mixed-citation>Villarreal, C. A., Garzón, C. G., Mora, J. P., Rojas, J. D., and Ríos, C. A.: Workflow for Capturing Information and Characterizing Difficult-to-Access Geological Outcrops Using Unmanned Aerial Vehicle-Based Digital Photogrammetric Data, Journal of Industrial Information Integration, 26, 100292, <ext-link xlink:href="https://doi.org/10.1016/j.jii.2021.100292" ext-link-type="DOI">10.1016/j.jii.2021.100292</ext-link>, 2022. </mixed-citation></ref>
      <ref id="bib1.bibx67"><label>Wang et al.(2023)Wang, Khodadadzadeh, and Zurita-Milla</label><mixed-citation>Wang, Y., Khodadadzadeh, M., and Zurita-Milla, R.: Spatial+: A New Cross-Validation Method to Evaluate Geospatial Machine Learning Models, Int. J. Appl. Earth Obs., 121, 103364, <ext-link xlink:href="https://doi.org/10.1016/j.jag.2023.103364" ext-link-type="DOI">10.1016/j.jag.2023.103364</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx68"><label>Weismüller et al.(2020)Weismüller, Prabhakaran, Passchier, Urai, Bertotti, and Reicherter</label><mixed-citation>Weismüller, C., Prabhakaran, R., Passchier, M., Urai, J. L., Bertotti, G., and Reicherter, K.: Mapping the fracture network in the Lilstock pavement, Bristol Channel, UK: manual versus automatic, Solid Earth, 11, 1773–1802, <ext-link xlink:href="https://doi.org/10.5194/se-11-1773-2020" ext-link-type="DOI">10.5194/se-11-1773-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx69"><label>Xie et al.(2021)Xie, Wang, Yu, Anandkumar, Alvarez, and Luo</label><mixed-citation>Xie, E., Wang, W., Yu, Z., Anandkumar, A., Alvarez, J. M., and Luo, P.: SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers, arXiv, <ext-link xlink:href="https://doi.org/10.48550/arXiv.2105.15203" ext-link-type="DOI">10.48550/arXiv.2105.15203</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx70"><label>Yaqoob et al.(2024)Yaqoob, Ishaq, Ansari, Konagandla, Tamimi, Tavani, Corradetti, and Seers</label><mixed-citation>Yaqoob, M., Ishaq, M., Ansari, M. Y., Konagandla, V. R. S., Tamimi, T. A., Tavani, S., Corradetti, A., and Seers, T. D.: GeoCrack: A High-Resolution Dataset For Segmentation of Fracture Edges in Geological Outcrops, Sci. Data, 11, 1318, <ext-link xlink:href="https://doi.org/10.1038/s41597-024-04107-0" ext-link-type="DOI">10.1038/s41597-024-04107-0</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx71"><label>Zhang et al.(2024)Zhang, Yi, Li, and Lu</label><mixed-citation>Zhang, R., Yi, X., Li, H., and Lu, G.: Automatic Extraction of Geological Discontinuities of a Tunnel Surface by Integrating Multiple Features, Tunn. Undergr. Sp. Tech., 154, 106072, <ext-link xlink:href="https://doi.org/10.1016/j.tust.2024.106072" ext-link-type="DOI">10.1016/j.tust.2024.106072</ext-link>, 2024.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Towards robust fracture mapping: benchmarking automatic fracture mapping in 2D outcrop imagery</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Abid et al.(2019)Abid, Abdalla, Abid, Khan, Alfozan, and Zou</label><mixed-citation>
      
Abid, A., Abdalla, A., Abid, A., Khan, D., Alfozan, A., and Zou, J.:
Gradio: Hassle-Free Sharing and Testing of ML Models in the Wild, arXiv, <a href="https://doi.org/10.48550/arXiv.1906.02569" target="_blank">https://doi.org/10.48550/arXiv.1906.02569</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Adiri et al.(2017)Adiri, El Harti, Jellouli, Lhissou, Maacha, Azmi, Zouhair, and Bachaoui</label><mixed-citation>
      
Adiri, Z., El Harti, A., Jellouli, A., Lhissou, R., Maacha, L., Azmi, M., Zouhair, M., and Bachaoui, E. M.:
Comparison of Landsat-8, ASTER and Sentinel 1 Satellite Remote Sensing Data in Automatic Lineaments Extraction: A Case Study of Sidi Flah-Bouskour Inlier, Moroccan Anti Atlas, Adv. Space Res., 60, 2355–2367, <a href="https://doi.org/10.1016/j.asr.2017.09.006" target="_blank">https://doi.org/10.1016/j.asr.2017.09.006</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Aghaee et al.(2021)Aghaee, Shamsipour, Hood, and Haugaard</label><mixed-citation>
      
Aghaee, A., Shamsipour, P., Hood, S., and Haugaard, R.:
A Convolutional Neural Network for Semi-Automated Lineament Detection and Vectorisation of Remote Sensing Data Using Probabilistic Clustering: A Method and a Challenge, Comput. Geosci., 151, 104724, <a href="https://doi.org/10.1016/j.cageo.2021.104724" target="_blank">https://doi.org/10.1016/j.cageo.2021.104724</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>An et al.(2023)An, Du, Ma, Niu, Liu, Wang, Du, Childs, Walsh, and Dong</label><mixed-citation>
      
An, Y., Du, H., Ma, S., Niu, Y., Liu, D., Wang, J., Du, Y., Childs, C., Walsh, J., and Dong, R.:
Current State and Future Directions for Deep Learning Based Automatic Seismic Fault Interpretation: A Systematic Review, Earth-Sci. Rev., 243, 104509, <a href="https://doi.org/10.1016/j.earscirev.2023.104509" target="_blank">https://doi.org/10.1016/j.earscirev.2023.104509</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Andrews et al.(2019)Andrews, Roberts, Shipton, Bigi, Tartarello, and Johnson</label><mixed-citation>
      
Andrews, B. J., Roberts, J. J., Shipton, Z. K., Bigi, S., Tartarello, M. C., and Johnson, G.:
How do we see fractures? Quantifying subjective bias in fracture data collection, Solid Earth, 10, 487–516, <a href="https://doi.org/10.5194/se-10-487-2019" target="_blank">https://doi.org/10.5194/se-10-487-2019</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Aydin(2000)</label><mixed-citation>
      
Aydin, A.:
Fractures, Faults, and Hydrocarbon Entrapment, Migration and Flow, Mar. Petrol. Geol., 17, 797–814, <a href="https://doi.org/10.1016/S0264-8172(00)00020-9" target="_blank">https://doi.org/10.1016/S0264-8172(00)00020-9</a>, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Badoux et al.(1959)Badoux, Bonnard, and Burri</label><mixed-citation>
      
Badoux, H., Bonnard, E. G., and Burri, M.: Atlas géologique de la Suisse 1:25 000, feuille 1286 St-Léonard, avec annexe de la feuille Sion (feuille 35 de l'Atlas), Schweizerische Geologische Kommission, Kümmerly &amp; Frey, Bern, <a href="https://data.geo.admin.ch/ch.swisstopo.geologie-geologischer_atlas/erlaeuterungen/GA25-ERL-35.pdf" target="_blank"/> (last access: 25 September 2026), 1959.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Bemis et al.(2014)Bemis, Micklethwaite, Turner, James, Akciz, Thiele, and Bangash</label><mixed-citation>
      
Bemis, S. P., Micklethwaite, S., Turner, D., James, M. R., Akciz, S., Thiele, S. T., and Bangash, H. A.:
Ground-Based and UAV-Based Photogrammetry: A Multi-Scale, High-Resolution Mapping Tool for Structural Geology and Paleoseismology, J. Struct. Geol., 69, 163–178, <a href="https://doi.org/10.1016/j.jsg.2014.10.007" target="_blank">https://doi.org/10.1016/j.jsg.2014.10.007</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Berkowitz(2002)</label><mixed-citation>
      
Berkowitz, B.:
Characterizing Flow and Transport in Fractured Geological Media: A Review, Adv. Water Resour., 25, 861–884, <a href="https://doi.org/10.1016/S0309-1708(02)00042-8" target="_blank">https://doi.org/10.1016/S0309-1708(02)00042-8</a>, 2002.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Bonnet et al.(2001)Bonnet, Bour, Odling, Davy, Main, Cowie, and Berkowitz</label><mixed-citation>
      
Bonnet, E., Bour, O., Odling, N. E., Davy, P., Main, I., Cowie, P., and Berkowitz, B.:
Scaling of Fracture Systems in Geological Media, Rev. Geophys., 39, 347–383, <a href="https://doi.org/10.1029/1999RG000074" target="_blank">https://doi.org/10.1029/1999RG000074</a>, 2001.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Candès and Donoho(2005)</label><mixed-citation>
      
Candès, E. J. and Donoho, D. L.:
Continuous Curvelet Transform: I. Resolution of the Wavefront Set, Appl. Comput. Harmon. A., 19, 162–197, <a href="https://doi.org/10.1016/j.acha.2005.02.003" target="_blank">https://doi.org/10.1016/j.acha.2005.02.003</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Candès and Guo(2002)</label><mixed-citation>
      
Candès, E. J. and Guo, F.:
New Multiscale Transforms, Minimum Total Variation Synthesis: Applications to Edge-Preserving Image Reconstruction, Signal Process., 82, 1519–1543, <a href="https://doi.org/10.1016/S0165-1684(02)00300-6" target="_blank">https://doi.org/10.1016/S0165-1684(02)00300-6</a>, 2002.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Chudasama et al.(2024)Chudasama, Ovaskainen, Tamminen, Nordbäck, Engström, and Aaltonen</label><mixed-citation>
      
Chudasama, B., Ovaskainen, N., Tamminen, J., Nordbäck, N., Engström, J., and Aaltonen, I.:
Automated Mapping of Bedrock-Fracture Traces from UAV-acquired Images Using U-Net Convolutional Neural Networks, Comput. Geosci., 182, 105463, <a href="https://doi.org/10.1016/j.cageo.2023.105463" target="_blank">https://doi.org/10.1016/j.cageo.2023.105463</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Constantine(2001)</label><mixed-citation>
      
Constantine, A.:
Sedimentology, Stratigraphy and Palaeoenvironment of the Upper Jurassic-Lower Cretaceous Non-Marine Strzelecki Group, Gippsland Basin, Southeastern Australia, PhD thesis, Monash University, 2001.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Coulibaly et al.(2021)Saint Jean Patrick Coulibaly, Talnan Jean Honoré, Naga, Claude Alain Kouadio, Régis Mailly DIDI, Diedhiou, and Savane</label><mixed-citation>
      
Coulibaly, H. S. J. P., Coulibaly, T. J. H., Coulibaly, N., Kouadio, K. C. A., Didi, S. R. M., Diedhiou, A., and Savane, I.:
Groundwater Exploration Using Extraction of Lineaments from SRTM DEM and Water Flows in Béré Region, Egyptian Journal of Remote Sensing and Space Science, 24, 391–400, <a href="https://doi.org/10.1016/j.ejrs.2020.07.003" target="_blank">https://doi.org/10.1016/j.ejrs.2020.07.003</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Do and Vetterli(2005)</label><mixed-citation>
      
Do, M. and Vetterli, M.:
The Contourlet Transform: An Efficient Directional Multiresolution Image Representation, IEEE T. Image Process., 14, 2091–2106, <a href="https://doi.org/10.1109/TIP.2005.859376" target="_blank">https://doi.org/10.1109/TIP.2005.859376</a>, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Duda and Hart(1972)</label><mixed-citation>
      
Duda, R. O. and Hart, P. E.:
Use of the Hough Transformation to Detect Lines and Curves in Pictures, Commun. ACM, 15, 11–15, <a href="https://doi.org/10.1145/361237.361242" target="_blank">https://doi.org/10.1145/361237.361242</a>, 1972.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Esri(2026)</label><mixed-citation>
      
Esri: World Imagery [basemap], Esri, Vantor, Earthstar Geographics, and the GIS User Community, <a href="https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer" target="_blank"/> (last access: 28 September 2026), 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Fan and Ni(2023)</label><mixed-citation>
      
Fan, J. and Ni, C.:
Comparative Studies on the Extraction of Lineaments and Its Variability Based on an Improved Line Segment Tracking Method—Taking the Gaosong Ore Field in the Gejiu Gejiu Tin Ore Deposit as an Example, Appl. Sci., 13, 1314, <a href="https://doi.org/10.3390/app13031314" target="_blank">https://doi.org/10.3390/app13031314</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Fatihi and Thiele(2025)</label><mixed-citation>
      
Fatihi, A. and Thiele, S.:
ayoubft/fractex2D.pt, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.17953223" target="_blank">https://doi.org/10.5281/zenodo.17953223</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Fatihi et al.(2025a)Fatihi, Caldeira, Beucler, Thiele, and Samsu</label><mixed-citation>
      
Fatihi, A., Caldeira, J., Beucler, T., Thiele, S., and Samsu, A.:
FraXet, Zenodo [data set], <a href="https://doi.org/10.5281/zenodo.17069947" target="_blank">https://doi.org/10.5281/zenodo.17069947</a>, 2025a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Fatihi et al.(2025b)Fatihi, Caldeira, Beucler, Thiele, and Samsu</label><mixed-citation>
      
Fatihi, A., Caldeira, J., Beucler, T., Thiele, S., and Samsu, A.:
Fracture Mapping Models Trained on FraXet, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.17866853" target="_blank">https://doi.org/10.5281/zenodo.17866853</a>, 2025b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Gaikwad et al.(2023)Gaikwad, Singh, Salunke, and Kudnar</label><mixed-citation>
      
Gaikwad, V., Singh, K., Salunke, V., and Kudnar, N.:
GIS-based Comparative Analysis of Lineament Extraction by Using Different Azimuth Angles: A Case Study of Mula River Basin, Maharashtra, India, Arab. J. Geosci., 16, 538, <a href="https://doi.org/10.1007/s12517-023-11636-2" target="_blank">https://doi.org/10.1007/s12517-023-11636-2</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Guo(2023)</label><mixed-citation>
      
Guo, Y.:
Augmentation Is AUtO-Net: Augmentation-Driven Contrastive Multiview Learning for Medical Image Segmentation, arXiv, <a href="https://doi.org/10.48550/arXiv.2311.01023" target="_blank">https://doi.org/10.48550/arXiv.2311.01023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Han et al.(2018)Han, Liu, Ning, and Zhao</label><mixed-citation>
      
Han, L., Liu, Z., Ning, Y., and Zhao, Z.:
Extraction and Analysis of Geological Lineaments Combining a DEM and Remote Sensing Images from the Northern Baoji Loess Area, Adv. Space Res., 62, 2480–2493, <a href="https://doi.org/10.1016/j.asr.2018.07.030" target="_blank">https://doi.org/10.1016/j.asr.2018.07.030</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Härmä(2020)</label><mixed-citation>
      
Härmä, P.:
Natural Stone Exploration in the Classic Wiborg Rapakivi Granite Batholith of Southeastern Finland – New Insights from Integration of Lithological, Geophysical and Structural Data, PhD thesis, Department of Geosciences and Geography, University of Helsinki, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Kirillov et al.(2023)Kirillov, Mintun, Ravi, Mao, Rolland, Gustafson, Xiao, Whitehead, Berg, Lo, Dollár, and Girshick</label><mixed-citation>
      
Kirillov, A., Mintun, E., Ravi, N., Mao, H., Rolland, C., Gustafson, L., Xiao, T., Whitehead, S., Berg, A. C., Lo, W.-Y., Dollár, P., and Girshick, R.:
Segment Anything, arXiv, <a href="https://doi.org/10.48550/arXiv.2304.02643" target="_blank">https://doi.org/10.48550/arXiv.2304.02643</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Koike et al.(1995)Koike, Nagano, and Ohmi</label><mixed-citation>
      
Koike, K., Nagano, S., and Ohmi, M.:
Lineament Analysis of Satellite Images Using a Segment Tracing Algorithm (STA), Comput. Geosci., 21, 1091–1104, <a href="https://doi.org/10.1016/0098-3004(95)00042-7" target="_blank">https://doi.org/10.1016/0098-3004(95)00042-7</a>, 1995.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Kovesi(1999)</label><mixed-citation>
      
Kovesi, P.:
Image Features from Phase Congruency, Videre: Journal of Computer Vision Research, MIT Press, 1, 1–26, 1999.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Kovesi(2000)</label><mixed-citation>
      
Kovesi, P.:
Phase Congruency: A Low-Level Image Invariant, Psychological Research, 64, 136–148, <a href="https://doi.org/10.1007/s004260000024" target="_blank">https://doi.org/10.1007/s004260000024</a>, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Krieger(1965)</label><mixed-citation>
      
Krieger, M. L. H.:
Geology of the Prescott and Paulden Quadrangles, Arizona, Tech. Rep. 467, U. S. Govt. Print. Off., <a href="https://doi.org/10.3133/pp467" target="_blank">https://doi.org/10.3133/pp467</a>, 1965.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Kuş and Aydin(2024)</label><mixed-citation>
      
Kuş, Z. and Aydin, M.:
MedSegBench: A Comprehensive Benchmark for Medical Image Segmentation in Diverse Data Modalities, Sci. Data, 11, 1283, <a href="https://doi.org/10.1038/s41597-024-04159-2" target="_blank">https://doi.org/10.1038/s41597-024-04159-2</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>LeCun et al.(2015)LeCun, Bengio, and Hinton</label><mixed-citation>
      
LeCun, Y., Bengio, Y., and Hinton, G.:
Deep Learning, Nature, 521, 436–444, <a href="https://doi.org/10.1038/nature14539" target="_blank">https://doi.org/10.1038/nature14539</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Mallat and Hwang(1992)</label><mixed-citation>
      
Mallat, S. and Hwang, W.:
Singularity Detection and Processing with Wavelets, IEEE T. Inform. Theory, 38, 617–643, <a href="https://doi.org/10.1109/18.119727" target="_blank">https://doi.org/10.1109/18.119727</a>, 1992.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Masoud and Koike(2017)</label><mixed-citation>
      
Masoud, A. and Koike, K.:
Applicability of Computer-Aided Comprehensive Tool (LINDA: LINeament Detection and Analysis) and Shaded Digital Elevation Model for Characterizing and Interpreting Morphotectonic Features from Lineaments, Comput. Geosci., 106, 89–100, <a href="https://doi.org/10.1016/j.cageo.2017.06.006" target="_blank">https://doi.org/10.1016/j.cageo.2017.06.006</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Masoud and Koike(2011)</label><mixed-citation>
      
Masoud, A. A. and Koike, K.:
Auto-Detection and Integration of Tectonically Significant Lineaments from SRTM DEM and Remotely-Sensed Geophysical Data, ISPRS J. Photogramm., 66, 818–832, <a href="https://doi.org/10.1016/j.isprsjprs.2011.08.003" target="_blank">https://doi.org/10.1016/j.isprsjprs.2011.08.003</a>, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Mattéo et al.(2020)Mattéo, Manighetti, Tarabalka, Gaucel, Van Den Ende, Mercier, Tasar, Girard, Leclerc, Giampetro, Dominguez, and Malavieille</label><mixed-citation>
      
Mattéo, L., Manighetti, I., Tarabalka, Y., Gaucel, J.-M., van den Ende, M., Mercier, A., Tasar, O., Girard, N., Leclerc, F., Giampetro, T., Dominguez, S., and Malavieille, J.: Dataset of manuscript “Automatic fault mapping in remote optical images and topographic data with deep learning”, Zenodo [data set], <a href="https://doi.org/10.5281/zenodo.4611494" target="_blank">https://doi.org/10.5281/zenodo.4611494</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Mattéo et al.(2021)Mattéo, Manighetti, Tarabalka, Gaucel, van den Ende, Mercier, Tasar, Girard, Leclerc, Giampetro, Dominguez, and Malavieille</label><mixed-citation>
      
Mattéo, L., Manighetti, I., Tarabalka, Y., Gaucel, J.-M., van den Ende, M., Mercier, A., Tasar, O., Girard, N., Leclerc, F., Giampetro, T., Dominguez, S., and Malavieille, J.:
Automatic Fault Mapping in Remote Optical Images and Topographic Data With Deep Learning, J. Geophys. Res.-Sol. Ea., 126, e2020JB021269, <a href="https://doi.org/10.1029/2020JB021269" target="_blank">https://doi.org/10.1029/2020JB021269</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Nordbäck and Ovaskainen(2025)</label><mixed-citation>
      
Nordbäck, N. and Ovaskainen, N.:
UAV-acquired Orthomosaics of Loviisa Shoreline Outcrops, Zenodo [data set], <a href="https://doi.org/10.5281/zenodo.17878870" target="_blank">https://doi.org/10.5281/zenodo.17878870</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Oliveira et al.(2019)Oliveira, Savastano, Matos, Schmitt, Valente, Araujo, and Inocencio</label><mixed-citation>
      
Oliveira, M. J., Savastano, V., Matos, G., Schmitt, R., Valente, V., Araujo, M., and Inocencio, L.:
The Use of Drones and Deep Learning to Identify Igneous Rocks and Fractures, in: Offshore Technology Conference Brasil, <a href="https://doi.org/10.4043/29829-MS" target="_blank">https://doi.org/10.4043/29829-MS</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Ovaskainen and Nordbäck(2022)</label><mixed-citation>
      
Ovaskainen, N. and Nordbäck, N.:
Manually Mapped Traces from UAV-acquired Images of Loviisa Shoreline Outcrops, Zenodo [data set], <a href="https://doi.org/10.5281/zenodo.7077846" target="_blank">https://doi.org/10.5281/zenodo.7077846</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Ovaskainen et al.(2023)Ovaskainen, Skyttä, Nordbäck, and Engström</label><mixed-citation>
      
Ovaskainen, N., Skyttä, P., Nordbäck, N., and Engström, J.:
Detailed investigation of multi-scale fracture networks in glacially abraded crystalline bedrock at Åland Islands, Finland, Solid Earth, 14, 603–624, <a href="https://doi.org/10.5194/se-14-603-2023" target="_blank">https://doi.org/10.5194/se-14-603-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Palamakumbura et al.(2020)Palamakumbura, Krabbendam, Whitbread, and Arnhardt</label><mixed-citation>
      
Palamakumbura, R., Krabbendam, M., Whitbread, K., and Arnhardt, C.:
Data acquisition by digitizing 2-D fracture networks and topographic lineaments in geographic information systems: further development and applications, Solid Earth, 11, 1731–1746, <a href="https://doi.org/10.5194/se-11-1731-2020" target="_blank">https://doi.org/10.5194/se-11-1731-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>Peacock and Sanderson(2026)</label><mixed-citation>
      
Peacock, D. C. P. and Sanderson, D. J.:
Influences of Map Resolution, Quality and Interpretation on Fault Network Topology, Earth-Sci. Rev., 277, 105461, <a href="https://doi.org/10.1016/j.earscirev.2026.105461" target="_blank">https://doi.org/10.1016/j.earscirev.2026.105461</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>Peacock et al.(2019)Peacock, Sanderson, Bastesen, Rotevatn, and Storstein</label><mixed-citation>
      
Peacock, D. C. P., Sanderson, D. J., Bastesen, E., Rotevatn, A., and Storstein, T. H.:
Causes of Bias and Uncertainty in Fracture Network Analysis, Norw. J. Geol., 99, 113–128, <a href="https://doi.org/10.17850/njg99-1-06" target="_blank">https://doi.org/10.17850/njg99-1-06</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>Pola et al.(2024)Pola, Herrera-Díaz, Tinoco-Martínez, Macias, Soto-Rodríguez, Soto-Herrera, Sereno, and Ramón Avellán</label><mixed-citation>
      
Pola, A., Herrera-Díaz, A., Tinoco-Martínez, S. R., Macias, J. L., Soto-Rodríguez, A. N., Soto-Herrera, A. M., Sereno, H., and Ramón Avellán, D.:
Rock Characterization, UAV Photogrammetry and Use of Algorithms of Machine Learning as Tools in Mapping Discontinuities and Characterizing Rock Masses in Acoculco Caldera Complex, B. Eng. Geol. Environ., 83, 260, <a href="https://doi.org/10.1007/s10064-024-03743-5" target="_blank">https://doi.org/10.1007/s10064-024-03743-5</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Potts(2022)</label><mixed-citation>
      
Potts, G. J.:
Simple Rule to Assist in the Construction of the Outcrop Trace of an Inclined Surface, J. Struct. Geol., 165, 104749, <a href="https://doi.org/10.1016/j.jsg.2022.104749" target="_blank">https://doi.org/10.1016/j.jsg.2022.104749</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>Prabhakaran et al.(2019)Prabhakaran, Bruna, Bertotti, and Smeulders</label><mixed-citation>
      
Prabhakaran, R., Bruna, P.-O., Bertotti, G., and Smeulders, D.:
An automated fracture trace detection technique using the complex shearlet transform, Solid Earth, 10, 2137–2166, <a href="https://doi.org/10.5194/se-10-2137-2019" target="_blank">https://doi.org/10.5194/se-10-2137-2019</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>Raghavan et al.(1993)Raghavan, Wadatsumi, and Masumoto</label><mixed-citation>
      
Raghavan, V., Wadatsumi, K., and Masumoto, S.:
Automatic Extraction of Lineament Information from Satellite Images Using Digital Elevation Data, Nonrenewable Resources, 2, 148–155, <a href="https://doi.org/10.1007/BF02272811" target="_blank">https://doi.org/10.1007/BF02272811</a>, 1993.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib50"><label>Raghavan et al.(1995)Raghavan, Masumoto, Koike, and Nagano</label><mixed-citation>
      
Raghavan, V., Masumoto, S., Koike, K., and Nagano, S.:
Automatic Lineament Extraction from Digital Images Using a Segment Tracing and Rotation Transformation Approach, Comput. Geosci., 21, 555–591, <a href="https://doi.org/10.1016/0098-3004(94)00097-E" target="_blank">https://doi.org/10.1016/0098-3004(94)00097-E</a>, 1995.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib51"><label>Rahnama and Gloaguen(2014)</label><mixed-citation>
      
Rahnama, M. and Gloaguen, R.:
TecLines: A MATLAB-Based Toolbox for Tectonic Lineament Analysis from Satellite Images and DEMs, Part 1: Line Segment Detection and Extraction, Remote Sens., 6, 5938–5958, <a href="https://doi.org/10.3390/rs6075938" target="_blank">https://doi.org/10.3390/rs6075938</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib52"><label>Ren and Malik(2003)</label><mixed-citation>
      
Ren, X. and Malik, J.:
Learning a Classification Model for Segmentation, in: Proceedings Ninth IEEE International Conference on Computer Vision, vol.1, IEEE, Nice, France, pp. 10–17, <a href="https://doi.org/10.1109/ICCV.2003.1238308" target="_blank">https://doi.org/10.1109/ICCV.2003.1238308</a>, 2003.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib53"><label>Ronneberger et al.(2015)Ronneberger, Fischer, and Brox</label><mixed-citation>
      
Ronneberger, O., Fischer, P., and Brox, T.:
U-Net: Convolutional Networks for Biomedical Image Segmentation, in: Medical Image Computing and Computer-Assisted Intervention – MICCAI 2015, edited by: Navab, N., Hornegger, J., Wells, W. M., and Frangi, A. F., Lecture Notes in Computer Science, Springer International Publishing, Cham, pp. 234–241, <a href="https://doi.org/10.1007/978-3-319-24574-4_28" target="_blank">https://doi.org/10.1007/978-3-319-24574-4_28</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib54"><label>Samsu et al.(2019)Samsu, Cruden, and Vollgger</label><mixed-citation>
      
Samsu, A., Cruden, A., and Vollgger, S.:
Scale Matters: The Influence of Structural Inheritance on Fracture Patterns – Supplementary Material, Monash University [data set], <a href="https://doi.org/10.26180/5CDCAD0A73FE0" target="_blank">https://doi.org/10.26180/5CDCAD0A73FE0</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib55"><label>Sanderson and Nixon(2015)</label><mixed-citation>
      
Sanderson, D. J. and Nixon, C. W.:
The Use of Topology in Fracture Network Characterization, J. Struct. Geol., 72, 55–66, <a href="https://doi.org/10.1016/j.jsg.2015.01.005" target="_blank">https://doi.org/10.1016/j.jsg.2015.01.005</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib56"><label>Scheiber et al.(2015)Scheiber, Fredin, Viola, Jarna, Gasser, and Łapińska-Viola</label><mixed-citation>
      
Scheiber, T., Fredin, O., Viola, G., Jarna, A., Gasser, D., and Łapińska-Viola, R.:
Manual Extraction of Bedrock Lineaments from High-Resolution LiDAR Data: Methodological Bias and Human Perception, GFF, 137, 362–372, <a href="https://doi.org/10.1080/11035897.2015.1085434" target="_blank">https://doi.org/10.1080/11035897.2015.1085434</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib57"><label>Smeraglia et al.(2021)Smeraglia, Mercuri, Tavani, Pignalosa, Kettermann, Billi, and Carminati</label><mixed-citation>
      
Smeraglia, L., Mercuri, M., Tavani, S., Pignalosa, A., Kettermann, M., Billi, A., and Carminati, E.:
3D Discrete Fracture Network (DFN) Models of Damage Zone Fluid Corridors within a Reservoir-Scale Normal Fault in Carbonates: Multiscale Approach Using Field Data and UAV Imagery, Mar. Petrol. Geol., 126, 104902, <a href="https://doi.org/10.1016/j.marpetgeo.2021.104902" target="_blank">https://doi.org/10.1016/j.marpetgeo.2021.104902</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib58"><label>Soto-Pinto et al.(2013)Soto-Pinto, Arellano-Baeza, and Sánchez</label><mixed-citation>
      
Soto-Pinto, C., Arellano-Baeza, A., and Sánchez, G.:
A New Code for Automatic Detection and Analysis of the Lineament Patterns for Geophysical and Geological Purposes (ADALGEO), Comput. Geosci., 57, 93–103, <a href="https://doi.org/10.1016/j.cageo.2013.03.019" target="_blank">https://doi.org/10.1016/j.cageo.2013.03.019</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib59"><label>Steck et al.(2001)Steck, Epard, Escher, Gouffon, and Masson</label><mixed-citation>
      
Steck, A., Epard, J.-L., Escher, A., Gouffon, Y., and Masson, H.:
Carte tectonique des Alpes de Suisse occidentale 1:100 000, Office féd. Eaux Géologie (Berne), 2001.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib60"><label>Sumi et al.(2024)Sumi, Das, Hossain, Dey, and Schuckers</label><mixed-citation>
      
Sumi, M. R., Das, P., Hossain, A., Dey, S., and Schuckers, S.:
A Comprehensive Evaluation of Iris Segmentation on Benchmarking Datasets, Sensors, 24, 7079, <a href="https://doi.org/10.3390/s24217079" target="_blank">https://doi.org/10.3390/s24217079</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib61"><label>swisstopo(2024)</label><mixed-citation>
      
swisstopo:
Tectonic Map of Switzerland 1:500 000, Federal Office of Topography Swisstopo, Wabern, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib62"><label>Thiele et al.(2017a)Thiele, Vollgger, and Anindita Samsu</label><mixed-citation>
      
Thiele, S., Vollgger, S., and Samsu, A.: GeoTrace and Compass Rapid Trace-Mapping (Example Data), Monash University [data set], <a href="https://doi.org/10.4225/03/5981B31091AF9" target="_blank">https://doi.org/10.4225/03/5981B31091AF9</a>, 2017a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib63"><label>Thiele et al.(2017b)Thiele, Grose, Samsu, Micklethwaite, Vollgger, and Cruden</label><mixed-citation>
      
Thiele, S. T., Grose, L., Samsu, A., Micklethwaite, S., Vollgger, S. A., and Cruden, A. R.:
Rapid, semi-automatic fracture and contact mapping for point clouds, images and geophysical data, Solid Earth, 8, 1241–1253, <a href="https://doi.org/10.5194/se-8-1241-2017" target="_blank">https://doi.org/10.5194/se-8-1241-2017</a>, 2017b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib64"><label>Vasuki et al.(2014)Vasuki, Holden, Kovesi, and Micklethwaite</label><mixed-citation>
      
Vasuki, Y., Holden, E.-J., Kovesi, P., and Micklethwaite, S.:
Semi-Automatic Mapping of Geological Structures Using UAV-based Photogrammetric Data: An Image Analysis Approach, Comput. Geosci., 69, 22–32, <a href="https://doi.org/10.1016/j.cageo.2014.04.012" target="_blank">https://doi.org/10.1016/j.cageo.2014.04.012</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib65"><label>Vasuki et al.(2017)Vasuki, Holden, Kovesi, and Micklethwaite</label><mixed-citation>
      
Vasuki, Y., Holden, E.-J., Kovesi, P., and Micklethwaite, S.:
An Interactive Image Segmentation Method for Lithological Boundary Detection: A Rapid Mapping Tool for Geologists, Comput. Geosci., 100, 27–40, <a href="https://doi.org/10.1016/j.cageo.2016.12.001" target="_blank">https://doi.org/10.1016/j.cageo.2016.12.001</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib66"><label>Villarreal et al.(2022)Villarreal, Garzón, Mora, Rojas, and Ríos</label><mixed-citation>
      
Villarreal, C. A., Garzón, C. G., Mora, J. P., Rojas, J. D., and Ríos, C. A.:
Workflow for Capturing Information and Characterizing Difficult-to-Access Geological Outcrops Using Unmanned Aerial Vehicle-Based Digital Photogrammetric Data, Journal of Industrial Information Integration, 26, 100292, <a href="https://doi.org/10.1016/j.jii.2021.100292" target="_blank">https://doi.org/10.1016/j.jii.2021.100292</a>, 2022.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib67"><label>Wang et al.(2023)Wang, Khodadadzadeh, and Zurita-Milla</label><mixed-citation>
      
Wang, Y., Khodadadzadeh, M., and Zurita-Milla, R.:
Spatial+: A New Cross-Validation Method to Evaluate Geospatial Machine Learning Models, Int. J. Appl. Earth Obs., 121, 103364, <a href="https://doi.org/10.1016/j.jag.2023.103364" target="_blank">https://doi.org/10.1016/j.jag.2023.103364</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib68"><label>Weismüller et al.(2020)Weismüller, Prabhakaran, Passchier, Urai, Bertotti, and Reicherter</label><mixed-citation>
      
Weismüller, C., Prabhakaran, R., Passchier, M., Urai, J. L., Bertotti, G., and Reicherter, K.:
Mapping the fracture network in the Lilstock pavement, Bristol Channel, UK: manual versus automatic, Solid Earth, 11, 1773–1802, <a href="https://doi.org/10.5194/se-11-1773-2020" target="_blank">https://doi.org/10.5194/se-11-1773-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib69"><label>Xie et al.(2021)Xie, Wang, Yu, Anandkumar, Alvarez, and Luo</label><mixed-citation>
      
Xie, E., Wang, W., Yu, Z., Anandkumar, A., Alvarez, J. M., and Luo, P.:
SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers, arXiv, <a href="https://doi.org/10.48550/arXiv.2105.15203" target="_blank">https://doi.org/10.48550/arXiv.2105.15203</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib70"><label>Yaqoob et al.(2024)Yaqoob, Ishaq, Ansari, Konagandla, Tamimi, Tavani, Corradetti, and Seers</label><mixed-citation>
      
Yaqoob, M., Ishaq, M., Ansari, M. Y., Konagandla, V. R. S., Tamimi, T. A., Tavani, S., Corradetti, A., and Seers, T. D.:
GeoCrack: A High-Resolution Dataset For Segmentation of Fracture Edges in Geological Outcrops, Sci. Data, 11, 1318, <a href="https://doi.org/10.1038/s41597-024-04107-0" target="_blank">https://doi.org/10.1038/s41597-024-04107-0</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib71"><label>Zhang et al.(2024)Zhang, Yi, Li, and Lu</label><mixed-citation>
      
Zhang, R., Yi, X., Li, H., and Lu, G.:
Automatic Extraction of Geological Discontinuities of a Tunnel Surface by Integrating Multiple Features, Tunn. Undergr. Sp. Tech., 154, 106072, <a href="https://doi.org/10.1016/j.tust.2024.106072" target="_blank">https://doi.org/10.1016/j.tust.2024.106072</a>, 2024.

    </mixed-citation></ref-html>--></article>
