Source code for ee_extra.Algorithms.core
from typing import Any, TypeVar, List, Optional, Union
import ee
from ee_extra.Algorithms.panSharpening import _panSharpen
ImageLike = TypeVar("ImageLike", ee.Image, ee.ImageCollection)
[docs]def panSharpen(
img: ImageLike,
method: str = "SFIM",
qa: Optional[Union[str, List[str]]] = None,
prefix: str = "ee_extra",
**kwargs: Any
) -> ImageLike:
"""Apply panchromatic sharpening to an Image or ImageCollection.
Args:
img : Image or ImageCollection to sharpen.
method : The sharpening algorithm to apply. Current options are "SFIM" (Smoothing
Filter-based Intensity Modulation), "HPFA" (High Pass Filter Addition), "PCS"
(Principal Component Substitution), and "SM" (simple mean).
qa : One or more optional quality metrics to calculate and set as properties on
the sharpened image. See ee_extra.QA.metrics.listMetrics().keys() for a list
of supported metrics.
prefix : A prefix for any new properties. For example, quality metrics will be
set as `prefix:metric`, e.g. `ee_extra:RMSE`.
kwargs : Keyword arguments passed to ee.Image.reduceRegion() such as "geometry",
"maxPixels", "bestEffort", etc. These arguments are only used for PCS sharpening
and quality assessments.
Returns:
The Image or Image Collection with all sharpenable bands sharpened to the panchromatic resolution.
Examples:
>>> import ee
>>> from ee_extra.Algorithms.core import panSharpen
>>> ee.Initialize()
>>> img = ee.Image("LANDSAT/LC08/C01/T1_TOA/LC08_047027_20160819")
>>> sharp = panSharpen(img, method="HPFA", qa=["RMSE", "ERGAS"], maxPixels=1e13)
"""
return _panSharpen(img, method, qa, prefix, **kwargs)