Il s'agit d'un module Python pour créer des cartes de couleurs avec une taille à peu près arbitraire selon le travail de Kenneth Moreland comme décrit à
http://www.kennethmoreland.com/color-maps/
Ces cartes de couleur permettent de cartographier une valeur scalaire d'une plage finie à une couleur. Ceci est utile dans les cartes thermiques ou les courbes de remplissage d'espace.
Les objets avec les paramètres prédéfinis peuvent être créés à l'aide des fonctions make_* comme celle-ci:
map = moreland.make_kindlmann()
Ces objets sont pour l'instant destinés à
Utilisez le script get-color-map.py pour obtenir des fichiers CSV individuels décrivant la carte couleur sélectionnée:
python3 get-color-map.py viridis 256 byte
Cela créera la carte de couleur viridis saturée avec 256 entrées. Il est également possible de créer la version réelle de la carte en utilisant float à byte place. Ou utilisez les deux.
La sortie de la commande ci-dessus est dans le fichier viridis-table-byte-0256.csv qui démarre / se termine par les lignes suivantes:
scalar,RGB_r,RGB_g,RGB_b
0.0,72,0,84
0.00392156862745098,73,0,86
0.00784313725490196,73,0,87
0.011764705882352941,74,0,89
0.01568627450980392,74,1,90
...
0.9882352941176471,236,232,21
0.9921568627450981,238,232,24
0.996078431372549,241,232,26
1.0,243,233,28
La première valeur est la valeur scalaire, allant de 0 à 1. la plus proche de la valeur mappée. Les valeurs sont à distance égale, ce qui signifie que la valeur scalaire dans la première colonne ne doit pas réellement être utilisée, l'index dans le tableau peut pour une valeur v peut être calculé avec (vA)/(BA) .
Les valeurs de couleur sont dans ce cas donné comme un triple d'octets. Si le dernier paramètre du script get-color-maps.py est float au lieu de byte , la couleur est donnée comme un triple de valeurs à virgule flottante.
Le script gen-svg.py peut être utilisé pour générer un fichier SVG pour visualiser les cartes de couleur. Il ne fonctionne que pour les cartes d'octets avec 256 couleurs. À titre d'exemple, la carte du corps noir dans black-body-table-byte-0256.csv peut être visualisé avec
./gen-svg.py black-body-table-byte-0256.csv > black-body-256.svg
Le résultat ressemble à ceci:
Avec le paramètre --fine supplémentaire, chaque ligne diagonale a la même couleur. Le résultat est une image avec une résolution beaucoup plus élevée:
Sur les systèmes Fedora, tous les packages Python utilisés ne sont pas emballés à partir de Fedora 33. Installez explicitement les packages avec d'abord avec
pip install colormath toyplot