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

vtkImageMarchingCubes Class Reference

generate isosurface(s) from volume/images. More...

#include <vtkImageMarchingCubes.h>

Inheritance diagram for vtkImageMarchingCubes:

Inheritance graph
[legend]
Collaboration diagram for vtkImageMarchingCubes:

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)
void SetValue (int i, float value)
void GetValues (float *contourValues)
void SetNumberOfContours (int number)
unsigned long int GetMTime ()
int GetLocatorPoint (int cellX, int cellY, int edge)
void AddLocatorPoint (int cellX, int cellY, int edge, int ptId)
void IncrementLocatorZ ()
void Update ()
void SetInput (vtkImageData *input)
vtkImageDataGetInput ()
float GetValue (int i)
float * GetValues ()
int GetNumberOfContours ()
void GenerateValues (int numContours, float range[2])
void GenerateValues (int numContours, float rangeStart, float rangeEnd)
virtual void SetComputeScalars (int)
virtual int GetComputeScalars ()
virtual void ComputeScalarsOn ()
virtual void ComputeScalarsOff ()
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 SetInputMemoryLimit (int)
virtual int GetInputMemoryLimit ()

Static Public Methods

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

Public Attributes

int ComputeScalars
int ComputeNormals
int ComputeGradients
int NeedGradients
vtkCellArrayTriangles
vtkFloatArrayScalars
vtkPointsPoints
vtkFloatArrayNormals
vtkFloatArrayGradients

Protected Methods

 vtkImageMarchingCubes ()
 ~vtkImageMarchingCubes ()
void Execute ()
void March (vtkImageData *inData, int chunkMin, int chunkMax, int numContours, float *values)
void InitializeLocator (int min0, int max0, int min1, int max1)
void DeleteLocator ()
int * GetLocatorPointer (int cellX, int cellY, int edge)

Protected Attributes

int NumberOfSlicesPerChunk
int InputMemoryLimit
vtkContourValuesContourValues
int * LocatorPointIds
int LocatorDimX
int LocatorDimY
int LocatorMinX
int LocatorMinY

Detailed Description

generate isosurface(s) from volume/images.

Date:
2001/12/17 15:42:37
Revision:
1.29.2.1
Thanks:
Thanks to C. Charles Law who developed this class.
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 InputMemoryLimit, which has units KBytes.

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
Events:
vtkCommand::StartEvent vtkCommand::EndEvent
Tests:
vtkImageMarchingCubes (Tests)

Definition at line 94 of file vtkImageMarchingCubes.h.


Constructor & Destructor Documentation

vtkImageMarchingCubes::vtkImageMarchingCubes   [protected]
 

vtkImageMarchingCubes::~vtkImageMarchingCubes   [protected]
 


Member Function Documentation

vtkImageMarchingCubes* vtkImageMarchingCubes::New   [static]
 

Instantiate object with no start, end, or progress methods.

Reimplemented from vtkPolyDataSource.

virtual const char* vtkImageMarchingCubes::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 vtkPolyDataSource.

int vtkImageMarchingCubes::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 vtkPolyDataSource.

virtual int vtkImageMarchingCubes::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 vtkPolyDataSource.

vtkImageMarchingCubes* vtkImageMarchingCubes::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 vtkPolyDataSource.

void vtkImageMarchingCubes::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.

void vtkImageMarchingCubes::SetInput vtkImageData   input
 

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

vtkImageData* vtkImageMarchingCubes::GetInput  
 

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

void vtkImageMarchingCubes::SetValue int    i,
float    value
[inline]
 

Set a particular contour value at contour number i. The index i ranges between 0<=i<NumberOfContours.

Definition at line 204 of file vtkImageMarchingCubes.h.

float vtkImageMarchingCubes::GetValue int    i [inline]
 

Get the ith contour value.

Definition at line 209 of file vtkImageMarchingCubes.h.

float * vtkImageMarchingCubes::GetValues   [inline]
 

Get a pointer to an array of contour values. There will be GetNumberOfContours() values in the list.

Definition at line 216 of file vtkImageMarchingCubes.h.

void vtkImageMarchingCubes::GetValues float *    contourValues [inline]
 

Fill a supplied list with contour values. There will be GetNumberOfContours() values in the list. Make sure you allocate enough memory to hold the list.

Definition at line 223 of file vtkImageMarchingCubes.h.

void vtkImageMarchingCubes::SetNumberOfContours int    number [inline]
 

Set the number of contours to place into the list. You only really need to use this method to reduce list size. The method SetValue() will automatically increase list size as needed.

Definition at line 229 of file vtkImageMarchingCubes.h.

int vtkImageMarchingCubes::GetNumberOfContours   [inline]
 

Get the number of contours in the list of contour values.

Definition at line 234 of file vtkImageMarchingCubes.h.

void vtkImageMarchingCubes::GenerateValues int    numContours,
float    range[2]
[inline]
 

Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values.

Definition at line 241 of file vtkImageMarchingCubes.h.

void vtkImageMarchingCubes::GenerateValues int    numContours,
float    rangeStart,
float    rangeEnd
[inline]
 

Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values.

Definition at line 248 of file vtkImageMarchingCubes.h.

unsigned long int vtkImageMarchingCubes::GetMTime   [virtual]
 

Return this object's modified time.

Reimplemented from vtkObject.

virtual void vtkImageMarchingCubes::SetComputeScalars int    [virtual]
 

Set/Get the computation of scalars.

virtual int vtkImageMarchingCubes::GetComputeScalars   [virtual]
 

Set/Get the computation of scalars.

virtual void vtkImageMarchingCubes::ComputeScalarsOn   [virtual]
 

Set/Get the computation of scalars.

virtual void vtkImageMarchingCubes::ComputeScalarsOff   [virtual]
 

Set/Get the computation of scalars.

virtual void vtkImageMarchingCubes::SetComputeNormals int    [virtual]
 

Set/Get the computation of normals. Normal computation is fairly 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.

virtual int vtkImageMarchingCubes::GetComputeNormals   [virtual]
 

Set/Get the computation of normals. Normal computation is fairly 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.

virtual void vtkImageMarchingCubes::ComputeNormalsOn   [virtual]
 

Set/Get the computation of normals. Normal computation is fairly 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.

virtual void vtkImageMarchingCubes::ComputeNormalsOff   [virtual]
 

Set/Get the computation of normals. Normal computation is fairly 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.

virtual void vtkImageMarchingCubes::SetComputeGradients int    [virtual]
 

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.

virtual int vtkImageMarchingCubes::GetComputeGradients   [virtual]
 

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.

virtual void vtkImageMarchingCubes::ComputeGradientsOn   [virtual]
 

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.

virtual void vtkImageMarchingCubes::ComputeGradientsOff   [virtual]
 

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.

int vtkImageMarchingCubes::GetLocatorPoint int    cellX,
int    cellY,
int    edge
 

void vtkImageMarchingCubes::AddLocatorPoint int    cellX,
int    cellY,
int    edge,
int    ptId
 

void vtkImageMarchingCubes::IncrementLocatorZ  
 

void vtkImageMarchingCubes::Update   [virtual]
 

Bring object up-to-date before execution. Update() checks modified time against last execution time, and re-executes object if necessary.

Reimplemented from vtkSource.

virtual void vtkImageMarchingCubes::SetInputMemoryLimit int    [virtual]
 

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.

virtual int vtkImageMarchingCubes::GetInputMemoryLimit   [virtual]
 

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 vtkImageMarchingCubes::Execute   [protected, virtual]
 

This method is the old style execute method

Reimplemented from vtkSource.

void vtkImageMarchingCubes::March vtkImageData   inData,
int    chunkMin,
int    chunkMax,
int    numContours,
float *    values
[protected]
 

void vtkImageMarchingCubes::InitializeLocator int    min0,
int    max0,
int    min1,
int    max1
[protected]
 

void vtkImageMarchingCubes::DeleteLocator   [protected]
 

int* vtkImageMarchingCubes::GetLocatorPointer int    cellX,
int    cellY,
int    edge
[protected]
 


Member Data Documentation

int vtkImageMarchingCubes::ComputeScalars
 

Definition at line 150 of file vtkImageMarchingCubes.h.

int vtkImageMarchingCubes::ComputeNormals
 

Definition at line 151 of file vtkImageMarchingCubes.h.

int vtkImageMarchingCubes::ComputeGradients
 

Definition at line 152 of file vtkImageMarchingCubes.h.

int vtkImageMarchingCubes::NeedGradients
 

Definition at line 153 of file vtkImageMarchingCubes.h.

vtkCellArray* vtkImageMarchingCubes::Triangles
 

Definition at line 155 of file vtkImageMarchingCubes.h.

vtkFloatArray* vtkImageMarchingCubes::Scalars
 

Definition at line 156 of file vtkImageMarchingCubes.h.

vtkPoints* vtkImageMarchingCubes::Points
 

Definition at line 157 of file vtkImageMarchingCubes.h.

vtkFloatArray* vtkImageMarchingCubes::Normals
 

Definition at line 158 of file vtkImageMarchingCubes.h.

vtkFloatArray* vtkImageMarchingCubes::Gradients
 

Definition at line 159 of file vtkImageMarchingCubes.h.

int vtkImageMarchingCubes::NumberOfSlicesPerChunk [protected]
 

Definition at line 179 of file vtkImageMarchingCubes.h.

int vtkImageMarchingCubes::InputMemoryLimit [protected]
 

Definition at line 180 of file vtkImageMarchingCubes.h.

vtkContourValues* vtkImageMarchingCubes::ContourValues [protected]
 

Definition at line 182 of file vtkImageMarchingCubes.h.

int* vtkImageMarchingCubes::LocatorPointIds [protected]
 

Definition at line 184 of file vtkImageMarchingCubes.h.

int vtkImageMarchingCubes::LocatorDimX [protected]
 

Definition at line 185 of file vtkImageMarchingCubes.h.

int vtkImageMarchingCubes::LocatorDimY [protected]
 

Definition at line 186 of file vtkImageMarchingCubes.h.

int vtkImageMarchingCubes::LocatorMinX [protected]
 

Definition at line 187 of file vtkImageMarchingCubes.h.

int vtkImageMarchingCubes::LocatorMinY [protected]
 

Definition at line 188 of file vtkImageMarchingCubes.h.


The documentation for this class was generated from the following file:
Generated on Thu Mar 28 14:30:56 2002 for VTK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001