FidMTF: An MTF Estimator
Robust ESF, PSF, FWHM & MTF estimation from low-quality images and synthetic edge creation.
It is recommendable to read the algorithm description first.
QGIS Plugin
To improve its usability I’ve integrated the algorithm in a QGIS Plugin. In order to use it you will need QGIS 3.10 or higher.
Installation
You can use the QGIS Plugin Manager. Use Plugins -> Manage and Install Plugins -> All to search and install install the package.
Once installed, the MTF Estimator option will be available in the Plugins menu.
Usage
-
Load the study image
Remote rasters (WMS, Tile Server) are not supported
Check that the image is projected to a regular grid or has no geolocation information at all. Geolocation based on RPCs or GCPs is not supported. If your image is geolocated this way, a workaround is just to remove the geolocation metadata. -
Load or create a vector layer containing the polygon that defines the area of interest. Once drawn don’t forget to save it
-
Open MTF Estimator from the Plugins menu
-
Select the study image and band
-
Select vector layer
-
Run the algorithm
It may take some time. During the time that the task requires the dialog window will be unresponsive. This is definitely something to improve for future versions.</br> Once the process is completed a log will be shown. If there was enough data with sufficient quality a results window will appear.</br> -
Examine the outputs
The results window has its own toolbar containing pan, zoom, and save tools. Additional data can be found in the log window.
Obtaining Successful Results
- It is advisable to read the algorithm description first.
- The edge must be straight and sharp. A man-made target is more likely to have these features.
- The high and low reflectance surfaces near the edges must be uniform.
- Remember that the algorithm works with vertical edges. Its angle is important. If you need estimations along just transpose (or rotate) the image.
Contributing and Bug Reporting
- If you wish to contribute patches you can fork the project, make your changes, commit to your repository, and then create a pull request.
- You can report bugs as issues
Contact
Contact me on Linkedin