Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
c0bb5f2
template for basal contacts processing tool
lachlangrose Jun 17, 2025
f9878b0
Update linter.yml
lachlangrose Jun 17, 2025
043ea5c
Merge remote-tracking branch 'origin/processing/basal_contacts' into …
rabii-chaarani Jun 20, 2025
773ef48
feature: Implement StratigraphySorterAlgorithm
rabii-chaarani Jun 23, 2025
e7bb9f6
feature: functions to convert layers to GeoDataFrame and DataFrame
rabii-chaarani Aug 18, 2025
95ba89b
feature: add geodataframe to qgsLayer conversion
rabii-chaarani Aug 18, 2025
f744d83
refactor: update GeoDataFrameToQgsLayer
rabii-chaarani Aug 18, 2025
ea67c2e
fix: GeoDataFrameToQgsLayer to FeatureSink
rabii-chaarani Aug 18, 2025
f11d713
refactor: clean up imports in vectorLayerWrapper.py
rabii-chaarani Aug 18, 2025
d718b96
feature: add basal contacts extraction algorithm
rabii-chaarani Aug 18, 2025
0c7e768
refactor: add imports in sorter.py
rabii-chaarani Aug 18, 2025
aeed68b
feature: implement sampler algorithm
rabii-chaarani Aug 25, 2025
78f1511
feature: add thickness calculator algorithms
rabii-chaarani Aug 25, 2025
4069406
fix: correct return value
rabii-chaarani Aug 25, 2025
f67be33
feature: add support SamplerSpacing
rabii-chaarani Aug 25, 2025
3c46553
fix: update sampler type strings for consistency
rabii-chaarani Aug 25, 2025
7e76267
fix: convert dataframe to qgis layer
rabii-chaarani Aug 26, 2025
c42a4dd
feature: add dataframe to point sink conversion
rabii-chaarani Aug 27, 2025
54a0bc9
fix: add input parameters
rabii-chaarani Aug 27, 2025
df54c1b
refactor: rename to dataframeToQgsLayer
rabii-chaarani Aug 27, 2025
703a89c
refactor: update thickness calculator parameters and processing logic
rabii-chaarani Aug 27, 2025
8bb0c99
update BasalContactsAlgorithm
noellehmcheng Aug 27, 2025
359e45a
Merge branch 'processing/processing_tools' of https://github.com/Loop…
noellehmcheng Aug 27, 2025
fcdf4a2
fix import in vectorLayerWrapper.py
noellehmcheng Aug 28, 2025
7aaa076
rename unused loop idx in vectorLayerWrapper
noellehmcheng Aug 28, 2025
d0d9e77
rename directory to m2l to avoid import conflicts
noellehmcheng Aug 29, 2025
34f3d25
fix linter.yml
noellehmcheng Aug 29, 2025
76df4b2
Merge pull request #12 from Loop3D/processing/processing_tools_basal-…
rabii-chaarani Sep 1, 2025
52ee4ad
Merge branch 'processing/processing_tools' into processing-tools-rename
rabii-chaarani Sep 1, 2025
b72fbf4
fix: add QgsPoint import
rabii-chaarani Sep 1, 2025
04d3937
fix: add QgsPointXY import
rabii-chaarani Sep 1, 2025
ffe7f98
Merge branch 'processing/processing_tools' into processing-tools-rename
rabii-chaarani Sep 1, 2025
bf0ab2d
Merge pull request #14 from Loop3D/processing-tools-rename
rabii-chaarani Sep 1, 2025
d4a1d7d
fix: enforce str type
rabii-chaarani Sep 1, 2025
cf8321e
refactor: handling of string fields
rabii-chaarani Sep 1, 2025
60bd84e
fix: add missing import for wkb_loads
rabii-chaarani Sep 1, 2025
1c72667
refactor: implementation and enforce string dtype
rabii-chaarani Sep 1, 2025
3dd9aea
fix: QGIS string fields are converted to str
rabii-chaarani Sep 1, 2025
86e3f7b
fix: remove type conversion issues
rabii-chaarani Sep 1, 2025
2c37667
fix: simplify string field handling
rabii-chaarani Sep 1, 2025
510d82f
fix: ensure string fields are explicitly converted
rabii-chaarani Sep 1, 2025
c028237
sampler
noellehmcheng Sep 1, 2025
cb1ac9d
Merge branch 'processing-tools-rename' into processing/processing_too…
noellehmcheng Sep 1, 2025
bc99ec9
fix: enhance contact rextraction tool
rabii-chaarani Sep 1, 2025
af2056d
fix: update algorithm imports and registration in provider
rabii-chaarani Sep 1, 2025
546724b
fix: correct parameter types
rabii-chaarani Sep 1, 2025
671fed2
fix: standardize algorithm group ID
rabii-chaarani Sep 1, 2025
8cc49af
fix: add user-defined sorting option
rabii-chaarani Sep 3, 2025
ffeb1bc
input files
noellehmcheng Sep 3, 2025
2f070c9
Merge branch 'processing/processing_tools' into processing/processing…
noellehmcheng Sep 3, 2025
7b11408
fix: change stratigraphic column QgsProcessingParameterFeatureSink de…
noellehmcheng Sep 3, 2025
27d2ee5
feat add formation column mapping and validation for strat column
noellehmcheng Sep 4, 2025
03a6ffc
delete input files
noellehmcheng Sep 4, 2025
e23f023
fix sorter
noellehmcheng Sep 4, 2025
ccd1c93
fix data type of spacing and decimator in sampler
noellehmcheng Sep 4, 2025
26233f0
rename unused loop idx in sampler
noellehmcheng Sep 4, 2025
1709581
add dtm to input
noellehmcheng Sep 6, 2025
2488fab
add validation in sampler
noellehmcheng Sep 6, 2025
38a552a
spacing decimator test
noellehmcheng Sep 8, 2025
9341a8e
refactor sampler tests for cicd compatibility
noellehmcheng Sep 8, 2025
096a13e
update tester.yml workflow for all branches
noellehmcheng Sep 8, 2025
5fa83ad
change image
noellehmcheng Sep 8, 2025
a6c14b2
update testing.txt
noellehmcheng Sep 8, 2025
378f9ae
install map2loop in tester.yml
noellehmcheng Sep 8, 2025
cf91e1f
Merge branch 'processing/processing_tools_sampler_test' into processi…
noellehmcheng Sep 8, 2025
06fc7ec
tester.yml
noellehmcheng Sep 8, 2025
a2b96f6
input file
noellehmcheng Sep 8, 2025
79b28ad
test_basal_contacts
noellehmcheng Sep 8, 2025
82532dc
fix import in test_basal_contacts.py
noellehmcheng Sep 8, 2025
02f9cb9
fix strati_column in test_basal_contacts
noellehmcheng Sep 8, 2025
5cab785
Merge branch 'processing/processing_tools' into processing/processing…
noellehmcheng Sep 10, 2025
91bcc09
add structure and dtm parameters for SorterObservationProjections and…
noellehmcheng Sep 10, 2025
f527e91
Merge branch 'processing/processing_tools' into processing/processing…
noellehmcheng Sep 12, 2025
9273c17
add contact as output layer
noellehmcheng Sep 12, 2025
3576bd7
change contacts_df and relationships_df
noellehmcheng Sep 12, 2025
70fbefc
merge processing/processing_tools_sampler
noellehmcheng Sep 12, 2025
06d4ebc
merge with processing_tools_sampler_test
noellehmcheng Sep 12, 2025
ebb88f0
merge with processing_tools_basal-contacts-v2
noellehmcheng Sep 12, 2025
a471265
Merge branch 'processing/processing_tools_basal-contacts_test' into n…
noellehmcheng Sep 12, 2025
fb873f3
add contact layer in sorter
noellehmcheng Sep 12, 2025
a9092f4
handle dip, dipdir, orientation type for structure in sorter.py
noellehmcheng Sep 15, 2025
cfd09ec
fix syntax in sampler
noellehmcheng Sep 16, 2025
1e28eb7
update basal contact test
noellehmcheng Sep 16, 2025
856cb42
update basal contact test to include contacts layer
noellehmcheng Sep 16, 2025
73b6e22
feat: thickness calculator tool
rabii-chaarani Sep 17, 2025
b483f00
feat: raster and dataframe handling
rabii-chaarani Sep 17, 2025
9ee2ac7
fix clean up process for tests
noellehmcheng Sep 17, 2025
beef36d
fix remove duplicated units_df in sorter
noellehmcheng Sep 18, 2025
81f2670
fix build_input_frames in sorter
noellehmcheng Sep 18, 2025
a3a7082
add contacts and basal contacts data for testing
noellehmcheng Sep 19, 2025
a3fe1de
add validation in sorter
noellehmcheng Sep 19, 2025
170c1b8
handle user defined strati column and add validation
noellehmcheng Sep 19, 2025
569f39b
add json file output for sorter
noellehmcheng Sep 19, 2025
9435579
refactor: remove user defined column
rabii-chaarani Sep 22, 2025
a660002
feat: add qvariantToFloat function
rabii-chaarani Sep 22, 2025
b74bc79
feat: Processing/processing tools sampler (#19)
noellehmcheng Sep 22, 2025
26399b2
Processing/processing tools basal contacts test (#21)
noellehmcheng Sep 22, 2025
1235856
Merge branch 'noelle/sorter' into processing/processing_tools
rabii-chaarani Sep 22, 2025
72f5949
fix: fix syntac error
rabii-chaarani Sep 22, 2025
30c7e20
fix: remove redundant parameters in SamplerAlgorithm
rabii-chaarani Sep 22, 2025
5dbcfca
fix: remove redundant imports
rabii-chaarani Sep 22, 2025
09091a4
Merge branch 'processing/processing_tools' into processing/thickness_…
rabii-chaarani Sep 22, 2025
90663cf
fix: remove unused QgsSettings
rabii-chaarani Sep 22, 2025
4ff7546
fix: updated tearDownClass
rabii-chaarani Sep 22, 2025
14db8d0
fix: add pass statement
rabii-chaarani Sep 22, 2025
ec993bb
update sampler tests
noellehmcheng Sep 22, 2025
83c1703
update sampler
noellehmcheng Sep 22, 2025
747abef
Merge branch 'processing/thickness_calculator' of https://github.com/…
noellehmcheng Sep 22, 2025
5205cf5
update strati column and bounding box
noellehmcheng Sep 23, 2025
a259cae
fix sample contacts data type
noellehmcheng Sep 23, 2025
00d4bb8
add orientation type for structure data
noellehmcheng Sep 23, 2025
d2d2925
Processing/thickness calculator (#23)
rabii-chaarani Sep 24, 2025
17cd45b
feat: add UserDefinedStratigraphyAlgorithm to provider
rabii-chaarani Sep 24, 2025
4395880
feat: import UserDefinedStratigraphyAlgorithm
rabii-chaarani Sep 24, 2025
2d4eff6
refactor: update BasalContactsAlgorithm
rabii-chaarani Sep 24, 2025
09034f1
refactor: update SamplerAlgorithm
rabii-chaarani Sep 24, 2025
932b95c
refactor: update sorter
rabii-chaarani Sep 24, 2025
476eadb
refactor: update ThicknessCalculatorAlgorithm
rabii-chaarani Sep 24, 2025
9e890d5
feat: implement UserDefinedStratigraphyAlgorithm
rabii-chaarani Sep 24, 2025
3b61ed6
refactor: remove redundant algo
rabii-chaarani Sep 24, 2025
248040d
fix: use correct strati table
rabii-chaarani Sep 24, 2025
9cacb9b
fix: correct variable assignment
rabii-chaarani Sep 24, 2025
f59f4f8
fix units in ThicknessCalculatorAlgorithm
noellehmcheng Sep 24, 2025
b1bb23f
update extract_basal_contacts and test_basal_contacts
noellehmcheng Sep 24, 2025
ec389b3
Revert "update extract_basal_contacts and test_basal_contacts"
noellehmcheng Sep 24, 2025
e6fa63c
fix test_basal_contacts
noellehmcheng Sep 24, 2025
d4d6d83
fix input file name in test_basal_contacts
noellehmcheng Sep 24, 2025
2cd4c53
feat dynamic field handling in Sampler
noellehmcheng Oct 6, 2025
97c5274
fix strat column data in ThicknessCalculator
noellehmcheng Oct 6, 2025
fe429df
merge with processing/processing_tools
noellehmcheng Oct 7, 2025
53917e3
add user defined boundingbox in ThicknessCalculatorAlgorithm
noellehmcheng Oct 15, 2025
c94b40c
replace QMetaType with QVariant in sampler
noellehmcheng Oct 15, 2025
b32baec
change orientation type variable name in ThicknessCalculatorAlgorithm
noellehmcheng Oct 15, 2025
291de7a
Merge branch 'processing/processing_tools' into noelle/thickness_calc…
noellehmcheng Oct 16, 2025
d5e5862
Merge pull request #25 from Loop3D/noelle/thickness_calculator
noellehmcheng Oct 16, 2025
fc24ac3
Fix: processing tools/sorter 2 (#30)
noellehmcheng Oct 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ on:

pull_request:
branches:
- master
- main
paths:
- '**.py'
workflow_dispatch:

env:
PROJECT_FOLDER: "map2loop"
PROJECT_FOLDER: "m2l"
PYTHON_VERSION: 3.9
permissions:
contents: write
Expand Down Expand Up @@ -55,5 +55,5 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
title: "style: auto format fixes"
body: "This PR applies style fixes by black and ruff."
base: master
base: main
branch: lint/style-fixes-${{ github.run_id }}
115 changes: 59 additions & 56 deletions .github/workflows/tester.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,12 @@ name: "🎳 Tester"

on:
push:
branches:
- main
paths:
- '**.py'
- .github/workflows/tester.yml
- requirements/testing.txt

pull_request:
branches:
- main
paths:
- '**.py'
- .github/workflows/tester.yml
Expand Down Expand Up @@ -45,55 +41,62 @@ jobs:
- name: Run Unit tests
run: pytest -p no:qgis tests/unit/

# test-qgis:
# runs-on: ubuntu-latest

# container:
# image: qgis/qgis:3.4
# env:
# CI: true
# DISPLAY: ":1"
# MUTE_LOGS: true
# NO_MODALS: 1
# PYTHONPATH: "/usr/share/qgis/python/plugins:/usr/share/qgis/python:."
# QT_QPA_PLATFORM: "offscreen"
# WITH_PYTHON_PEP: false
# # be careful, things have changed since QGIS 3.40. So if you are using this setup
# # with a QGIS version older than 3.40, you may need to change the way you set up the container
# volumes:
# # Mount the X11 socket to allow GUI applications to run
# - /tmp/.X11-unix:/tmp/.X11-unix
# # Mount the workspace directory to the container
# - ${{ github.workspace }}:/home/root/

# steps:
# - name: Get source code
# uses: actions/checkout@v4

# - name: Print QGIS version
# run: qgis --version

# # Uncomment if you need to run a script to set up the plugin in QGIS docker image < 3.40
# # - name: Setup plugin
# # run: qgis_setup.sh ${{ env.PROJECT_FOLDER }}

# - name: Install Python requirements
# run: |
# apt update && apt install -y python3-pip python3-venv pipx
# # Create a virtual environment
# cd /home/root/
# pipx run qgis-venv-creator --venv-name ".venv"
# # Activate the virtual environment
# . .venv/bin/activate
# # Install the requirements
# python3 -m pip install -U -r requirements/testing.txt

# - name: Run Unit tests
# run: |
# cd /home/root/
# # Activate the virtual environment
# . .venv/bin/activate
# # Run the tests
# # xvfb-run is used to run the tests in a virtual framebuffer
# # This is necessary because QGIS requires a display to run
# xvfb-run python3 -m pytest tests/qgis --junitxml=junit/test-results-qgis.xml --cov-report=xml:coverage-reports/coverage-qgis.xml
test-qgis:
runs-on: ubuntu-latest

container:
image: qgis/qgis:latest
env:
CI: true
DISPLAY: ":1"
MUTE_LOGS: true
NO_MODALS: 1
PYTHONPATH: "/usr/share/qgis/python/plugins:/usr/share/qgis/python:."
QT_QPA_PLATFORM: "offscreen"
WITH_PYTHON_PEP: false
# be careful, things have changed since QGIS 3.40. So if you are using this setup
# with a QGIS version older than 3.40, you may need to change the way you set up the container
volumes:
# Mount the X11 socket to allow GUI applications to run
- /tmp/.X11-unix:/tmp/.X11-unix
# Mount the workspace directory to the container
- ${{ github.workspace }}:/home/root/

steps:
- name: Get source code
uses: actions/checkout@v4

- name: Print QGIS version
run: qgis --version

# Uncomment if you need to run a script to set up the plugin in QGIS docker image < 3.40
# - name: Setup plugin
# run: qgis_setup.sh ${{ env.PROJECT_FOLDER }}

- name: Install Python requirements
run: |
apt update && apt install -y python3-pip python3-venv pipx
# Create a virtual environment
cd /home/root/
pipx run qgis-venv-creator --venv-name ".venv"
# Activate the virtual environment
. .venv/bin/activate
# Install the requirements
python3 -m pip install -U -r requirements/testing.txt
python3 -m pip install git+https://github.com/Loop3D/map2loop.git@noelle/contact_extractor

- name: verify input data
run: |
cd /home/root/
. .venv/bin/activate
ls -la tests/qgis/input/ || echo "Input directory not found"

- name: Run Unit tests
run: |
cd /home/root/
# Activate the virtual environment
. .venv/bin/activate
# Run the tests
# xvfb-run is used to run the tests in a virtual framebuffer
# This is necessary because QGIS requires a display to run
xvfb-run python3 -m pytest tests/qgis --junitxml=junit/test-results-qgis.xml --cov-report=xml:coverage-reports/coverage-qgis.xml
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import sphinx_rtd_theme # noqa: F401 theme of Read the Docs

# Package
from map2loop import __about__
from m2l import __about__

# -- Build environment -----------------------------------------------------
on_rtd = environ.get("READTHEDOCS", None) == "True"
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 3 additions & 3 deletions map2loop/gui/dlg_settings.py → m2l/gui/dlg_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@
from qgis.PyQt.QtGui import QDesktopServices, QIcon

# project
from map2loop.__about__ import (
from m2l.__about__ import (
__icon_path__,
__title__,
__uri_homepage__,
__uri_tracker__,
__version__,
)
from map2loop.toolbelt import PlgLogger, PlgOptionsManager
from map2loop.toolbelt.preferences import PlgSettingsStructure
from m2l.toolbelt import PlgLogger, PlgOptionsManager
from m2l.toolbelt.preferences import PlgSettingsStructure

# ############################################################################
# ########## Globals ###############
Expand Down
File renamed without changes.
Loading