matplotlib.colors.LightSource #
- classe matplotlib.colors. Source lumineuse ( azdeg = 315 , altdeg = 45 , hsv_min_val = 0 , hsv_max_val = 1 , hsv_min_sat = 1 , hsv_max_sat = 0 ) [source] #
Socles :
object
Créez une source de lumière provenant de l'azimut et de l'élévation spécifiés. Les angles sont en degrés, avec l'azimut mesuré dans le sens des aiguilles d'une montre à partir du nord et l'élévation à partir du plan zéro de la surface.
shade
est utilisé pour produire des valeurs RVB "ombrées" pour un tableau de données.shade_rgb
peut être utilisé pour combiner une image RVB avec une carte d'élévation.hillshade
produit une carte d'illumination d'une surface.Spécifiez l'azimut (mesuré dans le sens des aiguilles d'une montre à partir du sud) et l'altitude (mesurée à partir du plan de la surface) de la source lumineuse en degrés.
- Paramètres :
- azdeg float, par défaut : 315 degrés (à partir du nord-ouest)
L'azimut (0-360, degrés dans le sens des aiguilles d'une montre à partir du nord) de la source lumineuse.
- altdeg float, par défaut : 45 degrés
L'altitude (0-90, degrés par rapport à l'horizontale) de la source lumineuse.
Remarques
Pour la rétrocompatibilité, les paramètres hsv_min_val , hsv_max_val , hsv_min_sat et hsv_max_sat peuvent également être fournis à l'initialisation. Cependant, ces paramètres ne seront utilisés que si "blend_mode='hsv'" est passé dans
shade
oushade_rgb
. Voir la documentationblend_hsv
pour plus de détails.- blend_hsv ( rgb , intensité , hsv_max_sat = Aucun , hsv_max_val = Aucun , hsv_min_val = Aucun , hsv_min_sat = Aucun ) [source] #
Prenez le tableau de données d'entrée, convertissez-le en valeurs HSV dans la palette de couleurs donnée, puis ajustez ces valeurs de couleur pour donner l'impression d'une carte en relief ombré avec une source de lumière spécifiée. Les valeurs RGBA sont renvoyées, qui peuvent ensuite être utilisées pour tracer l'image ombrée avec imshow.
La couleur de l'image résultante sera assombrie en déplaçant les valeurs (s, v) (dans l'espace colorimétrique hsv) vers (hsv_min_sat, hsv_min_val) dans les régions ombrées, ou éclaircie en faisant glisser (s, v) vers (hsv_max_sat, hsv_max_val) dans régions éclairées. Les extrêmes par défaut sont choisis de sorte que les points complètement ombragés soient presque noirs (s = 1, v = 0) et les points complètement éclairés soient presque blancs (s = 0, v = 1).
- Paramètres :
- RVB ndarray
Un tableau RVB MxNx3 de flottants allant de 0 à 1 (image couleur).
- intensité ndarray
Un tableau MxNx1 de flottants allant de 0 à 1 (image en niveaux de gris).
- numéro hsv_max_sat , par défaut : 1
La valeur de saturation maximale à laquelle la carte d' intensité peut décaler l'image de sortie.
- numéro hsv_min_sat , facultatif
La valeur de saturation minimale à laquelle la carte d' intensité peut décaler l'image de sortie. La valeur par défaut est 0.
- nombre hsv_max_val , facultatif
La valeur maximale ("v" dans "hsv") à laquelle la carte d' intensité peut décaler l'image de sortie. La valeur par défaut est 1.
- nombre hsv_min_val , facultatif
La valeur minimale ("v" dans "hsv") à laquelle la carte d' intensité peut décaler l'image de sortie. La valeur par défaut est 0.
- Retours :
- ndarray
Un tableau RVB MxNx3 représentant les images combinées.
- blend_overlay ( rgb , intensité ) [source] #
Combinez une image RVB avec une carte d'intensité en utilisant le mélange "superposition".
- Paramètres :
- RVB ndarray
Un tableau RVB MxNx3 de flottants allant de 0 à 1 (image couleur).
- intensité ndarray
Un tableau MxNx1 de flottants allant de 0 à 1 (image en niveaux de gris).
- Retours :
- ndarray
Un tableau RVB MxNx3 représentant les images combinées.
- blend_soft_light ( rgb , intensité ) [source] #
Combinez une image RVB avec une carte d'intensité en utilisant le mélange "lumière douce", en utilisant la formule "pegtop".
- Paramètres :
- RVB ndarray
Un tableau RVB MxNx3 de flottants allant de 0 à 1 (image couleur).
- intensité ndarray
Un tableau MxNx1 de flottants allant de 0 à 1 (image en niveaux de gris).
- Retours :
- ndarray
Un tableau RVB MxNx3 représentant les images combinées.
- direction de la propriété #
La direction du vecteur unitaire vers la source lumineuse.
- ombrage ( élévation , vert_exag = 1 , dx = 1 , dy = 1 , fraction = 1.0 ) [source] #
Calculez l'intensité d'éclairage d'une surface à l'aide de l'azimut et de l'élévation définis pour la source lumineuse.
Cela calcule les vecteurs normaux de la surface, puis les transmet à
shade_normals
- Paramètres :
- élévation 2D semblable à un tableau
Les valeurs de hauteur utilisées pour générer une carte d'illumination
- nombre vert_exag , facultatif
Degré d'exagération des valeurs d'élévation lors du calcul de l'éclairage. Cela peut être utilisé soit pour corriger les différences d'unités entre le système de coordonnées xy et le système de coordonnées d'élévation (par exemple degrés décimaux par rapport aux mètres) ou pour exagérer ou minimiser les effets topographiques.
- numéro dx , facultatif
L'espacement x (colonnes) de la grille d' élévation en entrée.
- numéro dy , facultatif
L'espacement y (lignes) de la grille d' élévation en entrée.
- nombre de fraction , facultatif
Augmente ou diminue le contraste de l'ombrage. Les valeurs supérieures à un amèneront les valeurs intermédiaires à se rapprocher de la pleine illumination ou de l'ombre (et à écrêter toutes les valeurs qui se déplacent au-delà de 0 ou 1). Notez que ce n'est pas visuellement ou mathématiquement la même chose que l'exagération verticale.
- Retours :
- ndarray
Un tableau 2D de valeurs d'éclairage entre 0 et 1, où 0 est complètement dans l'ombre et 1 est complètement éclairé.
- shade ( data , cmap , norm = None , blend_mode = 'overlay' , vmin = None , vmax = None , vert_exag = 1 , dx = 1 , dy = 1 , fraction = 1 , ** kwargs ) [source] #
Combinez les valeurs de données colormaped avec une carte d'intensité d'éclairage (alias "hillshade") des valeurs.
- Paramètres :
- données de type tableau 2D
Les valeurs de hauteur utilisées pour générer une carte ombrée.
- cmap
Colormap
La palette de couleurs utilisée pour colorer le tableau de données . Notez qu'il doit s'agir d'une
Colormap
instance. Par exemple, plutôt que de transmettrecmap='gist_earth'
, utilisez à lacmap=plt.get_cmap('gist_earth')
place.- instance de norme
Normalize
, facultative La normalisation utilisée pour mettre à l'échelle les valeurs avant le mappage des couleurs. Si aucun, l'entrée sera mise à l'échelle linéairement entre son minimum et son maximum.
- blend_mode {'hsv', 'overlay', 'soft'} ou appelable, facultatif
Le type de mélange utilisé pour combiner les valeurs de données de mappage de couleurs avec l'intensité d'éclairage. La valeur par défaut est "superposition". Notez que pour la plupart des surfaces topographiques, "overlay" ou "soft" semblent plus réalistes visuellement. Si une fonction définie par l'utilisateur est fournie, elle doit combiner un tableau RVB MxNx3 de flottants (allant de 0 à 1) avec un tableau d'ombrage MxNx1 (également de 0 à 1). (Call signature ) Les kwargs supplémentaires fournis à cette fonction seront transmis à la fonction blend_mode .
func(rgb, illum, **kwargs)
- vmin flottant ou Aucun, facultatif
La valeur minimale utilisée dans les données de mappage de couleurs . Si aucune , la valeur minimale dans les données est utilisée. Si norm est spécifié, cet argument sera ignoré.
- vmax flottant ou Aucun, facultatif
La valeur maximale utilisée dans les données de mappage de couleurs . Si None , la valeur maximale dans data est utilisée. Si norm est spécifié, cet argument sera ignoré.
- nombre vert_exag , facultatif
Degré d'exagération des valeurs d'élévation lors du calcul de l'éclairage. Cela peut être utilisé soit pour corriger les différences d'unités entre le système de coordonnées xy et le système de coordonnées d'élévation (par exemple degrés décimaux par rapport aux mètres) ou pour exagérer ou désaccentuer la topographie.
- numéro dx , facultatif
L'espacement x (colonnes) de la grille d' élévation en entrée.
- numéro dy , facultatif
L'espacement y (lignes) de la grille d' élévation en entrée.
- nombre de fraction , facultatif
Augmente ou diminue le contraste de l'ombrage. Les valeurs supérieures à un amèneront les valeurs intermédiaires à se rapprocher de la pleine illumination ou de l'ombre (et à écrêter toutes les valeurs qui se déplacent au-delà de 0 ou 1). Notez que ce n'est pas visuellement ou mathématiquement la même chose que l'exagération verticale.
- Des kwargs supplémentaires sont transmis à la fonction *blend_mode*.
- Retours :
- ndarray
Un tableau MxNx4 de flottants compris entre 0 et 1.
- shade_normals ( normales , fraction = 1.0 ) [source] #
Calculez l'intensité d'éclairage pour les vecteurs normaux d'une surface en utilisant l'azimut et l'élévation définis pour la source lumineuse.
Imaginez un soleil artificiel placé à l'infini dans une certaine position d'azimut et d'élévation éclairant notre surface. Les parties de la surface qui s'inclinent vers le soleil devraient s'éclaircir tandis que les côtés tournés vers l'extérieur devraient s'assombrir.
- Paramètres :
- nombre de fraction , facultatif
Augmente ou diminue le contraste de l'ombrage. Les valeurs supérieures à un amèneront les valeurs intermédiaires à se rapprocher de la pleine illumination ou de l'ombre (et à écrêter toutes les valeurs qui se déplacent au-delà de 0 ou 1). Notez que ce n'est pas visuellement ou mathématiquement la même chose que l'exagération verticale.
- Retours :
- ndarray
Un tableau 2D de valeurs d'éclairage entre 0 et 1, où 0 est complètement dans l'ombre et 1 est complètement éclairé.
- shade_rgb ( rgb , élévation , fraction = 1.0 , blend_mode = 'hsv' , vert_exag = 1 , dx = 1 , dy = 1 , ** kwargs ) [source] #
Utilisez cette source de lumière pour ajuster les couleurs du tableau d'entrée RVB afin de donner l'impression d'une carte en relief ombré avec l' élévation donnée .
- Paramètres :
- semblable à un tableau RVB
Un tableau RVB (M, N, 3), supposé être compris entre 0 et 1.
- comme un tableau d' élévation
Un tableau (M, N) des valeurs de hauteur utilisées pour générer une carte ombrée.
- nombre de fractions
Augmente ou diminue le contraste de l'ombrage. Les valeurs supérieures à un amèneront les valeurs intermédiaires à se rapprocher de la pleine illumination ou de l'ombre (et à écrêter toutes les valeurs qui se déplacent au-delà de 0 ou 1). Notez que ce n'est pas visuellement ou mathématiquement la même chose que l'exagération verticale.
- blend_mode {'hsv', 'overlay', 'soft'} ou appelable, facultatif
Le type de mélange utilisé pour combiner les valeurs de données de mappage de couleurs avec l'intensité d'éclairage. Pour la rétrocompatibilité, la valeur par défaut est "hsv". Notez que pour la plupart des surfaces topographiques, "overlay" ou "soft" semblent plus réalistes visuellement. Si une fonction définie par l'utilisateur est fournie, elle doit combiner un tableau RVB MxNx3 de flottants (allant de 0 à 1) avec un tableau d'ombrage MxNx1 (également de 0 à 1). (Call signature ) Les kwargs supplémentaires fournis à cette fonction seront transmis à la fonction blend_mode .
func(rgb, illum, **kwargs)
- nombre vert_exag , facultatif
Degré d'exagération des valeurs d'élévation lors du calcul de l'éclairage. Cela peut être utilisé soit pour corriger les différences d'unités entre le système de coordonnées xy et le système de coordonnées d'élévation (par exemple degrés décimaux par rapport aux mètres) ou pour exagérer ou désaccentuer la topographie.
- numéro dx , facultatif
L'espacement x (colonnes) de la grille d' élévation en entrée.
- numéro dy , facultatif
L'espacement y (lignes) de la grille d' élévation en entrée.
- Des kwargs supplémentaires sont transmis à la fonction *blend_mode*.
- Retours :
- ndarray
Un tableau (m, n, 3) de flottants compris entre 0 et 1.
Exemples utilisant matplotlib.colors.LightSource
#
Rendu ombré et puissance normalisée
Ombrage personnalisé dans un tracé de surface 3D