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.
106 lines
3.5 KiB
106 lines
3.5 KiB
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: $RCSfile: vtkImageMapToColors.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 vtkImageMapToColors - map the input image through a lookup table
|
|
// .SECTION Description
|
|
// The vtkImageMapToColors filter will take an input image of any valid
|
|
// scalar type, and map the first component of the image through a
|
|
// lookup table. The result is an image of type VTK_UNSIGNED_CHAR.
|
|
// If the lookup table is not set, or is set to NULL, then the input
|
|
// data will be passed through if it is already of type UNSIGNED_CHAR.
|
|
|
|
// .SECTION See Also
|
|
// vtkLookupTable vtkScalarsToColors
|
|
|
|
#ifndef __vtkImageMapToColors_h
|
|
#define __vtkImageMapToColors_h
|
|
|
|
|
|
#include "vtkThreadedImageAlgorithm.h"
|
|
|
|
class vtkScalarsToColors;
|
|
|
|
class VTK_IMAGING_EXPORT vtkImageMapToColors : public vtkThreadedImageAlgorithm
|
|
{
|
|
public:
|
|
static vtkImageMapToColors *New();
|
|
vtkTypeRevisionMacro(vtkImageMapToColors,vtkThreadedImageAlgorithm);
|
|
void PrintSelf(ostream& os, vtkIndent indent);
|
|
|
|
// Description:
|
|
// Set the lookup table.
|
|
virtual void SetLookupTable(vtkScalarsToColors*);
|
|
vtkGetObjectMacro(LookupTable,vtkScalarsToColors);
|
|
|
|
// Description:
|
|
// Set the output format, the default is RGBA.
|
|
vtkSetMacro(OutputFormat,int);
|
|
vtkGetMacro(OutputFormat,int);
|
|
void SetOutputFormatToRGBA() { this->OutputFormat = VTK_RGBA; };
|
|
void SetOutputFormatToRGB() { this->OutputFormat = VTK_RGB; };
|
|
void SetOutputFormatToLuminanceAlpha() { this->OutputFormat = VTK_LUMINANCE_ALPHA; };
|
|
void SetOutputFormatToLuminance() { this->OutputFormat = VTK_LUMINANCE; };
|
|
|
|
// Description:
|
|
// Set the component to map for multi-component images (default: 0)
|
|
vtkSetMacro(ActiveComponent,int);
|
|
vtkGetMacro(ActiveComponent,int);
|
|
|
|
// Description:
|
|
// Use the alpha component of the input when computing the alpha component
|
|
// of the output (useful when converting monochrome+alpha data to RGBA)
|
|
vtkSetMacro(PassAlphaToOutput,int);
|
|
vtkBooleanMacro(PassAlphaToOutput,int);
|
|
vtkGetMacro(PassAlphaToOutput,int);
|
|
|
|
// Description:
|
|
// We need to check the modified time of the lookup table too.
|
|
virtual unsigned long GetMTime();
|
|
|
|
protected:
|
|
vtkImageMapToColors();
|
|
~vtkImageMapToColors();
|
|
|
|
virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *);
|
|
|
|
void ThreadedRequestData(vtkInformation *request,
|
|
vtkInformationVector **inputVector,
|
|
vtkInformationVector *outputVector,
|
|
vtkImageData ***inData, vtkImageData **outData,
|
|
int extent[6], int id);
|
|
|
|
virtual int RequestData(vtkInformation *request,
|
|
vtkInformationVector **inputVector,
|
|
vtkInformationVector *outputVector);
|
|
|
|
vtkScalarsToColors *LookupTable;
|
|
int OutputFormat;
|
|
|
|
int ActiveComponent;
|
|
int PassAlphaToOutput;
|
|
|
|
int DataWasPassed;
|
|
private:
|
|
vtkImageMapToColors(const vtkImageMapToColors&); // Not implemented.
|
|
void operator=(const vtkImageMapToColors&); // Not implemented.
|
|
};
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|