Skip to content

Releases: giancan/AutoGR-Toolkit

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.