HSMR / lib /utils /vis /colors.py
IsshikiHugh's picture
feat: CPU demo
5ac1897
from lib.kits.basic import *
def float_to_int8(color: List[float]) -> List[int]:
return [int(c * 255) for c in color]
def int8_to_float(color: List[int]) -> List[float]:
return [c / 255 for c in color]
def int8_to_hex(color: List[int]) -> str:
return '#%02x%02x%02x' % tuple(color)
def float_to_hex(color: List[float]) -> str:
return int8_to_hex(float_to_int8(color))
def hex_to_int8(color: str) -> List[int]:
return [int(color[i+1:i+3], 16) for i in (0, 2, 4)]
def hex_to_float(color: str) -> List[float]:
return int8_to_float(hex_to_int8(color))
# TODO: incorporate https://github.com/vye16/slahmr/blob/main/slahmr/vis/colors.txt
class ColorPalette:
# Picked from: https://colorsite.librian.net/
presets = {
'black' : '#2b2b2b',
'white' : '#eaedf7',
'pink' : '#e6cde3',
'light_pink' : '#fdeff2',
'blue' : '#89c3eb',
'purple' : '#a6a5c4',
'light_purple' : '#bbc8e6',
'red' : '#d3381c',
'orange' : '#f9c89b',
'light_orange' : '#fddea5',
'brown' : '#b48a76',
'human_yellow' : '#f1bf99',
'green' : '#a8c97f',
}
presets_int8 = {k: hex_to_int8(v) for k, v in presets.items()}
presets_float = {k: int8_to_float(v) for k, v in presets_int8.items()}
presets_hex = {k: v for k, v in presets.items()}