pygmt.grdhisteq.equalize_grid
- static grdhisteq.equalize_grid(grid, *, outgrid=None, divisions=None, region=None, gaussian=None, quadratic=None, verbose=None)[source]
Perform histogram equalization for a grid.
pygmt.grdhisteq.equalize_gridprovides a way to write a grid with statistics based on a cumulative distribution function. Theoutgridhas relative highs and lows in the same (x,y) locations as thegrid, but the values are changed to reflect their place in the cumulative distribution.Full option list at https://docs.generic-mapping-tools.org/latest/grdhisteq.html
- Parameters
grid (str or xarray.DataArray) – The file name of the input grid or the grid loaded as a DataArray.
outgrid (str or None) – The name of the output netCDF file with extension .nc to store the grid in.
divisions (int) – Set the number of divisions of the data range.
gaussian (bool or int or float) – norm. Produce an output grid with standard normal scores using
gaussian=Trueor force the scores to fall in the ±norm range.quadratic (bool) – Perform quadratic equalization [Default is linear].
region (str or list) – xmin/xmax/ymin/ymax[+r][+uunit]. Specify the region of interest.
Select verbosity level [Default is w], which modulates the messages written to stderr. Choose among 7 levels of verbosity:
q - Quiet, not even fatal error messages are produced
e - Error messages only
w - Warnings [Default]
t - Timings (report runtimes for time-intensive algorithms);
i - Informational messages (same as
verbose=True)c - Compatibility warnings
d - Debugging messages
- Returns
ret (xarray.DataArray or None) – Return type depends on the
outgridparameter:xarray.DataArray if
outgridis NoneNone if
outgridis a str (grid output is stored inoutgrid)
Example
>>> import pygmt >>> # Load a grid of @earth_relief_30m data, with an x-range of 10 to >>> # 30, and a y-range of 15 to 25 >>> grid = pygmt.datasets.load_earth_relief( ... resolution="30m", region=[10, 30, 15, 25] ... ) >>> # Create a new grid with a Gaussian data distribution >>> grid = pygmt.grdhisteq.equalize_grid(grid=grid, gaussian=True)
See also
Note
This method does a weighted histogram equalization for geographic grids to account for node area varying with latitude.