public static byte[,] IntenstitiesToRGB(double[] intensities, IColourmap cmap) { byte[,] output = new byte[intensities.Length, 3]; for (int i = 0; i < intensities.Length; i++) { double intensity = intensities[i] * 255; byte pixelIntensity = (byte)Math.Max(Math.Min(intensity, 255), 0); var(r, g, b) = cmap.GetRGB(pixelIntensity); output[i, 0] = r; output[i, 1] = g; output[i, 2] = b; } return(output); }
public Colourmap(IColourmap colourmap) { cmap = colourmap ?? new Grayscale(); Name = cmap.GetType().Name; }