This PR (along with #29 and #33) closes #28 by adding the panSharpening module to ee_extra.Algorithms. Four sharpening algorithms (SFIM, PCS, SM, and HPFA) are currently implemented. Docs and tests are also added for the module.
The PR also makes some other changes that arose while adding panSharpening:
Reprojection was added to metrics in the ee_extra.QA.metrics module controlled by the reproject arg. This should have little or no impact on users who use the metrics independently and simplifies the integration between sharpening and metric calculation.
Adding reprojection to metrics allowed the ERGAS metric implementation to be simplified so that it no longer requires explicitly passing high and low resolution parameters--these can be derived from the images before reprojection takes place within the metric calculation.
Type hints were fixed in the ee_extra.QA.metrics to make mypy happy.
The _filter_image_bands function was added to ee_extra.utils to help with sharpening. This could be moved into the ee_extra.Image module if that seems more appropriate.
This PR (along with #29 and #33) closes #28 by adding the
panSharpening
module toee_extra.Algorithms
. Four sharpening algorithms (SFIM, PCS, SM, and HPFA) are currently implemented. Docs and tests are also added for the module.The PR also makes some other changes that arose while adding
panSharpening
:ee_extra.QA.metrics
module controlled by thereproject
arg. This should have little or no impact on users who use the metrics independently and simplifies the integration between sharpening and metric calculation.ERGAS
metric implementation to be simplified so that it no longer requires explicitly passing high and low resolution parameters--these can be derived from the images before reprojection takes place within the metric calculation.ee_extra.QA.metrics
to makemypy
happy._filter_image_bands
function was added toee_extra.utils
to help with sharpening. This could be moved into theee_extra.Image
module if that seems more appropriate.