00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkColorTable_h
00018
#define __itkColorTable_h
00019
00020
#include <itkObject.h>
00021
#include <stdio.h>
00022
#include <itkRGBPixel.h>
00023
#include <itkObjectFactory.h>
00024
00025
namespace itk
00026 {
00033
template<
class TPixel>
00034 class ITK_EXPORT ColorTable :
public Object
00035 {
00036
public:
00038 typedef ColorTable
Self;
00039 typedef Object Superclass;
00040 typedef SmartPointer<Self> Pointer;
00041 typedef SmartPointer<const Self> ConstPointer;
00042
00044
itkNewMacro(
Self);
00045
00047
itkTypeMacro(ColorTable,
Object);
00048
00050
void useDiscrete(
void);
00051
void useGray(
int n=256);
00052
void useHeat(
int n=256);
00053
int size(
void);
00054
RGBPixel<TPixel>* color(
int c);
00055
00058 TPixel color(
int c,
char rgb);
00059
char * colorName(
int c);
00060
00061
protected:
00062 ColorTable();
00063
virtual ~ColorTable();
00064
00065
int m_NumberOfColors;
00066
RGBPixel<TPixel> * m_Color;
00067 char ** m_ColorName;
00068
00069 private:
00070 ColorTable(
const Self&);
00071
void operator=(
const Self&);
00072 };
00073
00074
00075 }
00076
00077
#ifndef ITK_MANUAL_INSTANTIATION
00078
#include "itkColorTable.txx"
00079
#endif
00080
00081
#endif