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 (byte r, byte g, byte b) GetRGB(byte value) { return(cmap.GetRGB(value)); }