vtkLookupTable Class Reference

#include <vtkLookupTable.h>

Inheritance diagram for vtkLookupTable:

Inheritance graph
[legend]
Collaboration diagram for vtkLookupTable:

Collaboration graph
[legend]

List of all members.


Detailed Description

map scalar values into colors via a lookup table

vtkLookupTable is an object that is used by mapper objects to map scalar values into rgba (red-green-blue-alpha transparency) color specification, or rgba into scalar values. The color table can be created by direct insertion of color values, or by specifying hue, saturation, value, and alpha range and generating a table.

Warning:
You need to explicitly call Build() when constructing the LUT by hand.
See also:
vtkLogLookupTable vtkWindowLevelLookupTable
Examples:
vtkLookupTable (Examples)
Tests:
vtkLookupTable (Tests)

Definition at line 50 of file vtkLookupTable.h.


Public Types

typedef vtkScalarsToColors Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual int IsOpaque ()
int Allocate (int sz=256, int ext=256)
virtual void Build ()
virtual void ForceBuild ()
unsigned char * MapValue (double v)
void GetColor (double x, double rgb[3])
double GetOpacity (double v)
virtual vtkIdType GetIndex (double v)
void SetTableValue (vtkIdType indx, double rgba[4])
void SetTableValue (vtkIdType indx, double r, double g, double b, double a=1.0)
double * GetTableValue (vtkIdType id)
void GetTableValue (vtkIdType id, double rgba[4])
unsigned char * WritePointer (const vtkIdType id, const int number)
void DeepCopy (vtkLookupTable *lut)
virtual vtkIdType GetNumberOfAvailableColors ()
virtual void SetRamp (int)
void SetRampToLinear ()
void SetRampToSCurve ()
void SetRampToSQRT ()
virtual int GetRamp ()
void SetScale (int scale)
void SetScaleToLinear ()
void SetScaleToLog10 ()
virtual int GetScale ()
void SetTableRange (double r[2])
virtual void SetTableRange (double min, double max)
virtual double * GetTableRange ()
virtual void GetTableRange (double data[2])
virtual void SetHueRange (double, double)
void SetHueRange (double[2])
virtual double * GetHueRange ()
virtual void GetHueRange (double &, double &)
virtual void GetHueRange (double[2])
virtual void SetSaturationRange (double, double)
void SetSaturationRange (double[2])
virtual double * GetSaturationRange ()
virtual void GetSaturationRange (double &, double &)
virtual void GetSaturationRange (double[2])
virtual void SetValueRange (double, double)
void SetValueRange (double[2])
virtual double * GetValueRange ()
virtual void GetValueRange (double &, double &)
virtual void GetValueRange (double[2])
virtual void SetAlphaRange (double, double)
void SetAlphaRange (double[2])
virtual double * GetAlphaRange ()
virtual void GetAlphaRange (double &, double &)
virtual void GetAlphaRange (double[2])
virtual void SetNanColor (double, double, double, double)
virtual void SetNanColor (double[4])
virtual double * GetNanColor ()
virtual void GetNanColor (double &, double &, double &, double &)
virtual void GetNanColor (double[4])
void SetNumberOfTableValues (vtkIdType number)
vtkIdType GetNumberOfTableValues ()
unsigned char * GetPointer (const vtkIdType id)
double * GetRange ()
void SetRange (double min, double max)
void SetRange (double rng[2])
virtual void SetNumberOfColors (vtkIdType)
virtual vtkIdType GetNumberOfColors ()
void SetTable (vtkUnsignedCharArray *)
virtual vtkUnsignedCharArrayGetTable ()
void MapScalarsThroughTable2 (void *input, unsigned char *output, int inputDataType, int numberOfValues, int inputIncrement, int outputIncrement)
virtual int UsingLogScale ()

Static Public Member Functions

static vtkLookupTableNew ()
static int IsTypeOf (const char *type)
static vtkLookupTableSafeDownCast (vtkObject *o)
static void GetLogRange (const double range[2], double log_range[2])
static double ApplyLogScale (double v, const double range[2], const double log_range[2])

Protected Member Functions

 vtkLookupTable (int sze=256, int ext=256)
 ~vtkLookupTable ()

Protected Attributes

vtkIdType NumberOfColors
vtkUnsignedCharArrayTable
double TableRange [2]
double HueRange [2]
double SaturationRange [2]
double ValueRange [2]
double AlphaRange [2]
double NanColor [4]
int Scale
int Ramp
vtkTimeStamp InsertTime
vtkTimeStamp BuildTime
double RGBA [4]
int OpaqueFlag
vtkTimeStamp OpaqueFlagBuildTime

Member Typedef Documentation

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkLogLookupTable, vtkLookupTableWithEnabling, and vtkWindowLevelLookupTable.

Definition at line 57 of file vtkLookupTable.h.


Constructor & Destructor Documentation

vtkLookupTable::vtkLookupTable ( int  sze = 256,
int  ext = 256 
) [protected]

vtkLookupTable::~vtkLookupTable (  )  [protected]


Member Function Documentation

static vtkLookupTable* vtkLookupTable::New (  )  [static]

Construct with range=[0,1]; and hsv ranges set up for rainbow color table (from red to blue).

Reimplemented from vtkObject.

Reimplemented in vtkLogLookupTable, vtkLookupTableWithEnabling, and vtkWindowLevelLookupTable.

virtual const char* vtkLookupTable::GetClassName (  )  [virtual]

static int vtkLookupTable::IsTypeOf ( const char *  name  )  [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkLogLookupTable, vtkLookupTableWithEnabling, and vtkWindowLevelLookupTable.

virtual int vtkLookupTable::IsA ( const char *  name  )  [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkLogLookupTable, vtkLookupTableWithEnabling, and vtkWindowLevelLookupTable.

static vtkLookupTable* vtkLookupTable::SafeDownCast ( vtkObject o  )  [static]

void vtkLookupTable::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkLogLookupTable, vtkLookupTableWithEnabling, and vtkWindowLevelLookupTable.

virtual int vtkLookupTable::IsOpaque (  )  [virtual]

Return true if all of the values defining the mapping have an opacity equal to 1. Default implementation return true.

Reimplemented from vtkScalarsToColors.

int vtkLookupTable::Allocate ( int  sz = 256,
int  ext = 256 
)

Allocate a color table of specified size.

virtual void vtkLookupTable::Build (  )  [virtual]

Generate lookup table from hue, saturation, value, alpha min/max values. Table is built from linear ramp of each value.

Reimplemented from vtkScalarsToColors.

Reimplemented in vtkWindowLevelLookupTable.

virtual void vtkLookupTable::ForceBuild (  )  [virtual]

Force the lookup table to regenerate from hue, saturation, value, and alpha min/max values. Table is built from a linear ramp of each value. ForceBuild() is useful if a lookup table has been defined manually (using SetTableValue) and then an application decides to rebuild the lookup table using the implicit process.

virtual void vtkLookupTable::SetRamp ( int   )  [virtual]

Set the shape of the table ramp to either linear or S-curve. The default is S-curve, which tails off gradually at either end. The equation used for the S-curve is y = (sin((x - 1/2)*pi) + 1)/2, while the equation for the linear ramp is simply y = x. For an S-curve greyscale ramp, you should set NumberOfTableValues to 402 (which is 256*pi/2) to provide room for the tails of the ramp. The equation for the SQRT is y = sqrt(x).

void vtkLookupTable::SetRampToLinear (  )  [inline]

Set the shape of the table ramp to either linear or S-curve. The default is S-curve, which tails off gradually at either end. The equation used for the S-curve is y = (sin((x - 1/2)*pi) + 1)/2, while the equation for the linear ramp is simply y = x. For an S-curve greyscale ramp, you should set NumberOfTableValues to 402 (which is 256*pi/2) to provide room for the tails of the ramp. The equation for the SQRT is y = sqrt(x).

Definition at line 87 of file vtkLookupTable.h.

void vtkLookupTable::SetRampToSCurve (  )  [inline]

Set the shape of the table ramp to either linear or S-curve. The default is S-curve, which tails off gradually at either end. The equation used for the S-curve is y = (sin((x - 1/2)*pi) + 1)/2, while the equation for the linear ramp is simply y = x. For an S-curve greyscale ramp, you should set NumberOfTableValues to 402 (which is 256*pi/2) to provide room for the tails of the ramp. The equation for the SQRT is y = sqrt(x).

Definition at line 88 of file vtkLookupTable.h.

void vtkLookupTable::SetRampToSQRT (  )  [inline]

Set the shape of the table ramp to either linear or S-curve. The default is S-curve, which tails off gradually at either end. The equation used for the S-curve is y = (sin((x - 1/2)*pi) + 1)/2, while the equation for the linear ramp is simply y = x. For an S-curve greyscale ramp, you should set NumberOfTableValues to 402 (which is 256*pi/2) to provide room for the tails of the ramp. The equation for the SQRT is y = sqrt(x).

Definition at line 89 of file vtkLookupTable.h.

virtual int vtkLookupTable::GetRamp (  )  [virtual]

Set the shape of the table ramp to either linear or S-curve. The default is S-curve, which tails off gradually at either end. The equation used for the S-curve is y = (sin((x - 1/2)*pi) + 1)/2, while the equation for the linear ramp is simply y = x. For an S-curve greyscale ramp, you should set NumberOfTableValues to 402 (which is 256*pi/2) to provide room for the tails of the ramp. The equation for the SQRT is y = sqrt(x).

void vtkLookupTable::SetScale ( int  scale  ) 

Set the type of scale to use, linear or logarithmic. The default is linear. If the scale is logarithmic, then the TableRange must not cross the value zero.

void vtkLookupTable::SetScaleToLinear (  )  [inline]

Set the type of scale to use, linear or logarithmic. The default is linear. If the scale is logarithmic, then the TableRange must not cross the value zero.

Definition at line 98 of file vtkLookupTable.h.

void vtkLookupTable::SetScaleToLog10 (  )  [inline]

Set the type of scale to use, linear or logarithmic. The default is linear. If the scale is logarithmic, then the TableRange must not cross the value zero.

Definition at line 99 of file vtkLookupTable.h.

virtual int vtkLookupTable::GetScale (  )  [virtual]

Set the type of scale to use, linear or logarithmic. The default is linear. If the scale is logarithmic, then the TableRange must not cross the value zero.

void vtkLookupTable::SetTableRange ( double  r[2]  ) 

Set/Get the minimum/maximum scalar values for scalar mapping. Scalar values less than minimum range value are clamped to minimum range value. Scalar values greater than maximum range value are clamped to maximum range value.

virtual void vtkLookupTable::SetTableRange ( double  min,
double  max 
) [virtual]

Set/Get the minimum/maximum scalar values for scalar mapping. Scalar values less than minimum range value are clamped to minimum range value. Scalar values greater than maximum range value are clamped to maximum range value.

virtual double* vtkLookupTable::GetTableRange (  )  [virtual]

Set/Get the minimum/maximum scalar values for scalar mapping. Scalar values less than minimum range value are clamped to minimum range value. Scalar values greater than maximum range value are clamped to maximum range value.

virtual void vtkLookupTable::GetTableRange ( double  data[2]  )  [virtual]

Set/Get the minimum/maximum scalar values for scalar mapping. Scalar values less than minimum range value are clamped to minimum range value. Scalar values greater than maximum range value are clamped to maximum range value.

virtual void vtkLookupTable::SetHueRange ( double  ,
double   
) [virtual]

Set the range in hue (using automatic generation). Hue ranges between [0,1].

void vtkLookupTable::SetHueRange ( double  [2]  ) 

Set the range in hue (using automatic generation). Hue ranges between [0,1].

virtual double* vtkLookupTable::GetHueRange (  )  [virtual]

Set the range in hue (using automatic generation). Hue ranges between [0,1].

virtual void vtkLookupTable::GetHueRange ( double &  ,
double &   
) [virtual]

Set the range in hue (using automatic generation). Hue ranges between [0,1].

virtual void vtkLookupTable::GetHueRange ( double  [2]  )  [virtual]

Set the range in hue (using automatic generation). Hue ranges between [0,1].

virtual void vtkLookupTable::SetSaturationRange ( double  ,
double   
) [virtual]

Set the range in saturation (using automatic generation). Saturation ranges between [0,1].

void vtkLookupTable::SetSaturationRange ( double  [2]  ) 

Set the range in saturation (using automatic generation). Saturation ranges between [0,1].

virtual double* vtkLookupTable::GetSaturationRange (  )  [virtual]

Set the range in saturation (using automatic generation). Saturation ranges between [0,1].

virtual void vtkLookupTable::GetSaturationRange ( double &  ,
double &   
) [virtual]

Set the range in saturation (using automatic generation). Saturation ranges between [0,1].

virtual void vtkLookupTable::GetSaturationRange ( double  [2]  )  [virtual]

Set the range in saturation (using automatic generation). Saturation ranges between [0,1].

virtual void vtkLookupTable::SetValueRange ( double  ,
double   
) [virtual]

Set the range in value (using automatic generation). Value ranges between [0,1].

void vtkLookupTable::SetValueRange ( double  [2]  ) 

Set the range in value (using automatic generation). Value ranges between [0,1].

virtual double* vtkLookupTable::GetValueRange (  )  [virtual]

Set the range in value (using automatic generation). Value ranges between [0,1].

virtual void vtkLookupTable::GetValueRange ( double &  ,
double &   
) [virtual]

Set the range in value (using automatic generation). Value ranges between [0,1].

virtual void vtkLookupTable::GetValueRange ( double  [2]  )  [virtual]

Set the range in value (using automatic generation). Value ranges between [0,1].

virtual void vtkLookupTable::SetAlphaRange ( double  ,
double   
) [virtual]

Set the range in alpha (using automatic generation). Alpha ranges from [0,1].

void vtkLookupTable::SetAlphaRange ( double  [2]  ) 

Set the range in alpha (using automatic generation). Alpha ranges from [0,1].

virtual double* vtkLookupTable::GetAlphaRange (  )  [virtual]

Set the range in alpha (using automatic generation). Alpha ranges from [0,1].

virtual void vtkLookupTable::GetAlphaRange ( double &  ,
double &   
) [virtual]

Set the range in alpha (using automatic generation). Alpha ranges from [0,1].

virtual void vtkLookupTable::GetAlphaRange ( double  [2]  )  [virtual]

Set the range in alpha (using automatic generation). Alpha ranges from [0,1].

virtual void vtkLookupTable::SetNanColor ( double  ,
double  ,
double  ,
double   
) [virtual]

Set the color to use when a NaN (not a number) is encountered. This is an RGBA 4-tuple color of doubles in the range [0,1].

virtual void vtkLookupTable::SetNanColor ( double  [4]  )  [virtual]

Set the color to use when a NaN (not a number) is encountered. This is an RGBA 4-tuple color of doubles in the range [0,1].

virtual double* vtkLookupTable::GetNanColor (  )  [virtual]

Set the color to use when a NaN (not a number) is encountered. This is an RGBA 4-tuple color of doubles in the range [0,1].

virtual void vtkLookupTable::GetNanColor ( double &  ,
double &  ,
double &  ,
double &   
) [virtual]

Set the color to use when a NaN (not a number) is encountered. This is an RGBA 4-tuple color of doubles in the range [0,1].

virtual void vtkLookupTable::GetNanColor ( double  [4]  )  [virtual]

Set the color to use when a NaN (not a number) is encountered. This is an RGBA 4-tuple color of doubles in the range [0,1].

unsigned char* vtkLookupTable::MapValue ( double  v  )  [virtual]

Map one value through the lookup table.

Implements vtkScalarsToColors.

void vtkLookupTable::GetColor ( double  x,
double  rgb[3] 
) [virtual]

Map one value through the lookup table and return the color as an RGB array of doubles between 0 and 1.

Implements vtkScalarsToColors.

double vtkLookupTable::GetOpacity ( double  v  ) 

Map one value through the lookup table and return the alpha value (the opacity) as a double between 0 and 1.

virtual vtkIdType vtkLookupTable::GetIndex ( double  v  )  [virtual]

Return the table index associated with a particular value.

void vtkLookupTable::SetNumberOfTableValues ( vtkIdType  number  ) 

Specify the number of values (i.e., colors) in the lookup table.

vtkIdType vtkLookupTable::GetNumberOfTableValues (  )  [inline]

Specify the number of values (i.e., colors) in the lookup table.

Definition at line 165 of file vtkLookupTable.h.

void vtkLookupTable::SetTableValue ( vtkIdType  indx,
double  rgba[4] 
)

Directly load color into lookup table. Use [0,1] double values for color component specification. Make sure that you've either used the Build() method or used SetNumberOfTableValues() prior to using this method.

void vtkLookupTable::SetTableValue ( vtkIdType  indx,
double  r,
double  g,
double  b,
double  a = 1.0 
)

Directly load color into lookup table. Use [0,1] double values for color component specification.

double* vtkLookupTable::GetTableValue ( vtkIdType  id  ) 

Return a rgba color value for the given index into the lookup table. Color components are expressed as [0,1] double values.

void vtkLookupTable::GetTableValue ( vtkIdType  id,
double  rgba[4] 
)

Return a rgba color value for the given index into the lookup table. Color components are expressed as [0,1] double values.

unsigned char* vtkLookupTable::GetPointer ( const vtkIdType  id  )  [inline]

Get pointer to color table data. Format is array of unsigned char r-g-b-a-r-g-b-a...

Definition at line 189 of file vtkLookupTable.h.

unsigned char * vtkLookupTable::WritePointer ( const vtkIdType  id,
const int  number 
) [inline]

Get pointer to data. Useful for direct writes into object. MaxId is bumped by number (and memory allocated if necessary). Id is the location you wish to write into; number is the number of rgba values to write.

Definition at line 287 of file vtkLookupTable.h.

double* vtkLookupTable::GetRange (  )  [inline, virtual]

Sets/Gets the range of scalars which will be mapped. This is a duplicate of Get/SetTableRange.

Implements vtkScalarsToColors.

Definition at line 202 of file vtkLookupTable.h.

void vtkLookupTable::SetRange ( double  min,
double  max 
) [inline, virtual]

Sets/Gets the range of scalars which will be mapped. This is a duplicate of Get/SetTableRange.

Implements vtkScalarsToColors.

Definition at line 203 of file vtkLookupTable.h.

void vtkLookupTable::SetRange ( double  rng[2]  )  [inline]

Sets/Gets the range of scalars which will be mapped. This is a duplicate of Get/SetTableRange.

Reimplemented from vtkScalarsToColors.

Definition at line 204 of file vtkLookupTable.h.

static void vtkLookupTable::GetLogRange ( const double  range[2],
double  log_range[2] 
) [static]

Returns the log of range in log_range. There is a little more to this than simply taking the log10 of the two range values: we do conversion of negative ranges to positive ranges, and conversion of zero to a 'very small number'.

static double vtkLookupTable::ApplyLogScale ( double  v,
const double  range[2],
const double  log_range[2] 
) [static]

Apply log to value, with appropriate constraints.

virtual void vtkLookupTable::SetNumberOfColors ( vtkIdType   )  [virtual]

Set the number of colors in the lookup table. Use SetNumberOfTableValues() instead, it can be used both before and after the table has been built whereas SetNumberOfColors() has no effect after the table has been built.

virtual vtkIdType vtkLookupTable::GetNumberOfColors (  )  [virtual]

Set the number of colors in the lookup table. Use SetNumberOfTableValues() instead, it can be used both before and after the table has been built whereas SetNumberOfColors() has no effect after the table has been built.

void vtkLookupTable::SetTable ( vtkUnsignedCharArray  ) 

Set/Get the internal table array that is used to map the scalars to colors. The table array is an unsigned char array with 4 components representing RGBA.

virtual vtkUnsignedCharArray* vtkLookupTable::GetTable (  )  [virtual]

Set/Get the internal table array that is used to map the scalars to colors. The table array is an unsigned char array with 4 components representing RGBA.

void vtkLookupTable::MapScalarsThroughTable2 ( void *  input,
unsigned char *  output,
int  inputDataType,
int  numberOfValues,
int  inputIncrement,
int  outputIncrement 
) [virtual]

map a set of scalars through the lookup table

Implements vtkScalarsToColors.

Reimplemented in vtkLookupTableWithEnabling.

void vtkLookupTable::DeepCopy ( vtkLookupTable lut  ) 

Copy the contents from another LookupTable

virtual int vtkLookupTable::UsingLogScale (  )  [inline, virtual]

This should return 1 is the subclass is using log scale for mapping scalars to colors. Returns 1 is scale == VTK_SCALE_LOG10.

Reimplemented from vtkScalarsToColors.

Definition at line 251 of file vtkLookupTable.h.

virtual vtkIdType vtkLookupTable::GetNumberOfAvailableColors (  )  [virtual]

Get the number of available colors for mapping to.

Implements vtkScalarsToColors.


Member Data Documentation

Definition at line 264 of file vtkLookupTable.h.

Definition at line 265 of file vtkLookupTable.h.

double vtkLookupTable::TableRange[2] [protected]

Definition at line 266 of file vtkLookupTable.h.

double vtkLookupTable::HueRange[2] [protected]

Definition at line 267 of file vtkLookupTable.h.

double vtkLookupTable::SaturationRange[2] [protected]

Definition at line 268 of file vtkLookupTable.h.

double vtkLookupTable::ValueRange[2] [protected]

Definition at line 269 of file vtkLookupTable.h.

double vtkLookupTable::AlphaRange[2] [protected]

Definition at line 270 of file vtkLookupTable.h.

double vtkLookupTable::NanColor[4] [protected]

Definition at line 271 of file vtkLookupTable.h.

int vtkLookupTable::Scale [protected]

Definition at line 272 of file vtkLookupTable.h.

int vtkLookupTable::Ramp [protected]

Definition at line 273 of file vtkLookupTable.h.

Definition at line 274 of file vtkLookupTable.h.

Definition at line 275 of file vtkLookupTable.h.

double vtkLookupTable::RGBA[4] [protected]

Definition at line 276 of file vtkLookupTable.h.

int vtkLookupTable::OpaqueFlag [protected]

Definition at line 278 of file vtkLookupTable.h.

Definition at line 279 of file vtkLookupTable.h.


The documentation for this class was generated from the following file:

Generated on Wed Aug 24 11:46:25 2011 for VTK by  doxygen 1.5.6