A MATLAB GUI for 2D Curvilinear Lineament Extraction
CLE2D is a MATLAB GUI designed for the extraction of curvilinear lineaments in 2D. It relies on advanced unsupervised source separation techniques, including Principal Component Analysis (PCA), 2D Continuous Wavelet Transforms (CWT), and Bayesian optimization, to provide a complete workflow for analysing and extracting lineaments from geophysical and geoscientific data.
Please cite the software as:
Abbassi, B. (2024). CLE2D: Curvilinear Lineament Extraction: Bayesian Optimization of Principal Component Wavelet Analysis and Hysteresis Thresholding. GitHub. https://github.com/bahmanabbassi/CLE2D
- Hardware: This program is designed to run on any Windows-based personal computer with at least 8 GB of RAM. Increasing the RAM allows larger images to be processed at once. Since the program operates on large matrices, disk read/write speed is also important. A fast NVMe SSD is recommended.
- Software: CLE2D is provided as MATLAB files (
.mand.mlapp). It requires MATLAB 2024a (version 24.1) or later (fully optimized for R2025b).
Required MATLAB Toolboxes:
- Statistics and Machine Learning Toolbox
- Wavelet Toolbox
- Optimization Toolbox
Installation:
- Copy the repository folder (MATLAB files and datasets) to your preferred directory.
- In MATLAB, set the CLE2D folder as the Current Folder.
- Launch the interface by typing
CLE2Din the MATLAB Command Window.
This project uses components of the Yet Another Wavelet Toolbox (YAWTB), copyright (C) 2001–2002 by the YAWTB team. The original license headers have been preserved in the relevant .m files, in accordance with the YAWTB licensing conditions. YAWTB GitHub.
CLE2D also uses:
- A MATLAB implementation of PCA / ICA (including
fastICA.m) developed by Brian Moore: Brian Moore (2026). PCA and ICA Package, MATLAB Central File Exchange. Retrieved March 16, 2026. Link - A geological fault detection code (hysteresis thresholding / step filtering) developed by Costas Panagiotakis: Costas Panagiotakis (2026). Detection of Geological Faults, MATLAB Central File Exchange. Retrieved March 16, 2026. Link
Note: In addition to citing CLE2D itself, we recommend citing these packages when the corresponding modules are explicitly used.
The CLE2D interface offers a complete set of tools with a layout oriented toward geoscientific data analysis.
- Max/Min Lat & Lon: Set the geographic boundaries.
- Method: Choose the coordinate input method (rectangular coordinates). Coordinates can be read from a prepared text file (Min Lon, Max Lon, Min Lat, Max Lat).
- Spacing: Define the spacing value in arcseconds for longitude and latitude. (e.g., in Québec, 1 arcsecond lat ≈ 33m, 1 arcsecond lon ≈ 17m). The program automatically adjusts these ratios globally.
- Filter: Apply an additional smoothing filter to the input data.
- 2D Interpolation: Select the interpolation method for input points (regular or irregular).
- Xn / Yn: Retrieve the number of pixels in X and Y after interpolation.
- Targets Type: Choose targets (digitised faults) as point data
.csvor as images. - Cut-off 1 & 2: Automatically set/adjust cut-off values to define buffer zones around lineaments.
- 2D CWT: Decomposes inputs into raw spectral features. Adjust scales (
na), dilation, and angles. Isotropic and anisotropic mother wavelets are available. - S‑PCA: Used for spectral source separation. The user decides whether dimensionality reduction is required.
- WSFR (Wavelet Smoothness Filter Ratio): Smoothing ratio for wavelet coefficients to avoid interpolation artefacts.
- β: Symmetry angle for the CWT.
- Line Resolution: Resolution of the extraction output. Higher resolutions produce smoother/sharper results at an increased computational cost.
- SF # of angles: Number of angles used to compute Aspect in the hysteresis-thresholding procedure.
- Bayesian Opt MaxIter: Maximum iterations for tuning.
- w & VSFW: Controls the step filter width and its variability with spectral complexity.
- AutoLine: Automatically tune hyperparameters (
na,WSFR,DR,w, andVSFW).
CLE2D supports input data as .csv point datasets in XYZ format:
- X column: Longitudes
- Y column: Latitudes
- Z column: Geoscientific image values (e.g., reflectance, magnetic field intensity).
Outputs generated by CLE2D are mainly in MATLAB .fig format (extracted spectral features and retrieved curvilinear lineaments), allowing direct visualisation in MATLAB.
Lead Developer: Bahman Abbassi (bahman.abbassi@uqat.ca) Principal Investigator: Li-Zhen Cheng Affiliation: Institut de Recherche en Mines et en Environnement (IRME), Université du Québec en Abitibi-Témiscamingue (UQAT)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License (v3 or later) as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the GNU General Public License for more details.