VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
vtkImageImport Class Reference

Import data from a C array. More...

#include <vtkImageImport.h>

Inheritance diagram for vtkImageImport:
Inheritance graph
[legend]
Collaboration diagram for vtkImageImport:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkImageAlgorithm Superclass
typedef void(* UpdateInformationCallbackType )(void *)
typedef int(* PipelineModifiedCallbackType )(void *)
typedef int *(* WholeExtentCallbackType )(void *)
typedef double *(* SpacingCallbackType )(void *)
typedef double *(* OriginCallbackType )(void *)
typedef const char *(* ScalarTypeCallbackType )(void *)
typedef int(* NumberOfComponentsCallbackType )(void *)
typedef void(* PropagateUpdateExtentCallbackType )(void *, int *)
typedef void(* UpdateDataCallbackType )(void *)
typedef int *(* DataExtentCallbackType )(void *)
typedef void *(* BufferPointerCallbackType )(void *)

Public Member Functions

virtual int IsA (const char *type)
vtkImageImportNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void CopyImportVoidPointer (void *ptr, vtkIdType size)
void SetImportVoidPointer (void *ptr, int save)
void SetImportVoidPointer (void *ptr)
void * GetImportVoidPointer ()
virtual void SetDataScalarType (int)
void SetDataScalarTypeToDouble ()
void SetDataScalarTypeToFloat ()
void SetDataScalarTypeToInt ()
void SetDataScalarTypeToShort ()
void SetDataScalarTypeToUnsignedShort ()
void SetDataScalarTypeToUnsignedChar ()
virtual int GetDataScalarType ()
const char * GetDataScalarTypeAsString ()
virtual void SetNumberOfScalarComponents (int)
virtual int GetNumberOfScalarComponents ()
virtual void SetDataExtent (int, int, int, int, int, int)
virtual void SetDataExtent (int[6])
virtual intGetDataExtent ()
virtual void GetDataExtent (int &, int &, int &, int &, int &, int &)
virtual void GetDataExtent (int[6])
void SetDataExtentToWholeExtent ()
virtual void SetDataSpacing (double, double, double)
virtual void SetDataSpacing (double[3])
virtual doubleGetDataSpacing ()
virtual void GetDataSpacing (double &, double &, double &)
virtual void GetDataSpacing (double[3])
virtual void SetDataOrigin (double, double, double)
virtual void SetDataOrigin (double[3])
virtual doubleGetDataOrigin ()
virtual void GetDataOrigin (double &, double &, double &)
virtual void GetDataOrigin (double[3])
virtual void SetWholeExtent (int, int, int, int, int, int)
virtual void SetWholeExtent (int[6])
virtual intGetWholeExtent ()
virtual void GetWholeExtent (int &, int &, int &, int &, int &, int &)
virtual void GetWholeExtent (int[6])
virtual int RequestUpdateExtent (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual void SetScalarArrayName (const char *)
virtual char * GetScalarArrayName ()
virtual void SetUpdateInformationCallback (UpdateInformationCallbackType)
virtual
UpdateInformationCallbackType 
GetUpdateInformationCallback ()
virtual void SetPipelineModifiedCallback (PipelineModifiedCallbackType)
virtual
PipelineModifiedCallbackType 
GetPipelineModifiedCallback ()
virtual void SetWholeExtentCallback (WholeExtentCallbackType)
virtual WholeExtentCallbackType GetWholeExtentCallback ()
virtual void SetSpacingCallback (SpacingCallbackType)
virtual SpacingCallbackType GetSpacingCallback ()
virtual void SetOriginCallback (OriginCallbackType)
virtual OriginCallbackType GetOriginCallback ()
virtual void SetScalarTypeCallback (ScalarTypeCallbackType)
virtual ScalarTypeCallbackType GetScalarTypeCallback ()
virtual void SetNumberOfComponentsCallback (NumberOfComponentsCallbackType)
virtual
NumberOfComponentsCallbackType 
GetNumberOfComponentsCallback ()
virtual void SetPropagateUpdateExtentCallback (PropagateUpdateExtentCallbackType)
virtual
PropagateUpdateExtentCallbackType 
GetPropagateUpdateExtentCallback ()
virtual void SetUpdateDataCallback (UpdateDataCallbackType)
virtual UpdateDataCallbackType GetUpdateDataCallback ()
virtual void SetDataExtentCallback (DataExtentCallbackType)
virtual DataExtentCallbackType GetDataExtentCallback ()
virtual void SetBufferPointerCallback (BufferPointerCallbackType)
virtual BufferPointerCallbackType GetBufferPointerCallback ()
virtual void SetCallbackUserData (void *)
virtual void * GetCallbackUserData ()
int InvokePipelineModifiedCallbacks ()
void InvokeUpdateInformationCallbacks ()
void InvokeExecuteInformationCallbacks ()
void InvokeExecuteDataCallbacks ()
void LegacyCheckWholeExtent ()

Static Public Member Functions

static vtkImageImportNew ()
static int IsTypeOf (const char *type)
static vtkImageImportSafeDownCast (vtkObjectBase *o)

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkImageImport ()
 ~vtkImageImport ()
virtual int RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual void ExecuteDataWithInformation (vtkDataObject *d, vtkInformation *outInfo)

Protected Attributes

void * ImportVoidPointer
int SaveUserArray
int NumberOfScalarComponents
int DataScalarType
int WholeExtent [6]
int DataExtent [6]
double DataSpacing [3]
double DataOrigin [3]
char * ScalarArrayName
void * CallbackUserData
UpdateInformationCallbackType UpdateInformationCallback
PipelineModifiedCallbackType PipelineModifiedCallback
WholeExtentCallbackType WholeExtentCallback
SpacingCallbackType SpacingCallback
OriginCallbackType OriginCallback
ScalarTypeCallbackType ScalarTypeCallback
NumberOfComponentsCallbackType NumberOfComponentsCallback
PropagateUpdateExtentCallbackType PropagateUpdateExtentCallback
UpdateDataCallbackType UpdateDataCallback
DataExtentCallbackType DataExtentCallback
BufferPointerCallbackType BufferPointerCallback

Detailed Description

Import data from a C array.

vtkImageImport provides methods needed to import image data from a source independent of VTK, such as a simple C array or a third-party pipeline. Note that the VTK convention is for the image voxel index (0,0,0) to be the lower-left corner of the image, while most 2D image formats use the upper-left corner. You can use vtkImageFlip to correct the orientation after the image has been loaded into VTK. Note that is also possible to import the raw data from a Python string instead of from a C array. The array applies on scalar point data only, not on cell data.

See also:
vtkImageExport
Tests:
vtkImageImport (Tests)

Definition at line 40 of file vtkImageImport.h.


Member Typedef Documentation

Reimplemented from vtkImageAlgorithm.

Definition at line 44 of file vtkImageImport.h.

These are function pointer types for the pipeline connection callbacks. See further documentation on each individual callback.

Definition at line 143 of file vtkImageImport.h.

These are function pointer types for the pipeline connection callbacks. See further documentation on each individual callback.

Definition at line 144 of file vtkImageImport.h.

These are function pointer types for the pipeline connection callbacks. See further documentation on each individual callback.

Definition at line 145 of file vtkImageImport.h.

These are function pointer types for the pipeline connection callbacks. See further documentation on each individual callback.

Definition at line 146 of file vtkImageImport.h.

These are function pointer types for the pipeline connection callbacks. See further documentation on each individual callback.

Definition at line 147 of file vtkImageImport.h.

typedef const char*(* vtkImageImport::ScalarTypeCallbackType)(void *)

These are function pointer types for the pipeline connection callbacks. See further documentation on each individual callback.

Definition at line 148 of file vtkImageImport.h.

These are function pointer types for the pipeline connection callbacks. See further documentation on each individual callback.

Definition at line 149 of file vtkImageImport.h.

These are function pointer types for the pipeline connection callbacks. See further documentation on each individual callback.

Definition at line 150 of file vtkImageImport.h.

typedef void(* vtkImageImport::UpdateDataCallbackType)(void *)

These are function pointer types for the pipeline connection callbacks. See further documentation on each individual callback.

Definition at line 151 of file vtkImageImport.h.

These are function pointer types for the pipeline connection callbacks. See further documentation on each individual callback.

Definition at line 152 of file vtkImageImport.h.

These are function pointer types for the pipeline connection callbacks. See further documentation on each individual callback.

Definition at line 153 of file vtkImageImport.h.


Constructor & Destructor Documentation


Member Function Documentation

static vtkImageImport* vtkImageImport::New ( ) [static]

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

Reimplemented from vtkAlgorithm.

static int vtkImageImport::IsTypeOf ( const char *  name) [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 vtkImageAlgorithm.

virtual int vtkImageImport::IsA ( const char *  name) [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 vtkImageAlgorithm.

Reimplemented from vtkImageAlgorithm.

virtual vtkObjectBase* vtkImageImport::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkImageAlgorithm.

Reimplemented from vtkImageAlgorithm.

void vtkImageImport::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 vtkImageAlgorithm.

void vtkImageImport::CopyImportVoidPointer ( void *  ptr,
vtkIdType  size 
)

Import data and make an internal copy of it. If you do not want VTK to copy the data, then use SetImportVoidPointer instead (do not use both). Give the size of the data array in bytes.

Set the pointer from which the image data is imported. VTK will not make its own copy of the data, it will access the data directly from the supplied array. VTK will not attempt to delete the data nor modify the data.

Set the pointer from which the image data is imported. VTK will not make its own copy of the data, it will access the data directly from the supplied array. VTK will not attempt to delete the data nor modify the data.

Definition at line 58 of file vtkImageImport.h.

void vtkImageImport::SetImportVoidPointer ( void *  ptr,
int  save 
)

Set the pointer from which the image data is imported. Set save to 1 (the default) unless you want VTK to delete the array via C++ delete when the vtkImageImport object is deallocated. VTK will not make its own copy of the data, it will access the data directly from the supplied array.

virtual void vtkImageImport::SetDataScalarType ( int  ) [virtual]

Set/Get the data type of pixels in the imported data. This is used as the scalar type of the Output. Default: Short.

Set/Get the data type of pixels in the imported data. This is used as the scalar type of the Output. Default: Short.

Definition at line 72 of file vtkImageImport.h.

Set/Get the data type of pixels in the imported data. This is used as the scalar type of the Output. Default: Short.

Definition at line 73 of file vtkImageImport.h.

Set/Get the data type of pixels in the imported data. This is used as the scalar type of the Output. Default: Short.

Definition at line 74 of file vtkImageImport.h.

Set/Get the data type of pixels in the imported data. This is used as the scalar type of the Output. Default: Short.

Definition at line 75 of file vtkImageImport.h.

Set/Get the data type of pixels in the imported data. This is used as the scalar type of the Output. Default: Short.

Definition at line 76 of file vtkImageImport.h.

Set/Get the data type of pixels in the imported data. This is used as the scalar type of the Output. Default: Short.

Definition at line 78 of file vtkImageImport.h.

virtual int vtkImageImport::GetDataScalarType ( ) [virtual]

Set/Get the data type of pixels in the imported data. This is used as the scalar type of the Output. Default: Short.

Set/Get the data type of pixels in the imported data. This is used as the scalar type of the Output. Default: Short.

Definition at line 81 of file vtkImageImport.h.

virtual void vtkImageImport::SetNumberOfScalarComponents ( int  ) [virtual]

Set/Get the number of scalar components, for RGB images this must be

  1. Default: 1.

Set/Get the number of scalar components, for RGB images this must be

  1. Default: 1.
virtual void vtkImageImport::SetDataExtent ( int  ,
int  ,
int  ,
int  ,
int  ,
int   
) [virtual]

Get/Set the extent of the data buffer. The dimensions of your data must be equal to (extent[1]-extent[0]+1) * (extent[3]-extent[2]+1) * (extent[5]-DataExtent[4]+1). For example, for a 2D image use (0,width-1, 0,height-1, 0,0).

virtual void vtkImageImport::SetDataExtent ( int  [6]) [virtual]

Get/Set the extent of the data buffer. The dimensions of your data must be equal to (extent[1]-extent[0]+1) * (extent[3]-extent[2]+1) * (extent[5]-DataExtent[4]+1). For example, for a 2D image use (0,width-1, 0,height-1, 0,0).

virtual int* vtkImageImport::GetDataExtent ( ) [virtual]

Get/Set the extent of the data buffer. The dimensions of your data must be equal to (extent[1]-extent[0]+1) * (extent[3]-extent[2]+1) * (extent[5]-DataExtent[4]+1). For example, for a 2D image use (0,width-1, 0,height-1, 0,0).

virtual void vtkImageImport::GetDataExtent ( int ,
int ,
int ,
int ,
int ,
int  
) [virtual]

Get/Set the extent of the data buffer. The dimensions of your data must be equal to (extent[1]-extent[0]+1) * (extent[3]-extent[2]+1) * (extent[5]-DataExtent[4]+1). For example, for a 2D image use (0,width-1, 0,height-1, 0,0).

virtual void vtkImageImport::GetDataExtent ( int  [6]) [virtual]

Get/Set the extent of the data buffer. The dimensions of your data must be equal to (extent[1]-extent[0]+1) * (extent[3]-extent[2]+1) * (extent[5]-DataExtent[4]+1). For example, for a 2D image use (0,width-1, 0,height-1, 0,0).

Get/Set the extent of the data buffer. The dimensions of your data must be equal to (extent[1]-extent[0]+1) * (extent[3]-extent[2]+1) * (extent[5]-DataExtent[4]+1). For example, for a 2D image use (0,width-1, 0,height-1, 0,0).

Definition at line 99 of file vtkImageImport.h.

virtual void vtkImageImport::SetDataSpacing ( double  ,
double  ,
double   
) [virtual]

Set/Get the spacing (typically in mm) between image voxels. Default: (1.0, 1.0, 1.0).

virtual void vtkImageImport::SetDataSpacing ( double  [3]) [virtual]

Set/Get the spacing (typically in mm) between image voxels. Default: (1.0, 1.0, 1.0).

virtual double* vtkImageImport::GetDataSpacing ( ) [virtual]

Set/Get the spacing (typically in mm) between image voxels. Default: (1.0, 1.0, 1.0).

virtual void vtkImageImport::GetDataSpacing ( double ,
double ,
double  
) [virtual]

Set/Get the spacing (typically in mm) between image voxels. Default: (1.0, 1.0, 1.0).

virtual void vtkImageImport::GetDataSpacing ( double  [3]) [virtual]

Set/Get the spacing (typically in mm) between image voxels. Default: (1.0, 1.0, 1.0).

virtual void vtkImageImport::SetDataOrigin ( double  ,
double  ,
double   
) [virtual]

Set/Get the origin of the data, i.e. the coordinates (usually in mm) of voxel (0,0,0). Default: (0.0, 0.0, 0.0).

virtual void vtkImageImport::SetDataOrigin ( double  [3]) [virtual]

Set/Get the origin of the data, i.e. the coordinates (usually in mm) of voxel (0,0,0). Default: (0.0, 0.0, 0.0).

virtual double* vtkImageImport::GetDataOrigin ( ) [virtual]

Set/Get the origin of the data, i.e. the coordinates (usually in mm) of voxel (0,0,0). Default: (0.0, 0.0, 0.0).

virtual void vtkImageImport::GetDataOrigin ( double ,
double ,
double  
) [virtual]

Set/Get the origin of the data, i.e. the coordinates (usually in mm) of voxel (0,0,0). Default: (0.0, 0.0, 0.0).

virtual void vtkImageImport::GetDataOrigin ( double  [3]) [virtual]

Set/Get the origin of the data, i.e. the coordinates (usually in mm) of voxel (0,0,0). Default: (0.0, 0.0, 0.0).

virtual void vtkImageImport::SetWholeExtent ( int  ,
int  ,
int  ,
int  ,
int  ,
int   
) [virtual]

Get/Set the whole extent of the image. This is the largest possible extent. Set the DataExtent to the extent of the image in the buffer pointed to by the ImportVoidPointer.

virtual void vtkImageImport::SetWholeExtent ( int  [6]) [virtual]

Get/Set the whole extent of the image. This is the largest possible extent. Set the DataExtent to the extent of the image in the buffer pointed to by the ImportVoidPointer.

virtual int* vtkImageImport::GetWholeExtent ( ) [virtual]

Get/Set the whole extent of the image. This is the largest possible extent. Set the DataExtent to the extent of the image in the buffer pointed to by the ImportVoidPointer.

virtual void vtkImageImport::GetWholeExtent ( int ,
int ,
int ,
int ,
int ,
int  
) [virtual]

Get/Set the whole extent of the image. This is the largest possible extent. Set the DataExtent to the extent of the image in the buffer pointed to by the ImportVoidPointer.

virtual void vtkImageImport::GetWholeExtent ( int  [6]) [virtual]

Get/Set the whole extent of the image. This is the largest possible extent. Set the DataExtent to the extent of the image in the buffer pointed to by the ImportVoidPointer.

virtual int vtkImageImport::RequestUpdateExtent ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [virtual]

Propagates the update extent through the callback if it is set.

Reimplemented from vtkImageAlgorithm.

virtual void vtkImageImport::SetScalarArrayName ( const char *  ) [virtual]

Set/get the scalar array name for this data set. Initial value is "scalars".

virtual char* vtkImageImport::GetScalarArrayName ( ) [virtual]

Set/get the scalar array name for this data set. Initial value is "scalars".

Set/Get the callback for propagating UpdateInformation calls to a third-party pipeline. The callback should make sure that the third-party pipeline information is up to date.

Set/Get the callback for propagating UpdateInformation calls to a third-party pipeline. The callback should make sure that the third-party pipeline information is up to date.

Set/Get the callback for checking whether the third-party pipeline has been modified since the last invocation of the callback. The callback should return 1 for modified, and 0 for not modified. The first call should always return modified.

Set/Get the callback for checking whether the third-party pipeline has been modified since the last invocation of the callback. The callback should return 1 for modified, and 0 for not modified. The first call should always return modified.

Set/Get the callback for getting the whole extent of the input image from a third-party pipeline. The callback should return a vector of six integers describing the extent of the whole image (x1 x2 y1 y2 z1 z2).

Set/Get the callback for getting the whole extent of the input image from a third-party pipeline. The callback should return a vector of six integers describing the extent of the whole image (x1 x2 y1 y2 z1 z2).

Set/Get the callback for getting the spacing of the input image from a third-party pipeline. The callback should return a vector of three double values describing the spacing (dx dy dz).

Set/Get the callback for getting the spacing of the input image from a third-party pipeline. The callback should return a vector of three double values describing the spacing (dx dy dz).

Set/Get the callback for getting the origin of the input image from a third-party pipeline. The callback should return a vector of three double values describing the origin (x0 y0 z0).

Set/Get the callback for getting the origin of the input image from a third-party pipeline. The callback should return a vector of three double values describing the origin (x0 y0 z0).

Set/Get the callback for getting the scalar value type of the input image from a third-party pipeline. The callback should return a string with the name of the type.

Set/Get the callback for getting the scalar value type of the input image from a third-party pipeline. The callback should return a string with the name of the type.

Set/Get the callback for getting the number of components of the input image from a third-party pipeline. The callback should return an integer with the number of components.

Set/Get the callback for getting the number of components of the input image from a third-party pipeline. The callback should return an integer with the number of components.

Set/Get the callback for propagating the pipeline update extent to a third-party pipeline. The callback should take a vector of six integers describing the extent. This should cause the third-party pipeline to provide data which contains at least this extent after the next UpdateData callback.

Set/Get the callback for propagating the pipeline update extent to a third-party pipeline. The callback should take a vector of six integers describing the extent. This should cause the third-party pipeline to provide data which contains at least this extent after the next UpdateData callback.

Set/Get the callback for propagating UpdateData calls to a third-party pipeline. The callback should make sure the third-party pipeline is up to date.

Set/Get the callback for propagating UpdateData calls to a third-party pipeline. The callback should make sure the third-party pipeline is up to date.

Set/Get the callback for getting the data extent of the input image from a third-party pipeline. The callback should return a vector of six integers describing the extent of the buffered portion of the image (x1 x2 y1 y2 z1 z2). The buffer location should be set with the BufferPointerCallback.

Set/Get the callback for getting the data extent of the input image from a third-party pipeline. The callback should return a vector of six integers describing the extent of the buffered portion of the image (x1 x2 y1 y2 z1 z2). The buffer location should be set with the BufferPointerCallback.

Set/Get the callback for getting a pointer to the data buffer of an image from a third-party pipeline. The callback should return a pointer to the beginning of the buffer. The extent of the buffer should be set with the DataExtentCallback.

Set/Get the callback for getting a pointer to the data buffer of an image from a third-party pipeline. The callback should return a pointer to the beginning of the buffer. The extent of the buffer should be set with the DataExtentCallback.

virtual void vtkImageImport::SetCallbackUserData ( void *  ) [virtual]

Set/Get the user data which will be passed as the first argument to all of the third-party pipeline callbacks.

virtual void* vtkImageImport::GetCallbackUserData ( ) [virtual]

Set/Get the user data which will be passed as the first argument to all of the third-party pipeline callbacks.

Invoke the appropriate callbacks

Invoke the appropriate callbacks

Invoke the appropriate callbacks

Invoke the appropriate callbacks

Invoke the appropriate callbacks

virtual int vtkImageImport::RequestInformation ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
) [protected, virtual]

Subclasses can reimplement this method to collect information from their inputs and set information for their outputs.

Reimplemented from vtkImageAlgorithm.

virtual void vtkImageImport::ExecuteDataWithInformation ( vtkDataObject output,
vtkInformation outInfo 
) [protected, virtual]

This is a convenience method that is implemented in many subclasses instead of RequestData. It is called by RequestData.

Reimplemented from vtkImageAlgorithm.


Member Data Documentation

Definition at line 277 of file vtkImageImport.h.

Definition at line 278 of file vtkImageImport.h.

Definition at line 280 of file vtkImageImport.h.

Definition at line 281 of file vtkImageImport.h.

Definition at line 283 of file vtkImageImport.h.

Definition at line 284 of file vtkImageImport.h.

Definition at line 285 of file vtkImageImport.h.

Definition at line 286 of file vtkImageImport.h.

Definition at line 288 of file vtkImageImport.h.

Definition at line 289 of file vtkImageImport.h.

Definition at line 292 of file vtkImageImport.h.

Definition at line 293 of file vtkImageImport.h.

Definition at line 294 of file vtkImageImport.h.

Definition at line 295 of file vtkImageImport.h.

Definition at line 296 of file vtkImageImport.h.

Definition at line 297 of file vtkImageImport.h.

Definition at line 298 of file vtkImageImport.h.

Definition at line 299 of file vtkImageImport.h.

Definition at line 300 of file vtkImageImport.h.

Definition at line 301 of file vtkImageImport.h.

Definition at line 302 of file vtkImageImport.h.


The documentation for this class was generated from the following file: