xlandsat.equalize_histogram#
- xlandsat.equalize_histogram(composite, kernel_size=None, clip_limit=0.01)[source]#
Adaptive histogram equalization for a composite
Use this function to enhance the contrast of a composite when there are a few very dark or very light patches that dominate the color range. Use this instead of rescaling intensity (contrast stretching) to try to preserve some detail in the light/dark patches.
If the composite has an alpha channel (transparency), it will be copied to the output intact.
Warning
Results can be very bad if there are missing values (NaNs) in the composite. Use
xlandsat.interpolate_missing
on the scene first (before creating the composite) if that is the case.- Parameters:
composite (
xarray.DataArray
) – A composite, as generated byxlandsat.composite
.kernel_size (int or None) – The size of region used in the algorithm. See
skimage.exposure.equalize_adapthist
for details and defaults.clip_limit (float) – Clipping limit, normalized between 0 and 1 (higher values give more contrast).
- Returns:
equalized_composite (
xarray.DataArray
) – The composite after equalization, scaled back to the range of the original composite.
Notes
This function first converts the composite from the RGB color space to the HSV color space. Then, it applies
skimage.exposure.equalize_adapthist
to the values (intensity) channel. Finally, the composite is converted back into the RGB color space.