summaryrefslogtreecommitdiff
path: root/color/colormap.py
diff options
context:
space:
mode:
Diffstat (limited to 'color/colormap.py')
-rw-r--r--color/colormap.py24
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]