Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | Related Pages

colorScale.py

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 )

Generated on Fri Jul 21 13:26:27 2006 for LATTE R04-12-00 by doxygen 1.4.3