vtkImageMarchingCubes Class Reference
#include <vtkImageMarchingCubes.h>
Inheritance diagram for vtkImageMarchingCubes:
[legend]Collaboration diagram for vtkImageMarchingCubes:
[legend]List of all members.
Detailed Description
generate isosurface(s) from volume/images
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
- Created by:
-
- CVS contributions (if > 5%):
- Law, Charles (61%)
- Martin, Ken (10%)
- Schroeder, Will (8%)
- Lorensen, Bill (8%)
- CVS logs (CVSweb):
.cxx (/Patented/vtkImageMarchingCubes
.cxx)
.h (/Patented/vtkImageMarchingCubes
.h)
- Tests:
- vtkImageMarchingCubes (Tests)
Definition at line 82 of file vtkImageMarchingCubes.h.
|
Public Types |
typedef vtkPolyDataSource | Superclass |
Public Member Functions |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | SetValue (int i, double value) |
void | GetValues (double *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) |
vtkImageData * | GetInput () |
|
double | GetValue (int i) |
|
double * | GetValues () |
|
int | GetNumberOfContours () |
|
void | GenerateValues (int numContours, double range[2]) |
|
void | GenerateValues (int numContours, double rangeStart, double 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 Member Functions |
vtkImageMarchingCubes * | New () |
int | IsTypeOf (const char *type) |
vtkImageMarchingCubes * | SafeDownCast (vtkObject *o) |
Public Attributes |
int | ComputeScalars |
int | ComputeNormals |
int | ComputeGradients |
int | NeedGradients |
vtkCellArray * | Triangles |
vtkFloatArray * | Scalars |
vtkPoints * | Points |
vtkFloatArray * | Normals |
vtkFloatArray * | Gradients |
Protected Member Functions |
| vtkImageMarchingCubes () |
| ~vtkImageMarchingCubes () |
void | Execute () |
void | March (vtkImageData *inData, int chunkMin, int chunkMax, int numContours, double *values) |
void | InitializeLocator (int min0, int max0, int min1, int max1) |
void | DeleteLocator () |
int * | GetLocatorPointer (int cellX, int cellY, int edge) |
virtual int | FillInputPortInformation (int, vtkInformation *) |
Protected Attributes |
int | NumberOfSlicesPerChunk |
int | InputMemoryLimit |
vtkContourValues * | ContourValues |
int * | LocatorPointIds |
int | LocatorDimX |
int | LocatorDimY |
int | LocatorMinX |
int | LocatorMinY |
Member Typedef Documentation
Constructor & Destructor Documentation
vtkImageMarchingCubes::vtkImageMarchingCubes |
( |
|
) |
[protected] |
|
Member Function Documentation
|
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkAlgorithm. |
virtual const char* vtkImageMarchingCubes::GetClassName |
( |
|
) |
[virtual] |
|
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 vtkTypeRevisionMacro 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 vtkTypeRevisionMacro 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 vtkPolyDataSource. |
void vtkImageMarchingCubes::SetInput |
( |
vtkImageData * |
input |
) |
|
|
|
Set/Get the source for the scalar data to contour. |
|
Set/Get the source for the scalar data to contour. |
void vtkImageMarchingCubes::SetValue |
( |
int |
i, |
|
|
double |
value |
|
) |
[inline] |
|
double vtkImageMarchingCubes::GetValue |
( |
int |
i |
) |
[inline] |
|
double * vtkImageMarchingCubes::GetValues |
( |
|
) |
[inline] |
|
void vtkImageMarchingCubes::GetValues |
( |
double * |
contourValues |
) |
[inline] |
|
void vtkImageMarchingCubes::SetNumberOfContours |
( |
int |
number |
) |
[inline] |
|
int vtkImageMarchingCubes::GetNumberOfContours |
( |
|
) |
[inline] |
|
void vtkImageMarchingCubes::GenerateValues |
( |
int |
numContours, |
|
|
double |
range[2] |
|
) |
[inline] |
|
void vtkImageMarchingCubes::GenerateValues |
( |
int |
numContours, |
|
|
double |
rangeStart, |
|
|
double |
rangeEnd |
|
) |
[inline] |
|
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, |
|
|
double * |
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] |
|
virtual int vtkImageMarchingCubes::FillInputPortInformation |
( |
int |
, |
|
|
vtkInformation * |
|
|
) |
[protected, virtual] |
|
|
Fill the input port information objects for this algorithm. This is invoked by the first call to GetInputPortInformation for each port so subclasses can specify what they can handle.
Reimplemented from vtkProcessObject. |
Member Data Documentation
The documentation for this class was generated from the following file: