# This file contains metadata for your plugin.

# This file should be included when you package your plugin.# Mandatory items:

[general]
name=SGTool
qgisMinimumVersion=3.24
qgisMaximumVersion=4.99
description=Simple Potential Field Processing
version=0.3.8
author=Mark Jessell
email=mark.jessell@uwa.edu.au

about=Simple Potential Field Processing using FFT grid filters, e.g. RTP, 1VD, Band Pass, Analytic Signal, Upward Continuation, worms etc.

tracker=https://github.com/swaxi/SGTool/issues
repository=https://github.com/swaxi/SGTool
# End of mandatory metadata

# Recommended items:

hasProcessingProvider=no
# Uncomment the following line and add your changelog:
changelog=0.3.8
      * Utils tab: new Clip All Layers tool (QGIS dialog, and the ArcGIS Pro toolbox tool Clip All Layers to Polygon): clips every layer of the project to a chosen polygon layer (or its selected polygons), saving each as <name>_clip with its .qml style in a chosen folder, plus a copy of the project (.qgz) with the same groups, order, visibility and styles that loads the clipped layers   
      * BSDWorms is now also a Processing algorithm (Wavelets group): same worms as the dialog, with the points CSV, padded grid and optional polyline shapefile written beside the input and their provenance recorded   
      * Multilevel B-spline gridding: new Auto option (QGIS dialog, Processing algorithm, ArcGIS Pro GUI and toolbox) that chooses the cell size and Max Levels from the spacing of the points; B-spline gridding and MRVBF / MRRTF are several times faster with identical results, and MRVBF works through the grid in bands so a 46-million-cell DEM needs about 3 GB instead of 9.5 GB   
      * Apply the same steps to another grid now repeats local anisotropy, anisotropy chain length and streamline length steps (also new Processing algorithms), and styles the orientation grid; fix the replay dialog failing on histories with steps that cannot be repeated   
      * ArcGIS Pro: add a live Preview (FFT Filters, Conv + Stats and Utils/Threshold tabs) in its own window with zoom and pan, opening on the ArcGIS Pro map's extent, following you between tabs, and Apply Preview to save the result at full resolution; fix an error in the power-spectrum error message
      * ArcGIS Pro: add Multilevel B-Spline gridding (Grid + Wavelets tab and toolbox tool, no Spatial Analyst licence needed); fix the toolbox tools that could not open in current ArcGIS Pro (their parameters were passed to arcpy in the wrong order)
      * ArcGIS Pro: add MRVBF / MRRTF / slope (Conv + Stats tab and toolbox tool, with the 3-band RGB composite) and remove the DTM curvature classifier (GUI and toolbox) that it supersedes
      * ArcGIS Pro outputs now use the QGIS file-naming convention (grid_RTP.tif, grid_DirC.tif, grid_d1z.tif ...); the QGIS tilt angle is now saved in degrees (-90 to 90), as in ArcGIS Pro
      * ArcGIS Pro: grid information (units, CRS, pixels, pixel size) and version in the top bar, Wedge setting and a Remove Line Noise tool, provenance metadata embedded in every output with Read metadata / Save as XML buttons, Apply same steps to another grid (with IGRF recalculated for RTP, RTE and differential RTP), and a Cancel button
      * Preview: the Keep button is replaced by Apply Preview (the Apply Processing button is renamed Apply Preview while previewing and saves the previewed filter at full resolution); Preview follows you between the FFT Filters, Conv + Stats and Utils tabs, unticking the filters of the tab you leave; the preview layer is always the top layer in the QGIS Layers panel
      * The layer selected in the QGIS Layers panel and the SGTool Select Grid dropdowns now follow each other
      * Units, CRS, pixel counts and pixel size of the selected grid, and the version, are shown at the bottom of the first four tabs (cleared when no grids remain)
      * Cancelling a calculation (task manager X or Cancel) ends the task at once; the dock can be made much narrower and scrolls sideways
      * Line-noise filter: new Wedge width setting; fix the filter removing too little noise (the opposite spectral lobe was not being filtered); Scale now defaults to 1
      * Add Apply the same steps to another grid (Utils tab): repeats the processing steps recorded in a grid's history on another grid, recalculating inclination and declination from IGRF for RTP, RTE and differential RTP, with a choice of which intermediate results to keep. Also a Processing algorithm
      * retain std df/dz for Euler solutions
      * Improved and debugged Direction Cosine/Butterworth filter: min/max line spacing inputs define the noise band, noise estimate is zero-centred before scaling and subtraction
      * Add live Preview (FFT Filters, Conv + Stats and Utils tabs): one temporary layer that updates as parameters change, for the current map extent or a subsampled grid, with Apply Preview to save the full resolution result
      * Add provenance metadata: how each saved file was made (creation time, source file(s) and their XML, operation and parameters, chained through successive steps) is embedded in saved GeoTIFFs, or in a filename.sgt.xml sidecar for files that cannot carry it
      * Add Read metadata and Save as XML buttons to the Utils tab to show a grid's processing history in a new window or save it as filename.sgt.xml
      * Calculations now run as cancellable QGIS background tasks (Apply Processing, Apply Preview, B-spline gridding, worms, normalise, RGB to grey, grd conversion), with Cancel buttons on each tab
      * Filters exposed as QGIS Processing algorithms (SGTool group) for the modeler, batch processing and scripting
      * Apply Processing moved to a fixed bar at the top of the tabs, next to the Preview controls
      * Fix repeated entries in menus and duplicated signal connections when the plugin is reopened
      * Fix first recalculation failing to overwrite an existing output grid on Windows
      * ArcGIS Pro: Euler CSV includes std df/dz, Euler toolbox tool repaired, directional filter updated to match QGIS
      * Generalise XYZ importer for new variations
      0.3.7
      * Add native python Multilevel BSpline code converted from SAGA
      * Add native python MRVBF/MRRTF/Slope RGB code converted from SAGA
      * Remove DTM Curvature but keep code for now
      * Remove WTMM from GUI but keep code for now
      * Fix clash with modern python for worms calcs
      0.3.6
      * Variable RTP code thanks to Gordon Cooper  
      * Add windowed spatial anisotropy calcs   
      * Add chain length calculations for linear features  
      * Add RGB picker tool to convert LUT picture to grayscale   
      0.3.5   
      * Redo GUI so it removes need for .ui file and is now scrollable
      * redo RTE code following suggestion from google AI   
      * Almost complete ARCGIS Pro version now available with full GUI   
      * Translations of GUI for French, Spanish, Portuguese (Portugal and Brazil) and Mandarin
      0.3.4
      * Fix bug with inclination declination signs for RTE_P now that images always north   
      * Check for commas as decimal separators and replace with decimal points    
      0.3.3   
      * change to single decimal versions
      * Don't add mean back for THG calcs
      * Replace raster copy code so it works for negative and positive delta z on linux/macos
      * Add networkx, shapely and geopandas as requirement so linux is happy
  0.3.01
      * Fix median removal and restoration for FFT filters
  0.3.00
      * Add Spatial stats and convolutions to ArcGIS Pro toolbox
      * Move ArcGIS Pro files to their own directory    
      * Update IGRF to allow up to 2030    
      * Move Euler and IGRF to calcs directory   
      * Compatibility with both QGIS4/QT6 and QGIS3/QT5   
      * Add RGB triplets as LUT definition for RGB to greyscale convertor  
      0.2.18   
      * Fix (again) clipping of csv worms   
      * Fix bug in Filling FFT NaNs in NS direction (Thanks Feargal!)   
    0.2.17    
      * Fix bug saving grid boundary filename
      * Add ArcPro Toolbox support (very Beta!!)   
      * Remove all QGIS library calls from calc engines   
      * Fix bug in worms spatial filtering   
      * Force processed ers output files to have tif suffix   
      * Check for recognised CRS before processing    
    0.2.16
      * Add Euler Deconvolution derived from https://github.com/ffigura/Euler-deconvolution-python
      * Add Noddy grid (grv & mag) import
    0.2.15 Use cosine rolloff for high/low and bandpass filters to reduce ringing
      * Change Remove Regional to 1st or 2nd order polynomial
      * New grids use stdev scaling of grid to better highlight features
    0.2.14 Don't try to load LINE_ID or LINE codes if they don't exist in WTMM
      * added PCA & ICA calculations for multiband grids
      * Speed up Grass-like relief calc
      * added DAT format points import based on ASEG-GDF2 standard (tested against example datasets only)
      * TA demoted to needing RTP_E first in GUI
      * save all CSV/XYZ/DAT imports as shapefiles
      * fix import matplotlib bug and test for LINE_ID for points in WTMM code
    0.2.13 Remove scikit-image functions as they are hard to install on macos 
    0.2.12 Fix loading of RGB tiffs on Linux
      * warn instead of autoload of libraries
      * refactor rte so it works like other FFT
      * recalc buffers so they are factors of powers of 2, 3 or 5 (should make large grid calcs faster)
      * added tooltips to explain dotpoint
      * added plugins.xml to allow direct access via plugin manager
      * added 1D circular windowed spatial stats functions
      * added DTM curvature classifier
      * added Butterworth filter and scaler to DC filter
      * added Wavelet Transform Modulus Maxima calcs extracted from grids or for XYZ data (beta!!)
      * fix azimuth direction for relief shading
      * replace bicubic spline dialog with multilevel bicubic spline dialog (from sagang)
      * remove +1x -1y offset from Gaussian filter output
    0.2.11 Remove path insertion in worms code
      * add relief shading option (based on Grass algorithm)
      * generalise a bit epsg parsing for GRD
      * remove degree test for DirCos filter
      * Fix problem with toWkt() on Linux and maybe macs
      * Improved connectivity of worm polylines
      * Another attempt to fix RTP
      * Fix missing buffer for THG calc
      * Another attempt to fix RTE
      * Delete xml file when updating a grid
      * Autocheck boxes when parameter changed
    0.2.10 Bug fixes and GUI Update
      * GUI now split over 5 tabs
      * Add tool to produce outline polygon from a grid
      * Improved null handling in Normalise Grids tool
      * Remove unused joblib import
    0.2.9 Docked widget now adds in tabified mode if another widget already there
      * Reformulated RTP & RTE codes
      * Add grid outline tool
      * Add extra Utils tab to declutter GUI (for now!)
    0.2.8 Added Threshold to NaN tool
      * New conversion of worms to polyline shapefile option
      * New grid normalisation tool
      * New threshold to NaN tool      
      * Sun shading for 90 zenith reset to 88 as this can blow up otherwise
      * Better handling of irregular grids by using linear infill of NaNs
      * Checkboxes labels defined directly
      * GUI rearranged so gradient tools all together
      * Vertical Integration now uses user-defined buffer
    0.2.7 Add worming and improve installation of plugin on PC & Mac
    0.2.6 Add RGB conversion to grayscale
    0.2.5 2024-12-11
      * add convolution filtering
      * add simple gridding from csv and xyz format files
      * change to pyIGRF for RTP_E calcs
    0.2.3 2024-11-26
      * Bug fixes to Directional Cleaning
      * Change of behaviour: existing layer now overwritten in QGIS
      * Loading of GRD format optimised and now massively quicker
      * Check for unlikely lengths (>100) with geographic grids
    0.2.2 2024-11-25: Initial upload to plugin repository.


# Tags are comma separated with spaces allowed
tags=python, geophysics, gravity, magnetics, filters

homepage=https://github.com/swaxi/SGTool
category=Plugins
icon=icon.png
# experimental flag
experimental=False

# deprecated flag (applies to the whole plugin, not just a single version)
deprecated=False

# Since QGIS 3.8, a comma separated list of plugins to be installed
# (or upgraded) can be specified.
# Check the documentation for more information.
# plugin_dependencies=

Category of the plugin: Raster, Vector, Database or Web
# category=

# If the plugin can run on QGIS Server.
server=False

