Skip to content

Releases: giancan/AutoGR-Toolkit

AutoGR-Toolkit 6.1.0.0

05 Jun 18:03
21658ea

Choose a tag to compare

Version numbering has been updated, following international standards.
The following are some of the changes per tool:

- GGrab:
Two more Sources have been added for Italy.

- AutoGR-SIFT:
By mistake, the Kornia library was not compiled in the delivered version. Code has been fixed to solve this
problem for future compiling.

Two new deep learning algorithms have been added:

ALIKE-D + LightGlue: lightweight neural keypoint extractor paired with the LightGlue transformer
matcher. Requires the LightGlue package. Detected automatically at startup.
DISK + LightGlue-ready: DISK descriptor now supports LightGlue as an alternative matcher in
addition to the existing BF ratio-test approach.
All neural model weights (ALIKE-D, LightGlue, LoFTR, DISK, SuperGLUE, SuperPoint) are now
stored in the application weights/ folder alongside the executable, instead of the user home
cache directory.

LoFTR confidence threshold corrected from 0.5 to 0.3, matching the paper's recommended default
and significantly increasing the number of usable match candidates.

Subprocess output display improvements: ANSI escape sequences (progress bars, colour codes) are
now stripped before display in the processing window; non-UTF-8 bytes from subprocess output are
replaced instead of crashing.

Minor code quality improvements: bare except clauses replaced with except Exception throughout;
residual PyQt4 compatibility shims (_fromUtf8) removed; Image.MAX_IMAGE_PIXELS suppression
documented with an explanatory comment; GCP footprint now attempted for all images regardless
of rotation state.

- Help file:
Documentation updated to reflect all new algorithms (LoFTR, DISK, ALIKE-D + LightGlue),
updated library list, AutoGR-Bridge plugin description, and corrected acknowledgements.

- AutoGR-Bridge (QGIS plugin):
New QGIS plugin that integrates AutoGR-SIFT directly into the QGIS environment. Allows
launching AutoGR-SIFT from within QGIS using the current map canvas or a project raster
layer as base image, with optional auto-import of georeferenced results back into the project.

DISK and ALIKE-D added to the descriptor list with correct matcher mappings.

Distribution / development mode toggle: a single dev_mode marker file controls whether the
plugin shows a simple folder picker (distribution) or separate Python interpreter and script
path fields (development). No reinstallation or archive editing required to switch.

Rotation field now accepts negative values for counter-clockwise rotation.

Auto-import results checkbox added, allowing users to disable automatic loading of processed
files into the QGIS project.

You can find the plugin here and soon also in the official qgis plugins repo!

AutoGR-Toolkit

24 Feb 14:29
263ad65

Choose a tag to compare

The following are some of the major changes per tool:

  • GGrab:
    New ReprojectWorker class using QThread to run GDAL reprojection asynchronously, preventing UI freezing during long operations with progress updates;
    Comprehensive search system for proj.db across multiple paths (local, system, Windows), plus PROJ_DATA variable support for newer PROJ versions;
    Improved Coordinate Handling - Complete rewrite of function with multiple fallback parsing strategies, regex support, and extensive debug logging;
    New Coordinate Formatting Function - Dedicated function with better distance calculations, error handling, and consistent f-string formatting;
    Improved map area selection with comprehensive error handling, status messages, error dialogs, and JavaScript execution monitoring;
    Simplified functions for validation, context managers and others;
    Multi-threaded reprojection with 512MB cache, ALL_CPUS utilization, LZW compression, and optimized 512x512 tile sizes;
    Extensive debugging enhancement throughout coordinate parsing, distance calculations, and state changes for easier troubleshooting. User-friendly error dialogs with specific failure contexts, actionable recovery suggestions, and preserved tracebacks;
    Automatic cache directory setup, temporary file handling, and proper cleanup after operations.

  • AutoGR-SIFT:
    The file grew in size, primarily for automation and plugin integration capabilities while hardening image processing reliability;
    Georeferencing on the fly with 1st or 2nd polynomial;
    A function has been added to detect potential false positive matching between images (a warning appears in the "processing window");
    SuperGlue and OpenCV have been fine-tuned and results are now more solid. A new algorithm -LoFTR- has been added to improve further the matching between historical and modern images;
    False matching are now intercepted and no "garbage" file are created;
    Complete CLI Support - Added full command-line interface with arguments for baseimage, dataset, descriptor, matcher, subsampling, rotation, and output paths;
    QGIS Plugin Integration - File now serves dual purpose as standalone app AND as QGIS plugin bridge with --from-qgis flag and auto-start capability;
    PIL/Image Hardening - Extensive image processing safety improvements to handle 16-bit images, prevent "wrong mode" errors, and add automatic fallbacks for JPEG saving;
    Rotation canvas has been fixed so that, when “Save original” is checked, it generates ORIGINAL_* point files by counter‑rotating and rescaling the GCPs back to the unrotated image coordinate system (QGIS/ArcGIS formats handled);
    QtWebEngine Fix - Critical import ordering fix to prevent crashes - now imports QtWebEngineWidgets BEFORE creating QApplication;
    15+ New Helper Functions - For CLI-to-UI bridging, widget finding, path normalization, and smart window instantiation;
    Better Error Handling - Structured exception handling, graceful fallbacks, and improved error messages with full tracebacks;
    High DPI Support - Proper Qt High DPI scaling attributes set before application creation;
    Dataset Handling - Single and multiple datasets now behave identically, with comma-separated list support;
    CLI Logging - Arguments logged to AutoGR-bridge.log for troubleshooting;
    No Breaking Changes - All original functionality preserved and enhanced; fully backward compatible.

  • Georef_Filtering:
    Improved coding (with PEP 8 compliance and proper spacing) for better code density and efficiency. Filter Algorithm Cleanup with debugging print statements and unnecessary else clauses for cleaner implementation.
    Better Code Organization - Consistent spacing between methods, better logical grouping, improved navigation;
    Improved Error Handling - Changed raise to pass in update check exception handler to prevent application crashes during startup when update check fails;
    Better file type detection with proper method for better reliability;
    Simplified bit detection with ternary operator and removed duplicate errmsg assignment.

  • GeoTiff_Converter:
    Complete Progress Dialog System implementation with real-time 0-100% progress, per-format status messages, cancel button support, and GDAL callback integration;
    JPEG Dimension Clamping - Critical fix that automatically limits JPEG dimensions to 65,000 pixels to prevent libjpeg crashes, with transparent scaling adjustment and pre-conversion warnings;
    Fixed PHOTOMETRIC Settings - Smart TIFF handling based on band count: grayscale images get MINISBLACK, color images get RGB (previously hardcoded to RGB for all);
    Enhanced Error Handling - GDAL failure detection, specific libpng error messages, automatic cleanup of failed conversions, input validation with null checks;
    Better Resource Management - Consistent context manager usage, proper cleanup on failures, memory-efficient processing;
    Complete refactor of conversion function, with dimension/band extraction, format-specific dictionaries, automatic JPEG adjustment, callback integration, improved error reporting.

  • Photogrammetry - CreateGCP:
    In CreateGCP, the filtering method has been deeply improved. A new function now shows the "potential" of specific folders, with an overview of how many GCPs are visible in how many images;
    The window "Get XYZ" has been rewritten to fix a number of small bugs and to account for new Google requirements and specifications for API.