Cloned library of VTK-5.0.0 with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

101 lines
3.4 KiB

/*=========================================================================
Program: Visualization Toolkit
Module: $RCSfile: vtkImageQuantizeRGBToIndex.h,v $
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkImageQuantizeRGBToIndex - generalized histograms up to 4 dimensions
// .SECTION Description
// vtkImageQuantizeRGBToIndex takes a 3 component RGB image as
// input and produces a one component index image as output, along with
// a lookup table that contains the color definitions for the index values.
// This filter works on the entire input extent - it does not perform
// streaming, and it does not supported threaded execution (because it has
// to process the entire image).
//
// To use this filter, you typically set the number of colors
// (between 2 and 65536), execute it, and then retrieve the lookup table.
// The colors can then be using the lookup table and the image index.
#ifndef __vtkImageQuantizeRGBToIndex_h
#define __vtkImageQuantizeRGBToIndex_h
#include "vtkImageAlgorithm.h"
class vtkLookupTable;
class VTK_IMAGING_EXPORT vtkImageQuantizeRGBToIndex : public vtkImageAlgorithm
{
public:
static vtkImageQuantizeRGBToIndex *New();
vtkTypeRevisionMacro(vtkImageQuantizeRGBToIndex,vtkImageAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Set / Get the number of color index values to produce - must be
// a number between 2 and 65536.
vtkSetClampMacro( NumberOfColors, int, 2, 65536 );
vtkGetMacro( NumberOfColors, int );
// Description:
// Get the resulting lookup table that contains the color definitions
// corresponding to the index values in the output image.
vtkGetObjectMacro( LookupTable, vtkLookupTable );
vtkGetMacro( InitializeExecuteTime, double );
vtkGetMacro( BuildTreeExecuteTime, double );
vtkGetMacro( LookupIndexExecuteTime, double );
//BTX
// Description:
// For internal use only - get the type of the image
vtkGetMacro( InputType, int );
// Description:
// For internal use only - set the times for execution
vtkSetMacro( InitializeExecuteTime, double );
vtkSetMacro( BuildTreeExecuteTime, double );
vtkSetMacro( LookupIndexExecuteTime, double );
//ETX
protected:
vtkImageQuantizeRGBToIndex();
~vtkImageQuantizeRGBToIndex();
vtkLookupTable *LookupTable;
int NumberOfColors;
int InputType;
double InitializeExecuteTime;
double BuildTreeExecuteTime;
double LookupIndexExecuteTime;
virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
virtual int RequestData(vtkInformation *,
vtkInformationVector **,
vtkInformationVector *);
private:
vtkImageQuantizeRGBToIndex(const vtkImageQuantizeRGBToIndex&); // Not implemented.
void operator=(const vtkImageQuantizeRGBToIndex&); // Not implemented.
};
#endif