core/vil/vil_color_table.h
Go to the documentation of this file.
00001 // This is core/vil/vil_color_table.h
00002 #ifndef vil_color_table_h_
00003 #define vil_color_table_h_
00004 //:
00005 // \file
00006 // \brief Color tables for applying false color to greyscale images.
00007 // \author brooksby@research.ge.com
00008 // \date 08 Nov 2005
00009 // \verbatim
00010 //  Modifications
00011 //   8 Nov 2005 Initial port from TargetJr.
00012 // \endverbatim
00013 //
00014 // This file provides a way to load color tables directly, rather than computing them.
00015 // It was created from the predefined color tables in IDL. It provides a way of adding
00016 // pseudo-color to data for visualization purposes.
00017 //
00018 // These tables are provided courtesy of Research Systems Incorporated (RSI),
00019 // Boulder, CO and are used with permission.  RSI is the developer of IDL.
00020 //
00021 // The number (ie REDx, GREENx, BLUEx) refer to the color table numbers from IDL.
00022 // The IDL descriptions are as follows. I don't claim the names make sense, but
00023 // at least they are unique and give a hint as to how they may display.
00024 //
00025 // - Nr Name
00026 // -  0 Black & White Linear
00027 // -  1 Blue/White Linear
00028 // -  2 Green-Red-Blue-White
00029 // -  3 Red Temperature
00030 // -  4 Blue-Green-Red-Yellow
00031 // -  5 Standard Gamma-II
00032 // -  6 Prism
00033 // -  7 Red-Purple
00034 // -  8 Green/White Linear
00035 // -  9 Green/White Exponential
00036 // - 10 Green-Pink
00037 // - 11 Blue-Red
00038 // - 12 16 Level
00039 // - 13 Rainbow
00040 // - 14 Steps
00041 // - 15 Stern Special
00042 // - 16 Haze
00043 // - 17 Blue-Pastel
00044 // - 18 Red-Pastel
00045 // - 19 Hue Sat Lightness 1
00046 // - 20 Hue Sat Lightness 2
00047 // - 21 Hue Sat Value 1
00048 // - 22 Hue Sat Value 2
00049 // - 23 Purple-Red + Stripes
00050 // - 24 Beach
00051 // - 25 Mac Style
00052 // - 26 Eos A
00053 // - 27 Eos B
00054 // - 28 Hardcandy
00055 // - 29 Nature
00056 // - 30 Ocean
00057 // - 31 Peppermint
00058 // - 32 Plasma
00059 // - 33 Blue-Red 2
00060 // - 34 Rainbow 2
00061 // - 35 Blue Waves
00062 // - 36 Volcano
00063 // - 37 Waves
00064 //
00065 // To understand how these color maps appear, compile and run the example
00066 // program vil_color_tables.cxx.  This executable will produce a color image
00067 // for each of these tables representing a ramp from 0 to 255.
00068 
00069 #include <vil/vil_rgb.h>
00070 #include <vxl_config.h> // for vxl_byte
00071 
00072 enum color_theme {BWLIN1=0, BWLIN2, GRBW, REDTEMP, BGRY, GAMMA_II, PRISM, RED_PURPLE,
00073                   GWLIN, GWEXP, GREENPINK, BLUERED, SIXTEENLEVEL, RAINBOW1, STEPS, STERN,
00074                   HAZE, BLUE_PASTEL, RED_PASTEL, HSL1, HSL2, HSV1, HSV2, PURPLE_RED_STRIPES,
00075                   BEACH, MAC, EOS_A, EOS_B, HARD_CANDY, NATURE, OCEAN, PEPPERMINT, PLASMA,
00076                   BLUERED2, RAINBOW2, BLUE_WAVES, VOLCANO1, WAVES1};
00077 
00078 vil_rgb<vxl_byte> color_value(int theme, int color_index);
00079 
00080 #endif