diff options
Diffstat (limited to 'color/colormap.py')
-rw-r--r-- | color/colormap.py | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/color/colormap.py b/color/colormap.py index b3761ae..e5bd73e 100644 --- a/color/colormap.py +++ b/color/colormap.py @@ -1,27 +1,13 @@ import numpy as np +import matplotlib.cm as cm -import matplotlib.pyplot as plt - -def map_to_color(a, range=None): +def map_to_color(a, range=None, map=cm.hsv): a = np.asarray(a) if range is None: range = (a.min(), a.max()) - x = np.linspace(0, np.pi, 100) - - yr = np.cos(x)**2 - yr[x > np.pi/2] = 0.0 - yg = np.sin(x)**2 - yb = np.cos(x)**2 - yb[x < np.pi/2] = 0.0 - - #plt.plot(x, yr, 'r-', x, yb, 'b-', x, yg, 'g-') - #plt.show() - - ax = np.pi*(a - range[0])/(range[1]-range[0]) + ax = (a - range[0])/(range[1]-range[0]) - r = (np.interp(ax, x, yr)*255).astype(np.uint32) - g = (np.interp(ax, x, yg)*255).astype(np.uint32) - b = (np.interp(ax, x, yb)*255).astype(np.uint32) + rgba = (map(ax)*255).astype(np.uint32) - return r << 16 | g << 8 | b + return rgba[:,0] << 16 | rgba[:,1] << 8 | rgba[:,2] |