Documentation for vtkImageMarchingCubes

vtkImageMarchingCubes - generate isosurface(s) from volume/images

Super Class: vtkPolyDataSource

Description:

vtkImageMarchingCubes is a filter that takes as input images (e.g., 3D image region) and generates on output one or more isosurfaces. One or more contour values must be specified to generate the isosurfaces. Alternatively, you can specify a min/max scalar range and the number of contours to generate a series of evenly spaced contour values. This filter can stream, so that the entire volume need not be loaded at once. Streaming is controlled using the instance variable InputMemroyLimit, which has units KBytes.

 

Caveats:

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

 

Methods:

void vtkImageMarchingCubes ()
void vtkImageMarchingCubes ()
static vtkImageMarchingCubes *New ()
const char *GetClassName ()
void PrintSelf (unknown & ,vtkIndent )
void SetInput (vtkImageCache *)
vtkImageCache *GetInput ()
void SetInput (vtkStructuredPoints *)
void SetValue (int ,float )
float GetValue (int )
float *GetValues ()
void GetValues (float *)
void SetNumberOfContours (int )
int GetNumberOfContours ()
void GenerateValues (int ,float )
void GenerateValues (int ,float ,float )
unsigned long GetMTime ()
void SetComputeScalars (int )
int GetComputeScalars ()
void ComputeScalarsOn ()
void ComputeScalarsOff ()
void SetComputeNormals (int )
int GetComputeNormals ()
void ComputeNormalsOn ()
void ComputeNormalsOff ()
void SetComputeGradients (int )
int GetComputeGradients ()
void ComputeGradientsOn ()
void ComputeGradientsOff ()
int GetLocatorPoint (int ,int ,int )
void AddLocatorPoint (int ,int ,int ,int )
void IncrementLocatorZ ()
void Update ()
void SetInputMemoryLimit (int )
int GetInputMemoryLimit ()
void Execute ()
void March (vtkImageData * ,int ,int ,int ,float *)
void InitializeLocator (int ,int ,int ,int )
void DeleteLocator ()
int *GetLocatorPointer (int ,int ,int )

 

Detailed Method Descriptions:

Set/Get the source for the scalar data to contour.

void SetInput (vtkImageCache *)
vtkImageCache *GetInput ()

Set/Get the computation of scalars.

void SetComputeScalars (int )
int GetComputeScalars ()
void ComputeScalarsOn ()
void ComputeScalarsOff ()

Set/Get the computation of normals. Normal computation is failrly expensive in both time and storage. If the output data will be processed by filters that modify topology or geometry, it may be wise to turn Normals and Gradients off.

void SetComputeNormals (int )
int GetComputeNormals ()
void ComputeNormalsOn ()
void ComputeNormalsOff ()

Set/Get the computation of gradients. Gradient computation is fairly expensive in both time and storage. Note that if ComputeNormals is on, gradients will have to be calculated, but will not be stored in the output dataset. If the output data will be processed by filters that modify topology or geometry, it may be wise to turn Normals and Gradients off.

void SetComputeGradients (int )
int GetComputeGradients ()
void ComputeGradientsOn ()
void ComputeGradientsOff ()

The InputMemoryLimit determines the chunk size (the number of slices requested at each iteration). The units of this limit is KiloBytes. For now, only the Z axis is split.

void SetInputMemoryLimit (int )
int GetInputMemoryLimit ()