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

vtkImageData Class Reference

topologically and geometrically regular array of data. More...

#include <vtkImageData.h>

Inheritance diagram for vtkImageData:

Inheritance graph
[legend]
Collaboration diagram for vtkImageData:

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)
vtkDataObject * MakeObject ()
void CopyStructure (vtkDataSet *ds)
int GetDataObjectType ()
void UpdateData ()
int GetNumberOfCells ()
int GetNumberOfPoints ()
float * GetPoint (int ptId)
void GetPoint (int id, float x[3])
vtkCell * GetCell (int cellId)
void GetCell (int cellId, vtkGenericCell *cell)
void GetCellBounds (int cellId, float bounds[6])
int FindPoint (float x, float y, float z)
int FindPoint (float x[3])
int FindCell (float x[3], vtkCell *cell, int cellId, float tol2, int &subId, float pcoords[3], float *weights)
int FindCell (float x[3], vtkCell *cell, vtkGenericCell *gencell, int cellId, float tol2, int &subId, float pcoords[3], float *weights)
vtkCell * FindAndGetCell (float x[3], vtkCell *cell, int cellId, float tol2, int &subId, float pcoords[3], float *weights)
int GetCellType (int cellId)
void GetCellPoints (int cellId, vtkIdList *ptIds)
void GetPointCells (int ptId, vtkIdList *cellIds)
void ComputeBounds ()
int GetMaxCellSize ()
void SetDimensions (int i, int j, int k)
void SetDimensions (int dims[3])
int * GetDimensions ()
void GetDimensions (int dims[3])
int ComputeStructuredCoordinates (float x[3], int ijk[3], float pcoords[3])
void GetVoxelGradient (int i, int j, int k, vtkScalars *s, vtkVectors *g)
void GetPointGradient (int i, int j, int k, vtkScalars *s, float g[3])
int GetDataDimension ()
int ComputePointId (int ijk[3])
int ComputeCellId (int ijk[3])
void SetAxisUpdateExtent (int axis, int min, int max)
void GetAxisUpdateExtent (int axis, int &min, int &max)
void SetUpdateExtent (int piece, int numPieces, int ghostLevel)
void SetUpdateExtent (int piece, int numPieces)
void SetUpdateExtent (int x1, int x2, int y1, int y2, int z1, int z2)
void SetUpdateExtent (int ext[6])
void SetExtent (int extent[6])
void SetExtent (int x1, int x2, int y1, int y2, int z1, int z2)
virtual int * GetExtent ()
virtual void GetExtent (int &, int &, int &, int &, int &, int &)
virtual void GetExtent (int[6])
virtual unsigned long GetEstimatedMemorySize ()
double GetScalarTypeMin ()
double GetScalarTypeMax ()
int GetScalarSize ()
int * GetIncrements ()
void GetIncrements (int &incX, int &incY, int &incZ)
void GetIncrements (int inc[3])
void GetContinuousIncrements (int extent[6], int &incX, int &incY, int &incZ)
void * GetScalarPointerForExtent (int coordinates[6])
void * GetScalarPointer (int coordinates[3])
void * GetScalarPointer (int x, int y, int z)
void * GetScalarPointer ()
float GetScalarComponentAsFloat (int x, int y, int z, int component)
void AllocateScalars ()
void CopyAndCastFrom (vtkImageData *inData, int extent[6])
vtkImageToStructuredPoints * MakeImageToStructuredPoints ()
unsigned long GetActualMemorySize ()
virtual void SetSpacing (float, float, float)
virtual void SetSpacing (float[3])
virtual float * GetSpacing ()
virtual void GetSpacing (float &, float &, float &)
virtual void GetSpacing (float[3])
virtual void SetOrigin (float, float, float)
virtual void SetOrigin (float[3])
virtual float * GetOrigin ()
virtual void GetOrigin (float &, float &, float &)
virtual void GetOrigin (float[3])
virtual void SetScalarType (int)
int GetScalarType ()
void SetNumberOfScalarComponents (int n)
virtual int GetNumberOfScalarComponents ()
void CopyTypeSpecificInformation (vtkDataObject *image)
virtual void PrepareForNewData ()
void ShallowCopy (vtkDataObject *src)
void DeepCopy (vtkDataObject *src)
void GetCellPoints (int cellId, vtkIdList &ptIds)
void GetPointCells (int ptId, vtkIdList &cellIds)
void GetVoxelGradient (int i, int j, int k, vtkScalars *s, vtkVectors &g)
vtkImageData * UpdateAndReturnData ()

Static Public Methods

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

Protected Methods

 vtkImageData ()
 ~vtkImageData ()
 vtkImageData (const vtkImageData &)
void operator= (const vtkImageData &)
int GetExtentType ()
void ComputeIncrements ()

Protected Attributes

vtkImageToStructuredPoints * ImageToStructuredPoints
vtkVertex * Vertex
vtkLine * Line
vtkPixel * Pixel
vtkVoxel * Voxel
int Dimensions [3]
int DataDescription
int Increments [3]
float Origin [3]
float Spacing [3]
int ScalarType
int NumberOfScalarComponents

Detailed Description

topologically and geometrically regular array of data.

Date:
2000/12/12 20:04:30
Revision:
1.80

vtkImageData is a data object that is a concrete implementation of vtkDataSet. vtkImageData represents a geometric structure that is a topological and geometrical regular array of points. Examples include volumes (voxel data) and pixmaps.


Member Function Documentation

void vtkImageData::AllocateScalars (    ) 
 

Allocate the vtkScalars object associated with this object.

void vtkImageData::ComputeBounds (    )  [virtual]
 

Compute the data bounding box from data points. THIS METHOD IS NOT THREAD SAFE.

Reimplemented from vtkDataSet.

int vtkImageData::ComputeCellId (  int    ijk[3] )  [inline]
 

Given a location in structured coordinates (i-j-k), return the cell id.

int vtkImageData::ComputePointId (  int    ijk[3] )  [inline]
 

Given a location in structured coordinates (i-j-k), return the point id.

int vtkImageData::ComputeStructuredCoordinates (  float    x[3],
int    ijk[3],
float    pcoords[3]
) 
 

Convenience function computes the structured coordinates for a point x[3]. The voxel is specified by the array ijk[3], and the parametric coordinates in the cell are specified with pcoords[3]. The function returns a 0 if the point x is outside of the volume, and a 1 if inside the volume.

void vtkImageData::CopyAndCastFrom (  vtkImageData *    inData,
int    extent[6]
) 
 

This method is passed a input and output region, and executes the filter algorithm to fill the output from the input. It just executes a switch statement to call the correct function for the regions data types.

void vtkImageData::CopyStructure (  vtkDataSet *    ds )  [virtual]
 

Copy the geometric and topological structure of an input image data object.

Implements vtkDataSet.

void vtkImageData::CopyTypeSpecificInformation (  vtkDataObject *    image )  [virtual]
 

By default, there is no type specific information

Reimplemented from vtkDataObject.

vtkCell* vtkImageData::FindAndGetCell (  float    x[3],
vtkCell *    cell,
int    cellId,
float    tol2,
int &    subId,
float    pcoords[3],
float *    weights
)  [virtual]
 

Locate the cell that contains a point and return the cell. Also returns the subcell id, parametric coordinates and weights for subsequent interpolation. This method combines the derived class methods int FindCell and vtkCell *GetCell. Derived classes may provide a more efficient implementation. See for example vtkStructuredPoints. THIS METHOD IS NOT THREAD SAFE.

Reimplemented from vtkDataSet.

int vtkImageData::FindCell (  float    x[3],
vtkCell *    cell,
vtkGenericCell *    gencell,
int    cellId,
float    tol2,
int &    subId,
float    pcoords[3],
float *    weights
)  [virtual]
 

This is a version of the above method that can be used with multithreaded applications. A vtkGenericCell must be passes in to be used in internal calls that might be made to GetCell() THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

Implements vtkDataSet.

int vtkImageData::FindCell (  float    x[3],
vtkCell *    cell,
int    cellId,
float    tol2,
int &    subId,
float    pcoords[3],
float *    weights
)  [virtual]
 

Locate cell based on global coordinate x and tolerance squared. If cell and cellId is non-NULL, then search starts from this cell and looks at immediate neighbors. Returns cellId >= 0 if inside, < 0 otherwise. The parametric coordinates are provided in pcoords[3]. The interpolation weights are returned in weights[]. (The number of weights is equal to the number of points in the found cell). Tolerance is used to control how close the point is to be considered "in" the cell. THIS METHOD IS NOT THREAD SAFE.

Implements vtkDataSet.

int vtkImageData::FindPoint (  float    x,
float    y,
float    z
)  [inline]
 

Locate the closest point to the global coordinate x. Return the point id. If point id < 0; then no point found. (This may arise when point is outside of dataset.) THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

Reimplemented from vtkDataSet.

unsigned long vtkImageData::GetActualMemorySize (    )  [virtual]
 

Return the actual size of the data in kilobytes. This number is valid only after the pipeline has updated. The memory size returned is guaranteed to be greater than or equal to the memory required to represent the data (e.g., extra space in arrays, etc. are not included in the return value). THIS METHOD IS THREAD SAFE.

Reimplemented from vtkDataSet.

void vtkImageData::GetCell (  int    cellId,
vtkGenericCell *    cell
)  [virtual]
 

Get cell with cellId such that: 0 <= cellId < NumberOfCells. This is a thread-safe alternative to the previous GetCell() method. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

Implements vtkDataSet.

vtkCell* vtkImageData::GetCell (  int    cellId )  [virtual]
 

Get cell with cellId such that: 0 <= cellId < NumberOfCells. THIS METHOD IS NOT THREAD SAFE.

Implements vtkDataSet.

void vtkImageData::GetCellBounds (  int    cellId,
float    bounds[6]
)  [virtual]
 

Get the bounds of the cell with cellId such that: 0 <= cellId < NumberOfCells. A subclass may be able to determine the bounds of cell without using an expensive GetCell() method. A default implementation is provided that actually uses a GetCell() call. This is to ensure the method is available to all datasets. Subclasses should override this method to provide an efficient implementation. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

Reimplemented from vtkDataSet.

void vtkImageData::GetCellPoints (  int    cellId,
vtkIdList &    ptIds
)  [inline]
 

For legacy compatibility. Do not use.

Reimplemented from vtkDataSet.

void vtkImageData::GetCellPoints (  int    cellId,
vtkIdList *    ptIds
)  [inline, virtual]
 

Topological inquiry to get points defining cell. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

Implements vtkDataSet.

int vtkImageData::GetCellType (  int    cellId )  [virtual]
 

Get type of cell with cellId such that: 0 <= cellId < NumberOfCells. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

Implements vtkDataSet.

virtual const char* vtkImageData::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 vtkDataSet.

Reimplemented in vtkStructuredPoints.

void vtkImageData::GetContinuousIncrements (  int    extent[6],
int &    incX,
int &    incY,
int &    incZ
) 
 

Different ways to get the increments for moving around the data. They are store (Component, X, Y, Z). This method returns increments that are suited for continuous incrementing of the pointer in a Z, Y, X, C nested for loop.

int vtkImageData::GetDataDimension (    )  [inline]
 

Return the dimensionality of the data.

int vtkImageData::GetDataObjectType (    )  [inline, virtual]
 

Return what type of dataset this is.

Reimplemented from vtkDataSet.

Reimplemented in vtkStructuredPoints.

int* vtkImageData::GetDimensions (    ) 
 

Get dimensions of this structured points dataset. Dimensions are computed from Extents during this call.

virtual unsigned long vtkImageData::GetEstimatedMemorySize (    )  [virtual]
 

Get the estimated size of this data object itself. Should be called after UpdateInformation() and PropagateUpdateExtent() have both been called. This estimate should be fairly accurate since this is structured data.

Reimplemented from vtkDataObject.

int* vtkImageData::GetIncrements (    ) 
 

Different ways to get the increments for moving around the data. GetIncrements() calls ComputeIncrements() to ensure the increments are up to date.

int vtkImageData::GetMaxCellSize (    )  [inline, virtual]
 

Convenience method returns largest cell size in dataset. This is generally used to allocate memory for supporting data structures. THIS METHOD IS THREAD SAFE

Implements vtkDataSet.

int vtkImageData::GetNumberOfCells (    )  [virtual]
 

Standard vtkDataSet API methods. See vtkDataSet for more information.

Implements vtkDataSet.

int vtkImageData::GetNumberOfPoints (    )  [inline, virtual]
 

Determine the number of points composing the dataset. THIS METHOD IS THREAD SAFE

Implements vtkDataSet.

void vtkImageData::GetPoint (  int    id,
float    x[3]
)  [inline, virtual]
 

Copy point coordinates into user provided array x[3] for specified point id. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

Reimplemented from vtkDataSet.

float* vtkImageData::GetPoint (  int    ptId )  [virtual]
 

Get point coordinates with ptId such that: 0 <= ptId < NumberOfPoints. THIS METHOD IS NOT THREAD SAFE.

Implements vtkDataSet.

void vtkImageData::GetPointCells (  int    ptId,
vtkIdList *    cellIds
)  [inline, virtual]
 

Topological inquiry to get cells using point. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

Implements vtkDataSet.

void vtkImageData::GetPointGradient (  int    i,
int    j,
int    k,
vtkScalars *    s,
float    g[3]
) 
 

Given structured coordinates (i,j,k) for a point in a structured point dataset, compute the gradient vector from the scalar data at that point. The scalars s are the scalars from which the gradient is to be computed. This method will treat structured point datasets of any dimension.

float vtkImageData::GetScalarComponentAsFloat (  int    x,
int    y,
int    z,
int    component
) 
 

For access to data from tcl

void* vtkImageData::GetScalarPointerForExtent (  int    coordinates[6] ) 
 

Access the native pointer for the scalar data

int vtkImageData::GetScalarSize (    ) 
 

Set the size of the scalar type in bytes.

double vtkImageData::GetScalarTypeMin (    ) 
 

These returns the minimum and maximum values the ScalarType can hold without overflowing.

void vtkImageData::GetVoxelGradient (  int    i,
int    j,
int    k,
vtkScalars *    s,
vtkVectors *    g
) 
 

Given structured coordinates (i,j,k) for a voxel cell, compute the eight gradient values for the voxel corners. The order in which the gradient vectors are arranged corresponds to the ordering of the voxel points. Gradient vector is computed by central differences (except on edges of volume where forward difference is used). The scalars s are the scalars from which the gradient is to be computed. This method will treat only 3D structured point datasets (i.e., volumes).

virtual int vtkImageData::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 vtkDataSet.

Reimplemented in vtkStructuredPoints.

int vtkImageData::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 vtkDataSet.

Reimplemented in vtkStructuredPoints.

vtkImageToStructuredPoints* vtkImageData::MakeImageToStructuredPoints (    ) 
 

This method is used transparently by the "SetInput(vtkImageCache *)" method to connect the image pipeline to the visualization pipeline.

vtkDataObject* vtkImageData::MakeObject (    )  [inline, virtual]
 

Create the same type object as this (virtual constructor).

Reimplemented from vtkDataObject.

Reimplemented in vtkStructuredPoints.

vtkImageData* vtkImageData::New (    )  [static]
 

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkDataObject.

Reimplemented in vtkStructuredPoints.

virtual void vtkImageData::PrepareForNewData (    )  [virtual]
 

make the output data ready for new data to be inserted. For most objects we just call Initialize. But for image data we leave the old data in case the memory can be reused.

Reimplemented from vtkDataObject.

void vtkImageData::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 vtkDataSet.

Reimplemented in vtkImageCanvasSource2D.

vtkImageData* vtkImageData::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 vtkDataSet.

Reimplemented in vtkStructuredPoints.

void vtkImageData::SetAxisUpdateExtent (  int    axis,
int    min,
int    max
) 
 

Set / Get the extent on just one axis

void vtkImageData::SetDimensions (  int    dims[3] ) 
 

Set dimensions of structured points dataset.

void vtkImageData::SetDimensions (  int    i,
int    j,
int    k
) 
 

Set dimensions of structured points dataset.

void vtkImageData::SetExtent (  int    extent[6] ) 
 

Different ways to set the extent of the data array. The extent should be set before the "Scalars" are set or allocated. The Extent is stored in the order (X, Y, Z).

void vtkImageData::SetNumberOfScalarComponents (  int    n ) 
 

Set/Get the number of scalar components for points.

virtual void vtkImageData::SetOrigin (  float   ,
float   ,
float   
)  [virtual]
 

Set the origin of the data. The origin plus spacing determine the position in space of the points.

virtual void vtkImageData::SetScalarType (  int    )  [virtual]
 

Set/Get the data scalar type (i.e VTK_FLOAT).

virtual void vtkImageData::SetSpacing (  float   ,
float   ,
float   
)  [virtual]
 

Set the spacing (width,height,length) of the cubical cells that compose the data set.

void vtkImageData::SetUpdateExtent (  int    x1,
int    x2,
int    y1,
int    y2,
int    z1,
int    z2
)  [inline, virtual]
 

Call superclass method to avoid hiding

Reimplemented from vtkDataObject.

void vtkImageData::SetUpdateExtent (  int    piece,
int    numPieces,
int    ghostLevel
) 
 

Required for the lowest common denominator for setting the UpdateExtent (i.e. vtkDataSetToStructuredPointsFilter). This assumes that WholeExtent is valid (UpdateInformation has been called).

void vtkImageData::ShallowCopy (  vtkDataObject *    src )  [virtual]
 

Shallow and Deep copy.

Reimplemented from vtkDataSet.

void vtkImageData::UpdateData (    )  [virtual]
 

This update method will supply the ghost level arrays if they are requested.

Reimplemented from vtkDataObject.


The documentation for this class was generated from the following file:
Generated on Tue Mar 19 13:26:06 2002 for VTK by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002