pygmt.grdhisteq.compute_bins¶
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¶
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