Este es un módulo de Python para crear mapas de color con un tamaño más práctico según el trabajo de Kenneth Moreland como se describe en
http://www.kennethmoreland.com/color-maps/
Estos mapas de color permiten mapear un valor escalar de un rango finito a un color. Esto es útil en mapas de calor o curvas de relleno de espacio.
Los objetos con los parámetros predefinidos se pueden crear utilizando las funciones make_* como esta:
map = moreland.make_kindlmann()
Estos objetos están destinados a
Use el script get-color-map.py para obtener archivos CSV individuales que describen el mapa de color seleccionado:
python3 get-color-map.py viridis 256 byte
Esto creará el mapa de Viridis de color saturado con 256 entradas. También es posible crear la versión real del mapa usando float en su lugar byte . O usar ambos.
La salida del comando anterior está en el archivo viridis-table-byte-0256.csv que comienza/termina con las siguientes líneas:
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
El primer valor es el valor escalar, que oscila entre 0 y 1. Al mapear el rango [a, b] de los valores que deben representarse como color al rango [0,1] se selecciona el color con el valor escalar más cercano al valor asignado. Los valores son la misma distancia, lo que significa que el valor escalar en la primera columna no tiene que usarse, el índice en la tabla puede para un valor v se puede calcular con (vA)/(BA) .
Los valores de color se dan en este caso como un triple de bytes. Si el último parámetro para el script get-color-maps.py es float en lugar de byte , el color se da como un triple de los valores de punto flotante.
El script gen-svg.py se puede usar para generar un archivo SVG para visualizar mapas de color. Funciona solo para mapas de bytes con 256 colores. Como ejemplo, el mapa del cuerpo negro en black-body-table-byte-0256.csv se puede visualizar con
./gen-svg.py black-body-table-byte-0256.csv > black-body-256.svg
El resultado se ve así:
Con el --fine adicional, cada línea diagonal tiene el mismo color. El resultado es una imagen con una resolución mucho más alta:
En los sistemas Fedora, no todos los paquetes de Python usados están empaquetados a partir de Fedora 33. Instale explícitamente los paquetes primero con
pip install colormath toyplot