Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

vtkImageToPolyDataFilter Class Reference

generate linear primitives (vtkPolyData) from an image. More...

#include <vtkImageToPolyDataFilter.h>

Inheritance diagram for vtkImageToPolyDataFilter:

Inheritance graph
[legend]
Collaboration diagram for vtkImageToPolyDataFilter:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
virtual void SetOutputStyle (int)
virtual int GetOutputStyle ()
void SetOutputStyleToPixelize ()
void SetOutputStyleToPolygonalize ()
void SetOutputStyleToRunLength ()
virtual void SetColorMode (int)
virtual int GetColorMode ()
void SetColorModeToLUT ()
void SetColorModeToLinear256 ()
virtual void SetLookupTable (vtkScalarsToColors *)
virtual vtkScalarsToColorsGetLookupTable ()
virtual void SetSmoothing (int)
virtual int GetSmoothing ()
virtual void SmoothingOn ()
virtual void SmoothingOff ()
virtual void SetNumberOfSmoothingIterations (int)
virtual int GetNumberOfSmoothingIterations ()
virtual void SetDecimation (int)
virtual int GetDecimation ()
virtual void DecimationOn ()
virtual void DecimationOff ()
virtual void SetDecimationError (float)
virtual float GetDecimationError ()
virtual void SetError (int)
virtual int GetError ()
virtual void SetSubImageSize (int)
virtual int GetSubImageSize ()

Static Public Methods

int IsTypeOf (const char *type)
vtkImageToPolyDataFilter * SafeDownCast (vtkObject *o)
vtkImageToPolyDataFilter * New ()

Protected Methods

 vtkImageToPolyDataFilter ()
 ~vtkImageToPolyDataFilter ()
 vtkImageToPolyDataFilter (const vtkImageToPolyDataFilter &)
void operator= (const vtkImageToPolyDataFilter &)
void Execute ()
virtual void PixelizeImage (vtkUnsignedCharArray *pixels, int dims[3], float origin[3], float spacing[3], vtkPolyData *output)
virtual void PolygonalizeImage (vtkUnsignedCharArray *pixels, int dims[3], float origin[3], float spacing[3], vtkPolyData *output)
virtual void RunLengthImage (vtkUnsignedCharArray *pixels, int dims[3], float origin[3], float spacing[3], vtkPolyData *output)

Protected Attributes

int OutputStyle
int ColorMode
int Smoothing
int NumberOfSmoothingIterations
int Decimation
float DecimationError
int Error
int SubImageSize
vtkScalarsToColorsLookupTable

Detailed Description

generate linear primitives (vtkPolyData) from an image.

Date:
2000/12/10 20:08:24
Revision:
1.4

vtkImageToPolyDataFilter converts raster data (i.e., an image) into polygonal data (i.e., quads or n-sided polygons), with each polygon assigned a constant color. This is useful for writers that generate vector formats (i.e., CGM or PostScript). To use this filter, you specify how to quantize the color (or whether to use an image with a lookup table), and what style the output should be. The output is always polygons, but the choice is n x m quads (where n and m define the input image dimensions) "Pixelize" option; arbitrary polygons "Polygonalize" option; or variable number of quads of constant color generated along scan lines "RunLength" option.

The algorithm quantizes color in order to create coherent regions that the polygons can represent with good compression. By default, the input image is quantized to 256 colors using a 3-3-2 bits for red-green-blue. However, you can also supply a single component image and a lookup table, with the single component assumed to be an index into the table. (Note: a quantized image can be generated with the filter vtkImageQuantizeRGBToIndex.) The number of colors on output is equal to the number of colors in the input lookup table (or 256 if the built in linear ramp is used).

The output of the filter is polygons with a single color per polygon cell. If the output style is set to "Polygonalize", the polygons may have an large number of points (bounded by something like 2*(n+m)); and the polygon may not be convex which may cause rendering problems on some systems (use vtkTriangleFilter). Otherwise, each polygon will have four vertices. The output also contains scalar data defining RGB color in unsigned char form.

Warning:
The input linear lookup table must be of the form of 3-component unsigned char.
Warning:
This filter defines constant cell colors. If you have a plotting device that supports Gouraud shading (linear interpolation of color), then superior algorithms are available for generating polygons from images.
Warning:
Note that many plotting devices/formats support only a limited number of colors.
See also:
vtkCGMWriter vtkImageQuantizeRGBToIndex vtkTriangleFilter
Examples:
vtkImageToPolyDataFilter (examples)

Definition at line 111 of file vtkImageToPolyDataFilter.h.


Constructor & Destructor Documentation

vtkImageToPolyDataFilter::vtkImageToPolyDataFilter   [protected]
 

vtkImageToPolyDataFilter::~vtkImageToPolyDataFilter   [protected]
 

vtkImageToPolyDataFilter::vtkImageToPolyDataFilter const vtkImageToPolyDataFilter &    [inline, protected]
 

Definition at line 187 of file vtkImageToPolyDataFilter.h.


Member Function Documentation

virtual const char* vtkImageToPolyDataFilter::GetClassName   [virtual]
 

Return the class name as a string. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkStructuredPointsToPolyDataFilter.

int vtkImageToPolyDataFilter::IsTypeOf const char *    type [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 vtkStructuredPointsToPolyDataFilter.

virtual int vtkImageToPolyDataFilter::IsA const char *    type [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 vtkStructuredPointsToPolyDataFilter.

vtkImageToPolyDataFilter* vtkImageToPolyDataFilter::SafeDownCast vtkObject   o [static]
 

Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkStructuredPointsToPolyDataFilter.

void vtkImageToPolyDataFilter::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 vtkSource.

vtkImageToPolyDataFilter* vtkImageToPolyDataFilter::New   [inline, static]
 

Instantiate object with initial number of colors 256.

Reimplemented from vtkPolyDataSource.

Definition at line 118 of file vtkImageToPolyDataFilter.h.

virtual void vtkImageToPolyDataFilter::SetOutputStyle int    [virtual]
 

Specify how to create the output. Pixelize means converting the image to quad polygons with a constant color per quad. Polygonalize means merging colors together into polygonal regions, and then smoothing the regions (if smoothing is turned on). RunLength means creating quad polygons that may encompass several pixels on a scan line. The default behavior is Polygonalize.

virtual int vtkImageToPolyDataFilter::GetOutputStyle   [virtual]
 

void vtkImageToPolyDataFilter::SetOutputStyleToPixelize   [inline]
 

Definition at line 129 of file vtkImageToPolyDataFilter.h.

void vtkImageToPolyDataFilter::SetOutputStyleToPolygonalize   [inline]
 

Definition at line 131 of file vtkImageToPolyDataFilter.h.

void vtkImageToPolyDataFilter::SetOutputStyleToRunLength   [inline]
 

Definition at line 133 of file vtkImageToPolyDataFilter.h.

virtual void vtkImageToPolyDataFilter::SetColorMode int    [virtual]
 

Specify how to quantize color.

virtual int vtkImageToPolyDataFilter::GetColorMode   [virtual]
 

void vtkImageToPolyDataFilter::SetColorModeToLUT   [inline]
 

Definition at line 139 of file vtkImageToPolyDataFilter.h.

void vtkImageToPolyDataFilter::SetColorModeToLinear256   [inline]
 

Definition at line 141 of file vtkImageToPolyDataFilter.h.

virtual void vtkImageToPolyDataFilter::SetLookupTable vtkScalarsToColors   [virtual]
 

Set/Get the vtkLookupTable to use. The lookup table is used when the color mode is set to LUT and a single component scalar is input.

virtual vtkScalarsToColors* vtkImageToPolyDataFilter::GetLookupTable   [virtual]
 

virtual void vtkImageToPolyDataFilter::SetSmoothing int    [virtual]
 

If the output style is set to polygonalize, then you can control whether to smooth boundaries.

virtual int vtkImageToPolyDataFilter::GetSmoothing   [virtual]
 

virtual void vtkImageToPolyDataFilter::SmoothingOn   [virtual]
 

virtual void vtkImageToPolyDataFilter::SmoothingOff   [virtual]
 

virtual void vtkImageToPolyDataFilter::SetNumberOfSmoothingIterations int    [virtual]
 

Specify the number of smoothing iterations to smooth polygons. (Only in effect if output style is Polygonalize and smoothing is on.)

virtual int vtkImageToPolyDataFilter::GetNumberOfSmoothingIterations   [virtual]
 

virtual void vtkImageToPolyDataFilter::SetDecimation int    [virtual]
 

Turn on/off whether the final polygons should be decimated. whether to smooth boundaries.

virtual int vtkImageToPolyDataFilter::GetDecimation   [virtual]
 

virtual void vtkImageToPolyDataFilter::DecimationOn   [virtual]
 

virtual void vtkImageToPolyDataFilter::DecimationOff   [virtual]
 

virtual void vtkImageToPolyDataFilter::SetDecimationError float    [virtual]
 

Specify the error to use for decimation (if decimation is on).

virtual float vtkImageToPolyDataFilter::GetDecimationError   [virtual]
 

virtual void vtkImageToPolyDataFilter::SetError int    [virtual]
 

Specify the error value between two colors where the colors are considered the same. Only use this if the color mode uses the default 256 table.

virtual int vtkImageToPolyDataFilter::GetError   [virtual]
 

virtual void vtkImageToPolyDataFilter::SetSubImageSize int    [virtual]
 

Specify the size (n by n pixels) of the largest region to polygonalize. When the OutputStyle is set to VTK_STYLE_POLYGONALIZE, large amounts of memory are used. In order to process large images, the image is broken into pieces that are at most Size pixels in width and height.

virtual int vtkImageToPolyDataFilter::GetSubImageSize   [virtual]
 

void vtkImageToPolyDataFilter::operator= const vtkImageToPolyDataFilter &    [inline, protected]
 

Definition at line 188 of file vtkImageToPolyDataFilter.h.

void vtkImageToPolyDataFilter::Execute   [protected, virtual]
 

Reimplemented from vtkSource.

virtual void vtkImageToPolyDataFilter::PixelizeImage vtkUnsignedCharArray   pixels,
int    dims[3],
float    origin[3],
float    spacing[3],
vtkPolyData   output
[protected, virtual]
 

virtual void vtkImageToPolyDataFilter::PolygonalizeImage vtkUnsignedCharArray   pixels,
int    dims[3],
float    origin[3],
float    spacing[3],
vtkPolyData   output
[protected, virtual]
 

virtual void vtkImageToPolyDataFilter::RunLengthImage vtkUnsignedCharArray   pixels,
int    dims[3],
float    origin[3],
float    spacing[3],
vtkPolyData   output
[protected, virtual]
 


Member Data Documentation

int vtkImageToPolyDataFilter::OutputStyle [protected]
 

Definition at line 192 of file vtkImageToPolyDataFilter.h.

int vtkImageToPolyDataFilter::ColorMode [protected]
 

Definition at line 193 of file vtkImageToPolyDataFilter.h.

int vtkImageToPolyDataFilter::Smoothing [protected]
 

Definition at line 194 of file vtkImageToPolyDataFilter.h.

int vtkImageToPolyDataFilter::NumberOfSmoothingIterations [protected]
 

Definition at line 195 of file vtkImageToPolyDataFilter.h.

int vtkImageToPolyDataFilter::Decimation [protected]
 

Definition at line 196 of file vtkImageToPolyDataFilter.h.

float vtkImageToPolyDataFilter::DecimationError [protected]
 

Definition at line 197 of file vtkImageToPolyDataFilter.h.

int vtkImageToPolyDataFilter::Error [protected]
 

Definition at line 198 of file vtkImageToPolyDataFilter.h.

int vtkImageToPolyDataFilter::SubImageSize [protected]
 

Definition at line 199 of file vtkImageToPolyDataFilter.h.

vtkScalarsToColors* vtkImageToPolyDataFilter::LookupTable [protected]
 

Definition at line 200 of file vtkImageToPolyDataFilter.h.


The documentation for this class was generated from the following file:
Generated on Wed Nov 21 12:49:03 2001 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001