|
virtual int | IsA (const char *type) |
|
vtkImageToPolyDataFilter * | NewInstance () const |
|
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 vtkScalarsToColors * | GetLookupTable () |
|
|
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 (double) |
|
virtual double | GetDecimationError () |
|
|
virtual void | SetError (int) |
|
virtual int | GetError () |
|
|
virtual void | SetSubImageSize (int) |
|
virtual int | GetSubImageSize () |
|
vtkPolyDataAlgorithm * | NewInstance () const |
|
vtkDataObject * | GetInput () |
|
vtkDataObject * | GetInput (int port) |
|
vtkPolyData * | GetPolyDataInput (int port) |
|
vtkPolyData * | GetOutput () |
|
vtkPolyData * | GetOutput (int) |
|
virtual void | SetOutput (vtkDataObject *d) |
|
virtual int | ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
void | SetInputData (vtkDataObject *) |
|
void | SetInputData (int, vtkDataObject *) |
|
void | AddInputData (vtkDataObject *) |
|
void | AddInputData (int, vtkDataObject *) |
|
vtkAlgorithm * | NewInstance () const |
|
int | HasExecutive () |
|
vtkExecutive * | GetExecutive () |
|
virtual void | SetExecutive (vtkExecutive *executive) |
|
virtual int | ModifyRequest (vtkInformation *request, int when) |
|
vtkInformation * | GetInputPortInformation (int port) |
|
vtkInformation * | GetOutputPortInformation (int port) |
|
int | GetNumberOfInputPorts () |
|
int | GetNumberOfOutputPorts () |
|
void | UpdateProgress (double amount) |
|
vtkInformation * | GetInputArrayInformation (int idx) |
|
void | RemoveAllInputs () |
|
vtkDataObject * | GetOutputDataObject (int port) |
|
virtual void | RemoveInputConnection (int port, vtkAlgorithmOutput *input) |
|
virtual void | RemoveInputConnection (int port, int idx) |
|
virtual void | RemoveAllInputConnections (int port) |
|
int | GetNumberOfInputConnections (int port) |
|
int | GetTotalNumberOfInputConnections () |
|
vtkAlgorithmOutput * | GetInputConnection (int port, int index) |
|
vtkAlgorithm * | GetInputAlgorithm (int port, int index, int &algPort) |
|
vtkAlgorithm * | GetInputAlgorithm (int port, int index) |
|
vtkExecutive * | GetInputExecutive (int port, int index) |
|
vtkInformation * | GetInputInformation (int port, int index) |
|
vtkInformation * | GetOutputInformation (int port) |
|
virtual void | UpdateInformation () |
|
virtual void | UpdateDataObject () |
|
virtual void | PropagateUpdateExtent () |
|
virtual void | UpdateWholeExtent () |
|
void | ConvertTotalInputToPortConnection (int ind, int &port, int &conn) |
|
int | SetUpdateExtentToWholeExtent (int port) |
|
int | SetUpdateExtentToWholeExtent () |
|
void | SetUpdateExtent (int port, int extent[6]) |
|
int | ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo) |
|
virtual int | ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, unsigned long *mtime) |
|
virtual vtkInformation * | GetInformation () |
|
virtual void | SetInformation (vtkInformation *) |
|
virtual void | Register (vtkObjectBase *o) |
|
virtual void | UnRegister (vtkObjectBase *o) |
|
virtual void | SetAbortExecute (int) |
|
virtual int | GetAbortExecute () |
|
virtual void | AbortExecuteOn () |
|
virtual void | AbortExecuteOff () |
|
virtual void | SetProgress (double) |
|
virtual double | GetProgress () |
|
void | SetProgressText (const char *ptext) |
|
virtual char * | GetProgressText () |
|
virtual unsigned long | GetErrorCode () |
|
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name) |
|
virtual void | SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType) |
|
virtual void | SetInputArrayToProcess (int idx, vtkInformation *info) |
|
virtual void | SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName) |
|
vtkDataObject * | GetInputDataObject (int port, int connection) |
|
virtual void | SetInputConnection (int port, vtkAlgorithmOutput *input) |
|
virtual void | SetInputConnection (vtkAlgorithmOutput *input) |
|
virtual void | AddInputConnection (int port, vtkAlgorithmOutput *input) |
|
virtual void | AddInputConnection (vtkAlgorithmOutput *input) |
|
virtual void | SetInputDataObject (int port, vtkDataObject *data) |
|
virtual void | SetInputDataObject (vtkDataObject *data) |
|
virtual void | AddInputDataObject (int port, vtkDataObject *data) |
|
virtual void | AddInputDataObject (vtkDataObject *data) |
|
vtkAlgorithmOutput * | GetOutputPort (int index) |
|
vtkAlgorithmOutput * | GetOutputPort () |
|
vtkAlgorithm * | GetInputAlgorithm () |
|
vtkExecutive * | GetInputExecutive () |
|
vtkInformation * | GetInputInformation () |
|
virtual void | Update (int port) |
|
virtual void | Update () |
|
virtual void | SetReleaseDataFlag (int) |
|
virtual int | GetReleaseDataFlag () |
|
void | ReleaseDataFlagOn () |
|
void | ReleaseDataFlagOff () |
|
int | UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output) |
|
int | UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType) |
|
void | SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel) |
|
void | SetUpdateExtent (int piece, int numPieces, int ghostLevel) |
|
void | SetUpdateExtent (int extent[6]) |
|
int * | GetUpdateExtent () |
|
int * | GetUpdateExtent (int port) |
|
void | GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
|
void | GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1) |
|
void | GetUpdateExtent (int extent[6]) |
|
void | GetUpdateExtent (int port, int extent[6]) |
|
int | GetUpdatePiece () |
|
int | GetUpdatePiece (int port) |
|
int | GetUpdateNumberOfPieces () |
|
int | GetUpdateNumberOfPieces (int port) |
|
int | GetUpdateGhostLevel () |
|
int | GetUpdateGhostLevel (int port) |
|
void | SetProgressObserver (vtkProgressObserver *) |
|
virtual vtkProgressObserver * | GetProgressObserver () |
|
vtkObject * | NewInstance () const |
|
virtual void | DebugOn () |
|
virtual void | DebugOff () |
|
bool | GetDebug () |
|
void | SetDebug (bool debugFlag) |
|
virtual void | Modified () |
|
virtual unsigned long | GetMTime () |
|
unsigned long | AddObserver (unsigned long event, vtkCommand *, float priority=0.0f) |
|
unsigned long | AddObserver (const char *event, vtkCommand *, float priority=0.0f) |
|
vtkCommand * | GetCommand (unsigned long tag) |
|
void | RemoveObserver (vtkCommand *) |
|
void | RemoveObservers (unsigned long event, vtkCommand *) |
|
void | RemoveObservers (const char *event, vtkCommand *) |
|
int | HasObserver (unsigned long event, vtkCommand *) |
|
int | HasObserver (const char *event, vtkCommand *) |
|
void | RemoveObserver (unsigned long tag) |
|
void | RemoveObservers (unsigned long event) |
|
void | RemoveObservers (const char *event) |
|
void | RemoveAllObservers () |
|
int | HasObserver (unsigned long event) |
|
int | HasObserver (const char *event) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
template<class U , class T > |
unsigned long | AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f) |
|
int | InvokeEvent (unsigned long event, void *callData) |
|
int | InvokeEvent (const char *event, void *callData) |
|
int | InvokeEvent (unsigned long event) |
|
int | InvokeEvent (const char *event) |
|
const char * | GetClassName () const |
|
virtual void | Delete () |
|
virtual void | FastDelete () |
|
void | Print (ostream &os) |
|
void | SetReferenceCount (int) |
|
void | PrintRevisions (ostream &) |
|
virtual void | PrintHeader (ostream &os, vtkIndent indent) |
|
virtual void | PrintTrailer (ostream &os, vtkIndent indent) |
|
int | GetReferenceCount () |
|
|
virtual vtkObjectBase * | NewInstanceInternal () const |
|
| vtkImageToPolyDataFilter () |
|
| ~vtkImageToPolyDataFilter () |
|
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
virtual int | FillInputPortInformation (int port, vtkInformation *info) |
|
virtual void | PixelizeImage (vtkUnsignedCharArray *pixels, int dims[3], double origin[3], double spacing[3], vtkPolyData *output) |
|
virtual void | PolygonalizeImage (vtkUnsignedCharArray *pixels, int dims[3], double origin[3], double spacing[3], vtkPolyData *output) |
|
virtual void | RunLengthImage (vtkUnsignedCharArray *pixels, int dims[3], double origin[3], double spacing[3], vtkPolyData *output) |
|
| vtkPolyDataAlgorithm () |
|
| ~vtkPolyDataAlgorithm () |
|
virtual int | RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
|
virtual int | FillOutputPortInformation (int port, vtkInformation *info) |
|
virtual int | RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
| vtkAlgorithm () |
|
| ~vtkAlgorithm () |
|
virtual void | SetNumberOfInputPorts (int n) |
|
virtual void | SetNumberOfOutputPorts (int n) |
|
int | InputPortIndexInRange (int index, const char *action) |
|
int | OutputPortIndexInRange (int index, const char *action) |
|
int | GetInputArrayAssociation (int idx, vtkInformationVector **inputVector) |
|
virtual vtkExecutive * | CreateDefaultExecutive () |
|
virtual void | ReportReferences (vtkGarbageCollector *) |
|
virtual void | SetNumberOfInputConnections (int port, int n) |
|
int | GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector) |
|
int | GetInputArrayAssociation (int idx, vtkDataObject *input) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkInformationVector **inputVector) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkDataObject *input) |
|
vtkDataArray * | GetInputArrayToProcess (int idx, vtkDataObject *input, int &association) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkDataObject *input) |
|
vtkAbstractArray * | GetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association) |
|
vtkInformation * | GetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector) |
|
virtual void | SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input) |
|
void | SetInputDataInternal (int port, vtkDataObject *input) |
|
void | AddInputDataInternal (int port, vtkDataObject *input) |
|
virtual void | SetErrorCode (unsigned long) |
|
| vtkObject () |
|
virtual | ~vtkObject () |
|
virtual void | RegisterInternal (vtkObjectBase *, int check) |
|
virtual void | UnRegisterInternal (vtkObjectBase *, int check) |
|
void | InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL) |
|
void | InternalReleaseFocus () |
|
| vtkObjectBase () |
|
virtual | ~vtkObjectBase () |
|
virtual void | CollectRevisions (ostream &) |
|
| vtkObjectBase (const vtkObjectBase &) |
|
void | operator= (const vtkObjectBase &) |
|
generate linear primitives (vtkPolyData) from an image
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.
-
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.
-
Note that many plotting devices/formats support only a limited number of colors.
- See also
- vtkCGMWriter vtkImageQuantizeRGBToIndex vtkTriangleFilter
- Tests:
- vtkImageToPolyDataFilter (Tests)
Definition at line 89 of file vtkImageToPolyDataFilter.h.