VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkDiscreteMarchingCubes Class Reference

generate object boundaries from labelled volumes More...

#include <vtkDiscreteMarchingCubes.h>

Inheritance diagram for vtkDiscreteMarchingCubes:
[legend]
Collaboration diagram for vtkDiscreteMarchingCubes:
[legend]

Public Types

typedef vtkMarchingCubes Superclass
 
- Public Types inherited from vtkMarchingCubes
typedef vtkPolyDataAlgorithm Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkDiscreteMarchingCubesNewInstance () const
 
- Public Member Functions inherited from vtkMarchingCubes
vtkMarchingCubesNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent)
 
unsigned long int GetMTime ()
 
void CreateDefaultLocator ()
 
void SetValue (int i, double value)
 
double GetValue (int i)
 
double * GetValues ()
 
void GetValues (double *contourValues)
 
void SetNumberOfContours (int number)
 
int GetNumberOfContours ()
 
void GenerateValues (int numContours, double range[2])
 
void GenerateValues (int numContours, double rangeStart, double rangeEnd)
 
virtual void SetComputeNormals (int)
 
virtual int GetComputeNormals ()
 
virtual void ComputeNormalsOn ()
 
virtual void ComputeNormalsOff ()
 
virtual void SetComputeGradients (int)
 
virtual int GetComputeGradients ()
 
virtual void ComputeGradientsOn ()
 
virtual void ComputeGradientsOff ()
 
virtual void SetComputeScalars (int)
 
virtual int GetComputeScalars ()
 
virtual void ComputeScalarsOn ()
 
virtual void ComputeScalarsOff ()
 
void SetLocator (vtkIncrementalPointLocator *locator)
 
virtual
vtkIncrementalPointLocator * 
GetLocator ()
 

Static Public Member Functions

static vtkDiscreteMarchingCubesNew ()
 
static int IsTypeOf (const char *type)
 
static vtkDiscreteMarchingCubesSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkMarchingCubes
static vtkMarchingCubesNew ()
 
static int IsTypeOf (const char *type)
 
static vtkMarchingCubesSafeDownCast (vtkObjectBase *o)
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkDiscreteMarchingCubes ()
 
 ~vtkDiscreteMarchingCubes ()
 
virtual int RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
- Protected Member Functions inherited from vtkMarchingCubes
 vtkMarchingCubes ()
 
 ~vtkMarchingCubes ()
 
virtual int FillInputPortInformation (int port, vtkInformation *info)
 

Additional Inherited Members

- Protected Attributes inherited from vtkMarchingCubes
vtkContourValues * ContourValues
 
int ComputeNormals
 
int ComputeGradients
 
int ComputeScalars
 
vtkIncrementalPointLocator * Locator
 

Detailed Description

generate object boundaries from labelled volumes

takes as input a volume (e.g., 3D structured point set) of segmentation labels and generates on output one or more models representing the boundaries between the specified label and the adjacent structures. One or more label values must be specified to generate the models. The boundary positions are always defined to be half-way between adjacent voxels. This filter works best with integral scalar values. If ComputeScalars is on (the default), each output cell will have cell data that corresponds to the scalar value (segmentation label) of the corresponding cube. Note that this differs from vtkMarchingCubes, which stores the scalar value as point data. The rationale for this difference is that cell vertices may be shared between multiple cells. This also means that the resultant polydata may be non-manifold (cell faces may be coincident). To further process the polydata, users should either: 1) extract cells that have a common scalar value using vtkThreshold, or 2) process the data with filters that can handle non-manifold polydata (e.g. vtkWindowedSincPolyDataFilter). Also note, Normals and Gradients are not computed.

Warning
This filter is specialized to volumes. If you are interested in contouring other types of data, use the general vtkContourFilter. If you want to contour an image (i.e., a volume slice), use vtkMarchingSquares.
See Also
vtkContourFilter vtkSliceCubes vtkMarchingSquares vtkDividingCubes
Examples:
vtkDiscreteMarchingCubes (Examples)
Tests:
vtkDiscreteMarchingCubes (Tests)

Definition at line 67 of file vtkDiscreteMarchingCubes.h.

Member Typedef Documentation

Definition at line 71 of file vtkDiscreteMarchingCubes.h.

Constructor & Destructor Documentation

vtkDiscreteMarchingCubes::vtkDiscreteMarchingCubes ( )
protected
vtkDiscreteMarchingCubes::~vtkDiscreteMarchingCubes ( )
protected

Member Function Documentation

static vtkDiscreteMarchingCubes* vtkDiscreteMarchingCubes::New ( )
static
static int vtkDiscreteMarchingCubes::IsTypeOf ( const char *  type)
static
virtual int vtkDiscreteMarchingCubes::IsA ( const char *  type)
virtual

Reimplemented from vtkMarchingCubes.

static vtkDiscreteMarchingCubes* vtkDiscreteMarchingCubes::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkDiscreteMarchingCubes::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkMarchingCubes.

vtkDiscreteMarchingCubes* vtkDiscreteMarchingCubes::NewInstance ( ) const
virtual int vtkDiscreteMarchingCubes::RequestData ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protectedvirtual

Reimplemented from vtkMarchingCubes.


The documentation for this class was generated from the following file: