00001 #!/usr/bin/env python 00002 # 00003 # Copyright 2004 00004 # by 00005 # The Board of Trustees of the 00006 # Leland Stanford Junior University. 00007 # All rights reserved. 00008 # 00009 00010 __facility__ = "Online" 00011 __abstract__ = "GLAST Online Event Display color selector" 00012 __author__ = "R. Claus <Claus@SLAC.Stanford.edu> SLAC - GLAST LAT I&T/Online" 00013 __date__ = "10/14/04" 00014 __version__ = "$Revision: 1.3 $" 00015 __release__ = "$Name: R04-12-00 $" 00016 __credits__ = "SLAC" 00017 00018 import LATTE.copyright_SLAC 00019 00020 00021 def colorScale(value): 00022 """\brief Method for returning a color scale RGB tuple given a percentage. 00023 00024 Return a tuple giving the RGB values for a color chosen from a color scale: 00025 black for value < 0.0 00026 blue (cold) for value >= 0.0 00027 . 00028 . 00029 . 00030 red (hot) for value <= 1.0 00031 white for value > 1.0 00032 00033 \param value - A number between 0.0 and 1.0 00034 \return A tuple containing the RGB values corresponding to the input value 00035 """ 00036 00037 if value < 0.0: return (0, 0, 0) 00038 if value > 1.0: return (255, 255, 255) 00039 00040 r = 1.0 00041 g = 1.0 00042 b = 1.0 00043 00044 dv = 1.0 00045 vmin = 0.0 00046 v = value 00047 00048 if (v < (vmin + 0.25 * dv)): 00049 r = 0 00050 g = 4 * (v - vmin) / dv 00051 elif (v < (vmin + 0.5 * dv)): 00052 r = 0 00053 b = 1 + 4 * (vmin + 0.25 * dv - v) / dv 00054 elif (v < (vmin + 0.75 * dv)): 00055 r = 4 * (v - vmin - 0.5 * dv) / dv 00056 b = 0 00057 else: 00058 g = 1 + 4 * (vmin + 0.75 * dv - v) / dv 00059 b = 0 00060 00061 red = int( r * 255. ) 00062 green = int( g * 255. ) 00063 blue = int( b * 255. ) 00064 00065 assert ( red < 256 and green < 256 and blue < 256 ) 00066 return ( red, green, blue )