.. grdhisteq.equalize_grid:


pygmt.grdhisteq.compute_bins
============================


.. code::

	staticgrdhisteq.compute_bins(grid, *, output_type='pandas', 
	outfile=None, divisions=None, quadratic=None, verbose=None, 
	region=None, header=None)
	
Effectuer une égalisation d'histogramme pour une grille.

L'égalisation d'histogramme permet de mettre en évidence les données dont la plupart des valeurs sont regroupées dans une petite partie de la plage dynamique, comme une grille de topographie plate avec une montagne au milieu. L'ombrage gris ordinaire de cette grille (à l'aide `pygmt.Figure.grdimage` de ou `pygmt.Figure.grdview`) avec un mappage linéaire de la topographie au ton de gris se traduira par une majeure partie de l'image en gris très foncé, la montagne étant presque blanche. `pygmt.grdhisteq.compute_bins` peut fournir une liste de valeurs de données qui divisent la plage de données en divisions ayant une surface égale dans l'image [la valeur par défaut est 16 si elle `divisions` n'est pas définie]. La `pandas.DataFrame` sortie du fichier ou ASCII peut être utilisée pour créer une palette de couleurs avec `pygmt.makecpt` et une image avec `pygmt.Figure.grdimage` tous les niveaux de gris se produisant de la même manière.

Paramètre
---------

* **grid** ( str ou xarray.DataArray ) – Le nom de fichier de la grille d'entrée ou de la grille chargée en tant que xarray.DataArray. C'est le seul paramètre obligatoire.

* **outfile** ( str ou bool ou None ) – Le nom du fichier ASCII de sortie dans lequel stocker les résultats de l'égalisation de l'histogramme.

* **output_type** ( str ) – Déterminez le format dans lequel les données xyz seront renvoyées [la valeur par défaut est pandas] :
	- `numpy` - `numpy.ndarray`
	- `pandas` - `pandas.DataFrame`
	- `file`- Fichier ASCII (nécessite `outfile`)

* **divisions** ( int ) – Définissez le nombre de divisions de la plage de données.

* **quadratic** ( bool ) – Effectue une égalisation quadratique [la valeur par défaut est linéaire].

* **région** ( str ou liste ) – xmin/xmax/ymin/ymax [ **+r** ][ **+u** unité ]. Spécifiez la région d'intérêt. L'ajout `region` sélectionnera une sous-section de la grille. Si cette sous-section dépasse les limites de la grille, seule la région commune sera sortie.

* **verbose** ( bool ou str ) – Sélectionnez le niveau de verbosité [la valeur par défaut est w ], qui module les messages écrits sur stderr. Choisissez parmi 7 niveaux de verbosité :
	- **q** - Des messages d'erreur silencieux, même fatals, ne sont pas générés
	- **e** - Messages d'erreur uniquement
	- **w** - Avertissements [par défaut]
	- **t** - Timings (temps d'exécution des rapports pour les algorithmes chronophages)
	- **i** - Messages d'information (comme `verbose=True`)
	- **c** - Avertissements de compatibilité
	- **d** - Messages de débogage

* **header** (str) – [i|o][n][+c][+d][+msegheader][+rremark][+ttitle]. Spécifiez que les fichiers d'entrée et/ou de sortie ont n enregistrements d'en-tête [la valeur par défaut est 0]. Préfixez i si seule l'entrée principale doit avoir des enregistrements d'en-tête. Préfixez **o** pour contrôler l'écriture des enregistrements d'en-tête, avec les modificateurs suivants pris en charge :
	- **+d** pour supprimer les enregistrements d'en-tête existants.
	- **+c** pour ajouter un commentaire d'en-tête avec des noms de colonne à la sortie [par défaut, aucun nom de colonne].
	- **+m** pour ajouter un en-tête de segment segheader à la sortie après le bloc d'en-tête [par défaut, pas d'en-tête de segment].
	- **+r** pour ajouter un commentaire de remarque à la sortie [par défaut, aucun commentaire]. La chaîne de remarque peut contenir \n pour indiquer des sauts de ligne.
	- **+t** pour ajouter un commentaire de titre à la sortie [par défaut, pas de titre]. La chaîne de titre peut contenir \n pour indiquer des sauts de ligne.


Retour
------

**ret** ( pandas.DataFrame ou numpy.ndarray ou None ) – Le type de retour dépend de `outfile` et `output_type` :

* Aucun si `outfile` est défini (la sortie sera stockée dans le fichier défini par `outfile`)

 * `pandas.DataFrame` ou `numpy.ndarray` si `outfile` n'est pas défini (selon `output_type`)



Exemple
-------

.. code ::

	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]
	)
	# Find elevation intervals that splits the data range into 5
	# divisions, each of which have an equal area in the original grid.
	bins = pygmt.grdhisteq.compute_bins(grid=grid, divisions=5)
	print(bins)
	        start    stop
	bin_id
	0       170.0   389.0
	1       389.0   470.5
	2       470.5   571.0
	3       571.0   705.0
	4       705.0  2275.5