Background & Summary

The analysis of fracture networks hosted within rock formations represents a key component of many geoscience, geoengineering and geotechnical engineering workflows. For example, natural fracture systems impart petrophysical anisotropy within the upper crust, often playing an integral role in the movement and trapping of mobile geofluids within both porous and crystalline geologic media, and determining the pathways and eventual fates of contaminants released into the shallow subsurface. Consequently, the characterization and modelling of fracture networks represents a first order consideration within numerous subsurface engineering applications, including CO2 sequestration1, hydrocarbon and geothermal reservoir characterization2,3, and nuclear waste geological disposal facility site appraisal4. Furthermore, fracture networks govern rock mass strength, with the relative density of natural and induced fractures forming key inputs into rock mass classification schemes, commonly used to evaluate slope stability and steer the safe implementation of engineering structures, such as bridge footings, dam foundations, and tunnel portals5. Finally, discontinuity networks often formed the locus of strain accommodation during deformation within the brittle crust6, acting as an archive for paleostress fields, aiding the study of ancient plate kinematics7,8.

While fracture systems can be observed in-situ via quasi-1D sampling of wellbore micro-resistivity images and core9, rock exposures at the Earth’s surface are the most common medium used for the study of discontinuity network geometry10,11,12,13,14,15, both directly for rock mass classification and as analogues for subsurface equivalents. The intersection of a quasi-planar discontinuity with the rock exposure is typically expressed as a lineament or trace2,16. Fracture characterization studies seek to interrogate these structural traces to elicit the key properties (e.g., size, intensity, topology) of the underlying fracture network, either through manual surveys2 or digitization of trace maps from remotely sensed imagery (esp. RGB photography11,13). With respect to fracture characterization from outcrop images, considerable effort has been expended over the past several decades to automate trace map digitization. Conventionally, these efforts have focused upon the use of classic edge detection algorithms which leverage discontinuities in pixel intensity (e.g., Hough Transform, Sobel, Canny, Phase Congruency13,17,18,19,20). More recently, deep-learning based edge detection/segmentation has emerged as a powerful tool for the automatic extraction of structural traces21,22,23, potentially overcoming key limitations of classic pixel intensity-based approaches, such as challenging manual parameter selection and the unwanted detection of non-trace objects.

Presently, there is an ostensible lack of comprehensive and standardized datasets focused on fracture edges in outcrop images, which acts as a major bottleneck restricting the development and benchmarking of deep learning-based semantic edge segmentation approaches for the automated extraction of structural traces from rock exposures. Existing research is often fragmented and lacks large-scale, high-precision annotated image edge datasets which are common within other scientific disciplines (i.e., materials science24, civil infrastructure25,26,27, food recognition28, and biomedical imaging29,30,31). To address this gap, we have developed a first-of-a-kind extensive dataset of annotated fracture edges, amenable to the training and testing of diverse deep learning architectures, such as convolutional neural networks (CNNs)32,33,34,35,36 and Vision Transformers (ViTs). This dataset includes images of rock outcrops from 11 geologically diverse and extensively characterized study areas, with digital photographs captured using both terrestrial and unmanned aerial vehicle (UAV) based surveys. A subset of 49 representative high-quality images has been selected from this global database and subjected to filtering, cleaning, and manual annotation. The selected images contain a variety of fracture geometries, as well as non-fracture scene elements (e.g., roots, shadows) which give rise to false positives during edge segmentation, providing a test-bed for automated discontinuity extraction under real-world conditions. Annotation quality was maintained using both peer-to-peer evaluations between operators and consultation with structural geologists, ensuring pixel-level accuracy and objective validity. Vetted annotated images were split into 224 × 224 patches suited for deep learning model training, which were further vetted for image quality and fracture density, resulting in 12158 patches containing 127659 individual fracture edges. To demonstrate the utility of the GeoCrack dataset37 for deep edge segmentation model development, we have implemented a U-Net classifier trained with a subset of 1245 patches. With an Intersection over Union (IoU) score of 85% and a pixel accuracy of 92%, this rudimentary model demonstrates the GeoCrack’s utility for deep learning model development for geological fracture edge segmentation tasks. Consequently, we believe that the GeoCrack dataset37 holds substantial potential not only for semantic edge segmentation routines but also as a foundation for future multi-class segmentation efforts that could incorporate additional classes such as vegetation and fractures. This expansion promises to be transformative towards numerous geoscientific, geoengineering, and geotechnical application areas, such as fractured outcrop analog modeling, rock mass classification, and paleotectonic reconstruction.

Methods

Compilation of the GeoCrack dataset37 involved the following stages: (1) photogrammetric survey acquisition and preprocessing, (2) manual annotation of fracture traces, (3) verification and correction of annotated edge masks, (4) extraction and retention of optimal image-mask patches using a smart patch retention algorithm, and (5) final verification and compilation of the complete dataset (see Fig. 1). Detailed descriptions of these steps are provided below to ensure reproducibility and facilitate future expansion of the dataset towards different lithologies and/or structural domains.

Fig. 1
figure 1

Schematic of the data development and validation process, including image selection, fracture annotation, validation, patch retention, and dataset assembly.

Image acquisition, selection, preprocessing

Images were acquired during photogrammetric survey campaigns conducted within Europe (Greece, Malta, and Italy) and the Middle East (Oman and the United Arab Emirates), mapping naturally fractured outcrops. Surveys targeted a range of lithologies (carbonate and clastic sedimentary rocks, crystalline ultramafic igneous rocks), hosting different styles of discontinuities (e.g., joints, faults, shear fractures, styolites) formed a variety of stress regimes (see Table 1). Surveys were conducted using both unmanned aerial vehicle (UAV) and terrestrial image capture using a range of camera models and lenses (see Table 2). An advantage of photogrammetric surveys in the context of the current dataset is that the high degree of image overlap required for surface reconstruction produces redundancy in outcrop coverage, providing a large database for optimum image selection. Moreover, the photogrammetric post-processing of the photo-survey dataset also facilitates the removal of lens distortion effects via self calibration38. However, terrestrial and aerial surveys were conducted using prime lenses in order to minimize distortion aberrations. Images were collected using photogrammetric survey best practices outlined in Tavani et al.39. For example, surveys were conducted wherever possible under a limited time window with cloud cover and/or the sun behind the camera to ensure homogeneous illumination and to minimize shadowing and lens flare. Moreover, where possible images were captured orthonormally and equidistant to the target exposure surfaces to minimize perspective effects and disparities in ground sampling distance (the distance between two neighboring pixel centroids as measured on the ground: GSD) across individual surveys.

Table 1 Details of outcrop locations, host lithology, and relevant literature for various geological sites.
Table 2 Details of the outcrop locations, camera specifications, and image capture settings for various geological sites.

We implemented stringent quality control measures to select a subset of representative images from each site, ensuring that only those with a minimum resolution of 300 DPI and dimensions of 4032 × 3024 pixels were retained post-cropping to remove non-geological scene elements. Survey distances varied from several meters to several tens of meters depending on the scale of the exposure and accessibility. Images were chosen based on fracture density and excluded if they had low exposure or significant non-geological elements, such as sky, foreground, drift, vegetation, or were heavily impacted by optical artifacts, such as lens flare or diffraction spikes. Motion blur was quantified using Discrete Wavelet Transform (DWT), with a threshold set at less than 0.5% deviation in pixel alignment consistency, following empirical studies that indicate this limit minimizes perceptible blur40,41. Aliasing was assessed using Fourier analysis, ensuring high-frequency artifacts did not exceed 2% of the total image spectrum, as supported by literature on spatial accuracy42,43. Our quantitative analysis revealed an average motion blur deviation of 0.3% and a 12% discard rate due to artifacts, demonstrating the robustness of our selection criteria.

For compilation of the present dataset, fracture identification and delineation are performed manually, leveraging the textural expression of discontinuities on the imaged exposure surfaces. When exposed at the earth’s surface, fractures typically appear as linear or curvilinear objects, detectable as a visible discontinuity within the exposed rock mass. In outcrop, fractures can vary significantly in size, from hairline cracks to laterally extensive fissures with broad apertures. It should be noted that the ability to detect a given discontinuity from an image is heavily dependent upon numerous factors. GSD (itself a function of image resolution and distance to the targeted exposure surface) and the apparent fracture aperture (which can be positively correlated to fracture size44,45) arguably offer the primary controls over the detectability of a given fracture. Additionally, the degree of contrast between fracture trace and its host medium depends upon a multitude of geological, geomechanical, and geomorphological factors, such as the occurrence and relative magnitude of displacement across the discontinuity plane (i.e., in the case of faults), host rock composition and color, the degree of outcrop induration and weathering, the presence of fracture cement and/or discoloration/staining related to groundwater seepage, all of which may serve to highlight or obfuscate the target discontinuity. Physical occlusions, such as the presence of shadows, drift, and vegetation/roots may also hamper fracture identification (Fig. 2D). In some cases, scene artifacts such as surficial staining and shadowing may even mimic the appearance of cracks (Fig. 2B,C), potentially resulting in false positives during fracture identification. In addition, not all compositional and/or structural discontinuities within the rock mass constitute fracture traces, which may result in the erroneous annotation of non-fracture objects. Bedding interfaces, sedimentary structures, and stylolites, which form coevally to the deposition of sedimentary rocks and preclude brittle deformation, can represent pronounced lineations within the rock mass. Man-made discontinuities related to excavation and extraction activities, such as blast holes, which mimic the presence of geologic fractures (Fig. 2A), represent additional sources of error during fracture identification. Finally, the geometry and topology of the fracture network itself impact the operator’s ability to identify individual fracture traces, with blind fractures isolated within the rock mass (see Seers et al.13) generally being more readily separable than complex branching or anatomizing discontinuity forms.

Fig. 2
figure 2

Common scene artifacts: (A) Blast holes. Occlusions due to (B) vegetation and (C) roots. (D) Shadow effects.

It is clear from the above discussion that the ability to detect and delineate a given fracture is highly case-specific, meaning that it is challenging to define unifying rules in terms of optimum image capture parameters, target image spatial resolution with respect to the feature resolution of the discontinuity network, or minimum cut-offs in terms of fracture trace length or aperture (i.e., in pixel units) with respect to fracture detectability. The diverse range of conditions and confounding elements in the selected images that constitute Geocrack37 highlights the real-world nature of the dataset and underlines the need for robust crack segmentation algorithms capable of handling such complexities (see Fig. 3). Rather than omit challenging scene elements, an effort was expended to include images that contain occlusions and scene elements that are potential false positives within an automated fracture detection routine. Indeed, the primary motivation behind the compilation of GeoCrack37 is to develop a standardized structural trace image database that can act as a test bed for deep learning-based fracture segmentation techniques, subject to real-world conditions.

Fig. 3
figure 3

Examples of diverse fracture edges in the dataset, showcasing various annotation challenges. (A) Rock overhang obscuring fracture traces; (B) multiple parallel discontinuities resulting in step-like outcrop topography; (C) roots occluding fractures traces; (D) dilated fissures resulting in shadow occlusions; (E) surficial weathering introducing textural complexity, obfuscating trace identification; (F) fine, (apparent) discontinuous layer-bound fractures; (G) vegetation partially obscuring fracture traces; (H) dilated aperture of a curvilinear fracture introducing ambiguity into trace digitization; (I) surficial-staining and vegetation growth within fracture apertures adds complexity into trace delineation; (J) pervasively fractured carbonate with high fracture densities and non-systematic orientations offering complexity for manual digitization; (K) plants and moss nucleating within fracture apertures occluding traces; (L) complex anatomizing and ladderlike fractures connecting systematic joints introducing complexity into the digitization task.

Preprocessing steps were implemented to further enhance image quality and consistency prior to fracture digitization and annotation. These steps included correcting lens distortion in OpenCV46 using its intrinsic radial distortion coefficients (k1, k2) calculated in Agisoft Metashape47 via self-calibration during photogrammetric reconstruction, ensuring accurate geometric representation of the scene. Color balancing was achieved through the Gray World algorithm48, which adjusted color balance to account for varied lighting conditions present during image capture. Normalization was performed using histogram equalization to maintain uniformity in brightness and contrast across the dataset. Further to this, denoising was applied to the selected images to reduce noise (including Gaussian noise from low-light or overcast conditions, sensor noise from varying camera equipment, compression artifacts, and shadow-induced contrast noise), and enhance image clarity in order to aid fracture identification. Specifically, the Non-Local Means (NLM) filter49 was employed, due to its edge-preserving capabilities (parameters: h = 10, templateWindowSize = 7, searchWindowSize = 21). Further filtering, including the Gaussian filter (sigma = 1.5) and median filter (kernel size = 3 × 3) were utilized to smooth the images while preserving essential edge details. Morphological operations (morphological opening/erosion and dilation: kernel size = 3 × 3) were applied to consolidate edges, cleaning fracture trace objects, aiding in the identification and extraction of discontinuity patterns. This process effectively refined the edges of thin, thread-like fractures, facilitating pixel-accurate identification and annotation. Additional image processing, such as contrast enhancement and edge detection algorithms (Hessian-based edge detection50), further highlighted fracture edges by enhancing the visibility of subtle discontinuities.

Fracture annotation

Binary mask creation

Creating binary masks was an essential step in annotating fractures within the selected outcrop images. Once the fractures were identified, each fracture was manually traced to ensure the mask accurately honored the fracture’s geometry, clearly delineating between fractured and non-fractured regions. Annotations were digitized using Adobe Photoshop, where fracture edges were marked on a second mask layer. A consistent brush size of 3px and hardness of 100 was used for all annotations to maintain uniformity across the dataset. We acknowledge this as a limitation, as it may impact precision for fractures narrower than 3 pixels, which would not be captured at a true pixel level (see Fig. 4).

Fig. 4
figure 4

Part of the high-resolution outcrop image (left) and its corresponding binary edge mask (right).

Mask overlay and patching

To create patches, the binary mask was overlaid on the original image and then segmented (see Fig. 5). This overlay facilitated the verification of mask accuracy and provided a clear understanding of the fractures’ spatial distribution. To make the dataset suitable for computer vision (CV) tasks, the overlaid images were divided into smaller patches of 224 × 224 pixels. This resolution was selected based on its compatibility with widely used convolutional neural network (CNN) architectures, such as ResNet and VGG, which commonly operate on image patches of this size51,52. The choice of 224 × 224 pixels strikes a balance between retaining sufficient contextual information for common CV tasks and ensuring computational efficiency during future model training and inference51.

Fig. 5
figure 5

Example of patches created from annotated outcrop images.

Smart patch retention algorithm

The patches created from the annotated images vary in quality. Some patches only contain non-fracture scene elements, such as sky, vegetation, or drift cover, while others include edges that are not representative of the targeted geological features (e.g., corner cases, vehicles, or scale references such as pens and measuring tapes). This variability necessitates a rigorous algorithm to selectively retain patches that are optimal for fracture edge extraction.

The primary criterion for patch selection was to retain only square patches (224 × 224 pixels), discarding edge cases where patches did not meet the criteria. The secondary criterion focused on edge density: each patch must contain at least 25% of its area marked by fracture edges. This threshold ensures preserving patches rich in geological fracture data, thereby enhancing the dataset’s signal-to-noise ratio. We empirically determined the 25% threshold by testing various levels of edge density, ranging from 10% to 50%, and evaluating the signal-to-noise ratio and relevance of the resulting patches. This process balanced the inclusion of relevant objects while excluding noisy, low-quality patches.

Additionally, the patches were Min-Max normalized and Z-score standardized to enhance image quality and consistency. Normalization adjusts the pixel intensity values to a common scale, typically between 0 and 1. Standardization ensures consistent lighting conditions and removes artifacts introduced during image acquisition, such as shadows or reflections, which could affect the accuracy of fracture detection. These steps are crucial after the original image processing chain to mitigate residual inconsistencies and artifacts. Normalizing and standardizing ensure uniformly scaled pixel values and minimized lighting variations, which leads to more reliable and robust modeling. Since most deep learning models incorporate these preprocessing steps, their performance and accuracy are significantly enhanced53. Consequently, this improves the accuracy of fracture detection by providing a consistent and artifact-free dataset.

Assembling the data

The high-resolution outcrop image pool comprised 49 annotated images, which were segmented into 12158 224 × 224-pixel patches and compiled into the GeoCrack database37 (see Table 3 for a detailed breakdown of the dataset). The images were stored in two main formats: preserved outcrop images accompanied by a complete annotation mask and patched format amenable to model training and inference. With respect to porting the patch data towards the training of deep architectures, this component of the dataset was split into a 50-25-25 ratio for a segmentation model, which resulted in 6079 images for training, 3039 for validation, and 3040 for testing. Metadata containing the paths to the patches for each category is provided as a.csv file. The chosen number of patches and their split align with established practices in the literature, providing a robust foundation for effective model training54.

Table 3 Summary of images from the selected study areas, including the number of images, image format, image resolution, and statistics on patches created and retained.

Data Records

The dataset titled GeoCrack: A High-Resolution Dataset of Fracture Edges in Geological Outcrops37 is hosted in the Harvard Dataverse (https://doi.org/10.7910/DVN/E4OXHQ GeoCrack Dataset) and is structured into three primary folders: Raw Data, Patched Data, and Code (see Fig. 6 for the complete repository structure).

Fig. 6
figure 6

Directory structure of the fracture dataset, organized into Raw Data, Patched Data, and Code folders.

Raw data

This folder encompasses the original outcrop images, which are further categorized into three subfolders:

  • Raw Images: Contains unprocessed images captured directly from the camera. These images are named according to the location and time of capture, providing a comprehensive record of the geological outcrops in their unprocessed form.

  • Cleaned Images: Features images that have undergone noise reduction and sharpening to enhance clarity for subsequent annotation. These images are crucial for precise edge segmentation and are identified by the suffix _cleaned.png.

  • Edge Mask: This subfolder includes the fully annotated edge masks corresponding to the cleaned images. These masks highlight fracture edges and are named with the suffix _mask.png.

Additionally, the Raw Data folder contains a text file named metadata.txt. This file holds extensive metadata for each image, detailing geographic and geological information, such as location in Universal Transverse Mercator (UTM) coordinates, elevation, and geological context. It also includes comprehensive camera details, such as the make and model of the camera, lens specifications, exposure settings, and environmental conditions at the time of capture. This metadata is critical for researchers aiming to correlate image data with geological and environmental parameters.

The Patched Data folder contains merged patches derived from the high-resolution images. The patches are named systematically to indicate their source and type. For instance, an edge patch is labeled as image_name_patch_number_mask.png, where image_name refers to the original outcrop image, patch_number identifies the specific patch, and mask denotes it as an edge mask.

The Code folder consists of three python scripts:

  • make_patches.py: This script generates image-mask pairs by implementing a smart patch retention algorithm. It processes an input image and its annotation mask to create high-resolution patches.

  • make_dataset.py: This script creates datasets for deep learning model training. It accepts the directory path containing the patches and outputs three.csv files: train.csv, test.csv, and validation.csv.Each.csv file lists paths to image-mask pairs, ensuring a structured and balanced dataset split for training, testing, and validation.

  • unet.py: This script implements a U-Net for demonstrating the dataset’s utility for training deep learning models in edge segmentation tasks.

This structure ensures that the dataset is highly organized and functional for researchers and practitioners in the field of geoscience, subsurface/geotechnical engineering, and deep learning. The inclusion of raw, cleaned, and annotated data, along with scripts for data preparation and model training makes this dataset a robust resource for advancing the study and analysis of geological fracture edges using state-of-the art artificial intelligence-based methodologies.

Technical Validation

Creating an accurately annotated fracture dataset through manual digitization is a resource-intensive task. To ensure the integrity and cost-efficiency of our annotated fracture edges on geological outcrop images, we adopted a robust validation methodology, originally proposed by55. This validation framework effectively mitigates three major sources of error: (1) overlooked fracture edges, (2) inaccurately delineated fracture edges, and (3) misclassified edges. Such a method is crucial for maintaining the precision and reliability of our dataset annotations.

Error categories and mitigation strategies

To ensure the accuracy and reliability of the fracture-annotated image dataset, we identified potential error categories and implemented corresponding mitigation strategies:

  1. 1.

    Overlooked Fracture Edges: As discussed above, identifying every fracture edge is inherently challenging due to varying image resolutions, lighting conditions, and geological characteristics of the host rock and fracture network. To mitigate this, we conducted multiple review rounds involving experienced annotators and an expert geoscientist to ensure thorough labeling.

  2. 2.

    Inaccurate Delineation of Fracture Edges: Accurate edge delineation is critical. Overly broad edges may incorporate extraneous pixels, while excessively narrow edges might exclude essential parts of the fractures. Annotation workshops were conducted to standardize the annotation process among all team members, ensuring consistency and precision.

  3. 3.

    Incorrectly Classified Edges: Misclassification can occur when annotators mistake other features for fracture edges, or when shadows obscure the edges. Feedback mechanisms, including regular peer reviews and having an expert geologist available constantly to validate, supervise, and facilitate annotation, were established to ensure continuous improvement during the annotation process.

By implementing these quality assurance measures, we aimed to enhance the accuracy and reliability of the fracture annotations, ensuring a high-quality dataset for future research.

Recruitment and training of annotators

To implement these error mitigation measures, we recognized that annotator compensation could significantly impact data quality56. To balance cost and quality, we employed annotators who were motivated by both fair compensation and the valuable experience offered by the project.

Training protocol

The research assistants (RAs) underwent rigorous training by the expert geologist to familiarize themselves with the project objectives, annotation tools, and the criteria for accurate fracture edge annotation. They were trained to label all visible fracture edges, including partially visible traces, and to classify ambiguous fractures as undefined for later review.

Validation process

Each annotated image was reviewed in two stages. The first stage involved review by two RAs following a structured workflow. The first RA ensured comprehensive fracture edge annotation, focusing on small and boundary-proximal fractures. The second RA verified the precision of the annotations, making necessary adjustments. Both RAs then confirmed the correct identification of fractures and re-evaluated any undefined edges. The second stage of review involved validation by expert geoscientists. They evaluated the correctness of the RAs’ reviews and resolved any doubts or differing opinions on the annotations.

Assessment of validation efficacy

Consistency across annotators is crucial for dataset reliability. We employed multiple metrics to assess the effectiveness of our validation process. Coverage validation involved calculating the number of annotations added and removed during validation (see Fig. 7). Pre-validation, the dataset contained 12,158 image patches, with an average of 7 edges per image, totaling approximately 85,104 fracture edges. Post-validation, the dataset was updated to reflect the addition and removal of edges. During validation, specific percentages of annotations were classified into different categories based on their quality and completeness. Post-validation, the dataset showed significant updates. The total number of edges increased to approximately 127,659 edges, with detailed classifications as follows: 33.3% (42,553 annotations) were identified as incomplete and required completion (orange), 25.0% (31,866 annotations) were previously identified (green), 42.2% (53,240 annotations) required drawing (orange), and 25.0% (31,866 annotations) were found to be misclassified (red) (Table 4). To evaluate annotation quality, we compared agreement and exact matches between pre- and post-validation annotations. Post-validation, a significant percentage of annotations agreed with pre-validation annotations, indicating consistency and reliability in our validation process. Post-validation, the dataset demonstrated a marked improvement in annotation quality and completeness. The discrepancy between pre- and post-validation annotations underscores the necessity for rigorous validation to ensure the dataset’s reliability. The detailed breakdown of post-validation annotations provided insights into the image regions that required completion, identification, or correction. Overall, the validation process ensured that our dataset not only grew in terms of the number of annotations over the course of the vetting process but also improved in quality, providing a more robust and reliable resource for subsequent analysis and research in geological fracture edge segmentation.

Fig. 7
figure 7

Validation of fracture edge annotations: original image patch, pre-validation mask, post-validation mask, and IoU map showing previously identified edges (green), newly identified edges (orange), and discarded edges (red).

Table 4 Distribution of Patches and Edge Counts Pre- and Post-Validation.

Dataset validation for deep learning segmentation tasks

To ensure the suitability of our fracture-annotated image dataset for deep learning segmentation tasks57,58, we conducted a thorough evaluation to verify its effectiveness for model training. The results demonstrated the dataset’s robustness in training deep learning models, ensuring precise fracture segmentation on validation and test sets.

For this evaluation, a U-Net model was trained on a subset of 1,245 images, each with dimensions of 224 × 224 pixels. The model achieved satisfactory results in pixel-level classification, successfully detecting narrow cracks, as illustrated in Fig. 8. The model achieved an Intersection over Union (IoU) score of 85%, a pixel accuracy of 92%, a recall (true positive rate) of 88%, and a precision of 90%. This test confirms the dataset’s potential to develop robust deep learning models for segmentation tasks, highlighting its reliability and value for future research and applications.

Fig. 8
figure 8

Output of the prototype U-Net model: original image patch (left), ground truth edge map (center), and the model’s prediction (right).

Usage Notes

For processing the dataset of rock edges, researchers may utilize software such as interpreted languages such as MATLAB or Python, or image processing software such as ImageJ, which are well-suited for image analysis tasks. We used OpenCV for preprocessing (functions: cvtColor, fastNlMeansDenoising, HessianEdgeDetection), and Adobe Photoshop for fracture annotation. Other annotation tools like LabelImg or VIA can also be used. Python was employed for image processing operations but proved slow (note that anecdotally, MATLAB may offer improved performance for patching and preprocessing). Custom scripts and workflows are provided on our GitHub repository to facilitate reproducibility and ease of use.