generate isosurface(s) from volume/images
More...
#include <vtkImageMarchingCubes.h>
Inherits vtkPolyDataAlgorithm.
|
virtual int | IsA (const char *type) |
|
vtkImageMarchingCubes * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) |
|
unsigned long int | GetMTime () |
|
vtkIdType | GetLocatorPoint (int cellX, int cellY, int edge) |
|
void | AddLocatorPoint (int cellX, int cellY, int edge, vtkIdType ptId) |
|
void | IncrementLocatorZ () |
|
|
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 | 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 (vtkIdType) |
|
virtual vtkIdType | GetInputMemoryLimit () |
|
|
virtual vtkObjectBase * | NewInstanceInternal () const |
|
| vtkImageMarchingCubes () |
|
| ~vtkImageMarchingCubes () |
|
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
virtual int | FillInputPortInformation (int port, vtkInformation *info) |
|
void | March (vtkImageData *inData, int chunkMin, int chunkMax, int numContours, double *values) |
|
void | InitializeLocator (int min0, int max0, int min1, int max1) |
|
void | DeleteLocator () |
|
vtkIdType * | GetLocatorPointer (int cellX, int cellY, int edge) |
|
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 vtkSynchronizedTemplates3D
- Events:
- vtkCommand::StartEvent vtkCommand::EndEvent
- Tests:
- vtkImageMarchingCubes (Tests)
Definition at line 54 of file vtkImageMarchingCubes.h.
vtkImageMarchingCubes::vtkImageMarchingCubes |
( |
| ) |
|
|
protected |
vtkImageMarchingCubes::~vtkImageMarchingCubes |
( |
| ) |
|
|
protected |
static int vtkImageMarchingCubes::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
virtual int vtkImageMarchingCubes::IsA |
( |
const char * |
type | ) |
|
|
virtual |
virtual vtkObjectBase* vtkImageMarchingCubes::NewInstanceInternal |
( |
| ) |
const |
|
protectedvirtual |
void vtkImageMarchingCubes::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
| |
void vtkImageMarchingCubes::SetValue |
( |
int |
i, |
|
|
double |
value |
|
) |
| |
|
inline |
Methods to set contour values
Set a particular contour value at contour number i. The index i ranges between 0<=i<NumberOfContours.
Definition at line 162 of file vtkImageMarchingCubes.h.
double vtkImageMarchingCubes::GetValue |
( |
int |
i | ) |
|
|
inline |
double * vtkImageMarchingCubes::GetValues |
( |
| ) |
|
|
inline |
void vtkImageMarchingCubes::GetValues |
( |
double * |
contourValues | ) |
|
|
inline |
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 191 of file vtkImageMarchingCubes.h.
int vtkImageMarchingCubes::GetNumberOfContours |
( |
| ) |
|
|
inline |
void vtkImageMarchingCubes::GenerateValues |
( |
int |
numContours, |
|
|
double |
range[2] |
|
) |
| |
|
inline |
Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values.
Definition at line 204 of file vtkImageMarchingCubes.h.
void vtkImageMarchingCubes::GenerateValues |
( |
int |
numContours, |
|
|
double |
rangeStart, |
|
|
double |
rangeEnd |
|
) |
| |
|
inline |
Generate numContours equally spaced contour values between specified range. Contour values will include min/max range values.
Definition at line 211 of file vtkImageMarchingCubes.h.
unsigned long int vtkImageMarchingCubes::GetMTime |
( |
| ) |
|
Because we delegate to vtkContourValues & refer to vtkImplicitFunction
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.
vtkIdType vtkImageMarchingCubes::GetLocatorPoint |
( |
int |
cellX, |
|
|
int |
cellY, |
|
|
int |
edge |
|
) |
| |
void vtkImageMarchingCubes::AddLocatorPoint |
( |
int |
cellX, |
|
|
int |
cellY, |
|
|
int |
edge, |
|
|
vtkIdType |
ptId |
|
) |
| |
void vtkImageMarchingCubes::IncrementLocatorZ |
( |
| ) |
|
virtual void vtkImageMarchingCubes::SetInputMemoryLimit |
( |
vtkIdType |
| ) |
|
|
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 vtkIdType 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.
virtual int vtkImageMarchingCubes::RequestData |
( |
vtkInformation * |
, |
|
|
vtkInformationVector ** |
, |
|
|
vtkInformationVector * |
|
|
) |
| |
|
protectedvirtual |
virtual int vtkImageMarchingCubes::FillInputPortInformation |
( |
int |
port, |
|
|
vtkInformation * |
info |
|
) |
| |
|
protectedvirtual |
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 |
vtkIdType* vtkImageMarchingCubes::GetLocatorPointer |
( |
int |
cellX, |
|
|
int |
cellY, |
|
|
int |
edge |
|
) |
| |
|
protected |
int vtkImageMarchingCubes::ComputeScalars |
int vtkImageMarchingCubes::ComputeNormals |
int vtkImageMarchingCubes::ComputeGradients |
int vtkImageMarchingCubes::NeedGradients |
vtkCellArray* vtkImageMarchingCubes::Triangles |
vtkFloatArray* vtkImageMarchingCubes::Scalars |
vtkPoints* vtkImageMarchingCubes::Points |
vtkFloatArray* vtkImageMarchingCubes::Normals |
vtkFloatArray* vtkImageMarchingCubes::Gradients |
int vtkImageMarchingCubes::NumberOfSlicesPerChunk |
|
protected |
vtkIdType vtkImageMarchingCubes::InputMemoryLimit |
|
protected |
vtkContourValues* vtkImageMarchingCubes::ContourValues |
|
protected |
vtkIdType* vtkImageMarchingCubes::LocatorPointIds |
|
protected |
int vtkImageMarchingCubes::LocatorDimX |
|
protected |
int vtkImageMarchingCubes::LocatorDimY |
|
protected |
int vtkImageMarchingCubes::LocatorMinX |
|
protected |
int vtkImageMarchingCubes::LocatorMinY |
|
protected |
The documentation for this class was generated from the following file: