5.0

// May 2024 //
As for the previous update, also this release has major changes, hence the numbering
goes from 4.0 to 5.0.
GUI has been updated to account for high DPI screens. Minor changes has been done in
each of the tools of the software to improve users' options and usability of results.
As a small addition, each window's title now includes the software version - 32bit
or 64bit - so that it is immediately clear if the software is running at its full
potential (some options may not be available in 32bit version).

The following are some of the major changes per tool:
- GGrab:
    The interface and coding have been updated to account for new Google requirements.

    New WMS servers have been added to the list.

    Some bugs were fixed and a better error handling has been created.


- AutoGR-SIFT:
    All the OpenCV algorithms have been fine-tuned to improve results.

	A function has been added to detect potential false positive matching between
	images (a warning appears in the "processing window").

	A new algorithm has been added to the list for image matching! [This is a major change!]
	Its name is SuperGLUE (visible only for 64bit version) and it is based on
	Neural Network approach and a pre-trained dataset. It seems particularly suited
	for historical aerial images against modern satellite images.

	Possibility has been added to convert resulting coordinate system on the fly.


- Photogrammetry:
    The window "Get XYZ" can now be scaled and maximized. It is also possible to
    search for placenames.
    
    Minor bug fixes.


================================

4.0

// August 2020 //
A very long time after the last update. Many things changed inside and outside
AutoGR-Toolkit... Let's see them in detail.
The ENTIRE software has been rewritten and for this reason we jump from version
3.5 to 4.0!!!

- Interface:
    AutoGR-T now uses QT instead of WX for the User Interface. This allows
    more flexibility and more control over tools and functions.
    All tools have now a fresher interface and a (hopefully) more pleasant look.
    We tried to make the various windows as small as possible, to allow users
    with small screen to enjoy AutoGR-Toolkit.
    If anyone is interested, there is the possibility to translate the interface
    in other languages. Drop me a message to be informed about this option.


- Code:
    This new version of AutoGR-T was written in Python3.5 and all functions
    have been embodied in the software (with the exception of SIFT, see later).
    GDAL for example, is not anymore an external piece of software but it is
    employed through the optimization of its Python port.
    There is a new automated system for update check that should keep you
    in the loop more easily.
    All important and most frequently used parameters are now saved in a
    settings.ini file and they are recalled at every start of the software
    for your convenience.


- Main Menu:
	Beside the interface -changed as the other modules of the program- a new
	function has been included to "restore defaults". Indeed, in case of specific
	errors or unforeseen problems, the software could make the settings file not
	accessible. By clicking on "Restore Defaults", users can start everything from
	scratch without problems.


- GGrab:
	Google changed the policy for all the available APIs and therefore
	the entire interface needed to be changed and arranged accordingly.
	This allowed also for the introduction of new (simplified) ways to
	select the area of interest.
	You can search for place names, refine the area of interest, "freeze" it
	and download it in a much smoother way.
	Import functions have been re-developed accordingly. The full
	exploitation of GDAL port inside the software (not anymore as external script)
	reduces also the size of AutoGR-Toolkit package and speeds up the
	downloading process.
	Please contribute to this project by providing link to your
	National WMS service! I will be happy to include more WMS to the
	currently available selection.


- AutoGR-SIFT:
	This part of the software is the one that has been improved the most.
	OPENCV code has been customized and compiled from source to maximize
	memory usage and reduce bugs and issues with the Python port.
	This allows now larger images to be processed or even images in
	full scale, without any down-sampling (if user's computer will allow so).
	This increases the possibility of a positive matching i.e. between
	aerial photographs and archive satellite images/orthophotos.
	All algorithms of the "non-free contribution" OpenCV are now included
	and can be selected by user according to the specific scene.
	Homologous points matching is now filtered with RANSAC algorithm to
	reduce the number of false matching. This important improvement
	allows user to visualize inliers and outliers when georeferencing
	an image in QGIS or ArcGIS.


- GeoRef Filtering:
	Minor improvements to the coding and mostly to the interface, now
	equipped with a progress-bar to monitor the points-reduction
	progresses.


- GeoTIFF Converter:
	A new function now sides the old ones: indeed, together with the
	possibility to save an orthophoto in most common format (regular TIF,
	PNG and or JPG), users have a change to scale the image on the flight
	by a preferred percentage.
	As for GGrab, also here the GDAL library has been optimized for AutoGR.


- Photogrammetry:
    Also this module have been completely re-written. GetXYZ has been adapted
    to the new Google policies for API utilization.
    GetGCP works now only with INLIERS from AutoGR-SIFT. This reduces the
    number of Ground Control Points generated automatically, but it also
    reduces the chances of false matching.
    Furthermore, a new "Altitude Provider" is presented, namely OpenTopoData.
    It uses Global DTM with 30m resolutions which can be sufficient for most
    photogrammetry software (if properly used, i.e. larger accuracy values).
    If this is not sufficient, users can load own Digital Terrain Models in
    raster format from other sources.
    GCPs can also be converted on the fly with desired output EPSG to be used
    in Visual SFM, SFM_Georef or Agisoft Metashape (via python script).


Finally, I would like to remind you that AutoGR-Toolkit is (and will continue to be)
distributed FOR FREE for research purposes, but if you want to support the project
(i.e. for the time you saved by using AutoGR, or for any specific need that I can
help you with, regarding the software functions), you can do it anytime via the
"Donate" button. You can find it in top-menu of every module, together with
the access to "Software Manual" and "Check for Updates". You can contribute with
any amount, from one beer to... an apartment... a small one will suffice :)


================================

3.5

// March 2016 //
A new error handling system has been created so that (hopefully) it would
be easier to fix them when they appear. The previous version was also generating
errors in Win10. Now this should have been solved.

- GGrab:
	The file GCC (automatically created every time you download an image 
	or if you want to save specific settings) now holds also DataSource 
	information and zoom, so that you can easily replicate your download 
	anytime.
	Support for non unicode characters added.
	WMS links added for Croatia.
	The boundary definition window now accepts also GeoTIFFs!!!
	

- 3Dmatching:
	The script has been almost entirely re-written for more efficiency 
	and velocity in processing. Some bags are (hopefully) removed.
	A new capability has been added (although experimental): now user can 
	load GeoTiffs as "altitute provider"!! If you have a DTM with 
	better resolution than the one provided by Google, you can easily 
	use it during the processing for a more accurate 3D georeferencing.


================================

3.4

// September 2015 //
Many bugs found... many bugs fixed :)

- GGrab now allows user to enter any EPSG for on-the-fly projection.
	The EPSG entered by the user will show up in the dropdown at next 
	software use. EXIF catcher has been fixed to recognize negative 
	values for coordinates (thanks Ian).

- AutoGR-SIFT
	It now supports new algorithms such as Akaze and Brisk. The OpenCV3 
	library has been re-compiled for the software with only essential modules.
	The creation of georeferencing point was correct for previews but not 
	for original images: this has been fixed now, so that also 
	AutoGR-Photogrammetry works properly. Produced files have been renamed: 
	a "scaled_" prefix is automatically added to downsampled images.

Please, let me know your experience with AutoGR-Toolkit and if you ever 
experienced any problems. It will help me to provide a better product (that will 
always be distributed for free and for research purposes).

================================

3.3

// February 2015 //
Bug fixes and new functions!!!

- AutoGR-Photogrammetry
	Working on the possibility to use own DTM instead of Google derived Altitude.
	Some improvements on matching points selection for Photoscan and extended
	compatibility to 1.0 and 1.1
	
- GGrab
	New WMS added to the list
	The output can now be converted on the fly to any valid EPSG. Just type the 
	EPSG in the dropdown menu (if not present) and the software will convert the 
	WMS image to your desired projection.
	Less popping-up windows during processing.
	Bug fix for the new googlemap URL in "boundary".

- AutoGR-SIFT
	Batch processing is now possible! Have you ever wanted to georeference several 
	photographs with a number of orthophotos? Now you can: orthophoto1 can be 
	processed with image1,image2, image3,image4 and orthophoto2 with image5,image6,
	image7,image8. And all this with one simple click. Find out more in the 
	top-menu bar of AutoGR-Sift.
	AGR-S doesn't freeze during processing and the counting of missing images 
	is updated in real time.

- GeoRef Filtering
	GeoRef Filtering now works also with user made files.
	If you georeferenced an image with a lot of points and you saved the GCP files, 
	try to see what happens if you reduce uniformely the number of used points for 
	georeferencing.

- Donate
	The possibility is still there :)
	

================================

3.2

// October 2014 //
Bug fixes and NEW TOOLS!!!

- AutoGR-Photogrammetry (NEW!!)
	AutoGR goes 3D!!!
	Now the 2D image matching works also in 3D. If you successfully processed a number 
	of images with AutoGR-SIFT, you can extract 3D coordinates to be applied to the same 
	images in your favourite photogrammetric software (VisualSFM, sfm_georef or 
	Agisoft Photoscan!).
	You can also use the customized GoogleMap interface to extract x,y,z values from any
	point on earth and have it in many different coordinate systems.
	Both functions are still experimental, so please let me know if it works fine with you.

- GGrab
	Minor improvements and some new WMS server. Please let me know your are of interest
	and I can try to integrate local WMS into the software.

- AutoGR-SIFT
	The error with some 16bit TIF images has been solved and the code has been optimized.
	The number of output files has been reduced and the Homographic projection has now
	a prefix "PREVIEW_".
	A few more input formats have been added for your convenience.
	Whatever the input coordinate system, the software will try to generate a footprint
	for each processed image.

- GeoRef Filtering
	GeoRef Filtering now works also with user made files.
	If you georeferenced an image with a lot of points and you saved the GCP files, try to
	see what happens if you reduce uniformely the number of used points for georeferencing.

- Donate
	A lot of users informed me that they find the entire software very useful and 
	they whish they have a chance to pay me a beer ;)
	Now you can! In the top menu of each tool, a donate button has been added to allow you
	to support the project with any amount you like.
	Of course, the software will stay FREE as always!!! 
	

================================

3.1

// March 2014 //
Usual bug fixes and performance improvement ;)

- AutoGR-GGrab
	The window setting has been re-arranged to incorporate the complete processing in an 
	output box and to better fit in small computer-screens.
	New DataSources have been added and the old one have been slightly changed (for better 
	performance).
	A new function is now available to allow on-the-fly reprojection (using EPSG codes).

- AutoGR-SIFT
	The window has been simplified and the script now recognize automatically if a GeoTIFF 
	file has been loaded and extract the required information without user intervention.
	A new algorithm has been added for 64bit computers (BRISK).
	The user has now the possibility to set different sub-sampling value to speed-up even 
	more the process (low sub-sampling value) or increase the number of matchings (high 
	value and longer processing time).

================================

3.0

Beside soem small bug-fix and layout tuning, a number of major changes and improvement in this
new version of AutoGR-Toolkit.

- GoogleGrab
	The main interface has been slightly modified, basically in order to add the possibility
	of choosing an output folder. It has also been shrinked a bit to better fit in small
	computer screens.
	Another important add-on is the possibility to save (and load) information from specific
	captures: let's say that you define an area and you download it successfully; after some
	time you would like to go back to that specific grabbing and download the same area
	from another web-server. Now you can go to the File menu (on top) and choose "Save
	coordinates" or "load coordinates".
	Major changes in GBoudary interface (accessible through the "GBoundary" button on top): 
	here user can choose between GoogleMap URL catching -as before- but also EXIF catching. 
	This add-on gives the possibility to extract the coordinates from the GPS information
	stored in a jpg file (typically an oblique photography synchronized with a GPS logger)
	and use them to spot the subject of the photograph.
	More WMS server added to the list and a possible fix for the wrong location on GIS
	software for the Google and Bing maps.

- AutoGR-SIFT
	Major improvements for this feature. First and foremost, the settings are
	saved every time that a new stitching is run. Paths of input1, input2 and output are
	archived in a settings file and they are recall next time you will need again the tool.
	New algorithms have been added (from OpenCV) to speedup even more the processing.
	No command prompt window will appear anymore, since all the process is undertaken inside
	the same interface.
	Now user can process entire folder with images!
	If a 64bit computer is used for processing and the base image is georeferenced in WGS84
	the software will produce automatically also the footprint of each photograph for
	Google Earth (KML format).

- Georef Filtering
	Also the filtering can be applied to a set of files to reduce the number of GCP for 
	all of them at once.
	
================================

2.0

Many changes in this new version (and more are in progress for the next version). 
Let's see them in detail.

- Helpfile
	A windows HelpFile (CHM) is available in this version 2.0 and it is easily accessible 
	from every tool (by clicking the question mark on the top-bar of each window).

- GoogleGrab
	The graphical interface of GoogleGrab has been reviewed and some easy functions have 
	been inserted to facilitate the work and make it more precise.
	SpinArrows allow the user to make small adjustments to the entered coordinates for the 
	area of interest to be captured.
	New data sources have been added! This means that one can download imagery (for personal
	use and in respect of the license of the provider) from Google, Microsoft Bing, the Greek 
	Cadastre (Ktimatologio) and a collection of aerial orthophotos from Italy and Spain 
	(more to come). 
	Potentially, any other source can be added by the user. Contact the author to get informed 
	on how to do this. A new tool (GBoundary) allows the user to enter specific coordinates 
	for the centre of the area  of interest. Alternatively, the user can just copy/paste a 
	googlemap URL and the software will extract the coordinate from there. In the same window, 
	the user can set a boundary area (in kilometers) around the central point, 
	like a buffer area to be grabbed with GGrab.

- AutoGR-SIFT
	The number of windows and pop-ups have been reduced and the required information are 
	collected with just one main window: here the user can select the first image and the 
	image s/he wants to geo-reference and all the geographical parameters to be used 
	(prj file and world file). An auto-warping function has been inserted to quickly obtain a 
	first result of the processing. An output folder can be specified by the user (no more 
	predefined output). The process of new sets of images or sequence of images have been 
	simplified: the script does not terminate after each single couple of images, so that for 
	instance the same base image can be compared with different photographs with ease.

- GeoRef Filtering
	The filter can be applied to any output folder (or to the last one) selected by the user 
	(assuming that the needed files have not been moved or deleted).


- GeoTiff Converter
	A number of supported input file has been entered, to allow users to process potentially 
	any kind of raster format (from tiff, to ecw, to esri img, to xyz grids). One can prefer 
	the output format to be Regular Tif, JPG and or PNG (with their world file) at once.



================================

1.0

AutoGR-Toolkit has been launched!
It has 4 basic functions:
- Google Grab, which allows to download a georeferenced image from a WMS service
- AutoGR-SIFT, which facilitate the georeferencing of 2 images by finding matching keypoints 
  (SIFT matching)
- GeoRef Filtering, to reduce the number of matching points
- GeoTiff Converter, which converts geotiff images in regular tiff with worldfile.


================================
