src/ColourTools.jl

changeset 55
198108ecdab7
equal deleted inserted replaced
54:471f9f64ff2d 55:198108ecdab7
1
2 #############################################
3 # Utilities to work with colourmapped images
4 #############################################
5
6 module ColourTools
7
8 using ColorTypes: Gray
9
10 # Our exports
11
12 export grayimg,
13 mapped_img,
14 clip
15
16 # Clip image values to allowed range
17 clip = x -> min(max(x, 0.0), 1.0)
18
19 # Tell that raw image data is grayscale
20 grayimg = im -> Gray.(clip.(im))
21
22 # Apply a colourmap (vector of RGB objects) to raw image data
23 function mapped_img(im, cmap)
24 l = length(cmap)
25 apply = t -> cmap[1+round(UInt8, clip(t) * (l-1))]
26 return apply.(im)
27 end
28
29 end
30

mercurial