Releases: giancan/AutoGR-Toolkit
AutoGR-Toolkit
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.