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

#include <vtkMPIImageReader.h>

Inheritance diagram for vtkMPIImageReader:
[legend]
Collaboration diagram for vtkMPIImageReader:
[legend]

List of all members.

Public Types

typedef vtkImageReader Superclass
- Public Types inherited from vtkImageReader
- Public Types inherited from vtkImageReader2
- Public Types inherited from vtkImageAlgorithm
- Public Types inherited from vtkAlgorithm
- Public Types inherited from vtkObject

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
virtual void PrintSelf (ostream &os, vtkIndent indent)
virtual vtkMultiProcessControllerGetController ()
virtual void SetController (vtkMultiProcessController *)
- Public Member Functions inherited from vtkImageReader
void ComputeInverseTransformedExtent (int inExtent[6], int outExtent[6])
void ComputeInverseTransformedIncrements (vtkIdType inIncr[3], vtkIdType outIncr[3])
int OpenAndSeekFile (int extent[6], int slice)
virtual void SetDataVOI (int, int, int, int, int, int)
virtual void SetDataVOI (int[6])
virtual int * GetDataVOI ()
virtual void GetDataVOI (int &, int &, int &, int &, int &, int &)
virtual void GetDataVOI (int[6])
virtual vtkTypeUInt64 GetDataMask ()
virtual void SetDataMask (vtkTypeUInt64)
virtual void SetTransform (vtkTransform *)
virtual vtkTransformGetTransform ()
virtual void SetScalarArrayName (const char *)
virtual char * GetScalarArrayName ()
- Public Member Functions inherited from vtkImageReader2
virtual void SetHeaderSize (unsigned long size)
ifstream * GetFile ()
virtual unsigned long * GetDataIncrements ()
virtual void GetDataIncrements (unsigned long data[4])
virtual int OpenFile ()
virtual void SeekFile (int i, int j, int k)
virtual void SetFileName (const char *)
virtual char * GetFileName ()
virtual void SetFileNames (vtkStringArray *)
virtual vtkStringArrayGetFileNames ()
virtual void SetFilePrefix (const char *)
virtual char * GetFilePrefix ()
virtual void SetFilePattern (const char *)
virtual char * GetFilePattern ()
virtual void SetDataScalarType (int type)
virtual void SetDataScalarTypeToFloat ()
virtual void SetDataScalarTypeToDouble ()
virtual void SetDataScalarTypeToInt ()
virtual void SetDataScalarTypeToUnsignedInt ()
virtual void SetDataScalarTypeToShort ()
virtual void SetDataScalarTypeToUnsignedShort ()
virtual void SetDataScalarTypeToChar ()
virtual void SetDataScalarTypeToSignedChar ()
virtual void SetDataScalarTypeToUnsignedChar ()
virtual int GetDataScalarType ()
virtual void SetNumberOfScalarComponents (int)
virtual int GetNumberOfScalarComponents ()
virtual void SetDataExtent (int, int, int, int, int, int)
virtual void SetDataExtent (int[6])
virtual int * GetDataExtent ()
virtual void GetDataExtent (int &, int &, int &, int &, int &, int &)
virtual void GetDataExtent (int[6])
virtual void SetFileDimensionality (int)
int GetFileDimensionality ()
virtual void SetDataSpacing (double, double, double)
virtual void SetDataSpacing (double[3])
virtual double * GetDataSpacing ()
virtual void GetDataSpacing (double &, double &, double &)
virtual void GetDataSpacing (double[3])
virtual void SetDataOrigin (double, double, double)
virtual void SetDataOrigin (double[3])
virtual double * GetDataOrigin ()
virtual void GetDataOrigin (double &, double &, double &)
virtual void GetDataOrigin (double[3])
unsigned long GetHeaderSize ()
unsigned long GetHeaderSize (unsigned long slice)
virtual void SetDataByteOrderToBigEndian ()
virtual void SetDataByteOrderToLittleEndian ()
virtual int GetDataByteOrder ()
virtual void SetDataByteOrder (int)
virtual const char * GetDataByteOrderAsString ()
virtual void SetFileNameSliceOffset (int)
virtual int GetFileNameSliceOffset ()
virtual void SetFileNameSliceSpacing (int)
virtual int GetFileNameSliceSpacing ()
virtual void SetSwapBytes (int)
virtual int GetSwapBytes ()
virtual void SwapBytesOn ()
virtual void SwapBytesOff ()
virtual void FileLowerLeftOn ()
virtual void FileLowerLeftOff ()
virtual int GetFileLowerLeft ()
virtual void SetFileLowerLeft (int)
virtual void ComputeInternalFileName (int slice)
virtual char * GetInternalFileName ()
virtual int CanReadFile (const char *vtkNotUsed(fname))
virtual const char * GetFileExtensions ()
virtual const char * GetDescriptiveName ()
- Public Member Functions inherited from vtkImageAlgorithm
vtkDataObjectGetInput (int port)
vtkDataObjectGetInput ()
vtkImageDataGetImageDataInput (int port)
vtkImageDataGetOutput ()
vtkImageDataGetOutput (int)
virtual void SetOutput (vtkDataObject *d)
virtual int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
void SetInput (vtkDataObject *)
void SetInput (int, vtkDataObject *)
virtual void AddInput (vtkDataObject *)
virtual void AddInput (int, vtkDataObject *)
- Public Member Functions inherited from vtkAlgorithm
int HasExecutive ()
vtkExecutiveGetExecutive ()
virtual void SetExecutive (vtkExecutive *executive)
virtual int ModifyRequest (vtkInformation *request, int when)
vtkInformationGetInputPortInformation (int port)
vtkInformationGetOutputPortInformation (int port)
int GetNumberOfInputPorts ()
int GetNumberOfOutputPorts ()
void UpdateProgress (double amount)
vtkInformationGetInputArrayInformation (int idx)
void RemoveAllInputs ()
vtkDataObjectGetOutputDataObject (int port)
virtual void RemoveInputConnection (int port, vtkAlgorithmOutput *input)
int GetNumberOfInputConnections (int port)
int GetTotalNumberOfInputConnections ()
vtkAlgorithmOutputGetInputConnection (int port, int index)
virtual void Update ()
virtual void UpdateInformation ()
virtual void UpdateWholeExtent ()
void ConvertTotalInputToPortConnection (int ind, int &port, int &conn)
virtual double ComputePriority ()
int ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
virtual int ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, unsigned long *mtime)
virtual vtkInformationGetInformation ()
virtual void SetInformation (vtkInformation *)
virtual void Register (vtkObjectBase *o)
virtual void UnRegister (vtkObjectBase *o)
virtual void SetAbortExecute (int)
virtual int GetAbortExecute ()
virtual void AbortExecuteOn ()
virtual void AbortExecuteOff ()
virtual void SetProgress (double)
virtual double GetProgress ()
void SetProgressText (const char *ptext)
virtual char * GetProgressText ()
virtual unsigned long GetErrorCode ()
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name)
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType)
virtual void SetInputArrayToProcess (int idx, vtkInformation *info)
virtual void SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName)
vtkDataObjectGetInputDataObject (int port, int connection)
virtual void SetInputConnection (int port, vtkAlgorithmOutput *input)
virtual void SetInputConnection (vtkAlgorithmOutput *input)
virtual void AddInputConnection (int port, vtkAlgorithmOutput *input)
virtual void AddInputConnection (vtkAlgorithmOutput *input)
vtkAlgorithmOutputGetOutputPort (int index)
vtkAlgorithmOutputGetOutputPort ()
virtual void SetReleaseDataFlag (int)
virtual int GetReleaseDataFlag ()
void ReleaseDataFlagOn ()
void ReleaseDataFlagOff ()
int UpdateExtentIsEmpty (vtkDataObject *output)
int UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType)
- Public Member Functions inherited from vtkObject
virtual void DebugOn ()
virtual void DebugOff ()
unsigned char GetDebug ()
void SetDebug (unsigned char debugFlag)
virtual void Modified ()
virtual unsigned long GetMTime ()
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
vtkCommandGetCommand (unsigned long tag)
void RemoveObserver (vtkCommand *)
void RemoveObservers (unsigned long event, vtkCommand *)
void RemoveObservers (const char *event, vtkCommand *)
int HasObserver (unsigned long event, vtkCommand *)
int HasObserver (const char *event, vtkCommand *)
void RemoveObserver (unsigned long tag)
void RemoveObservers (unsigned long event)
void RemoveObservers (const char *event)
void RemoveAllObservers ()
int HasObserver (unsigned long event)
int HasObserver (const char *event)
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
int InvokeEvent (unsigned long event, void *callData)
int InvokeEvent (const char *event, void *callData)
int InvokeEvent (unsigned long event)
int InvokeEvent (const char *event)
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
virtual void Delete ()
virtual void FastDelete ()
void Print (ostream &os)
void SetReferenceCount (int)
void PrintRevisions (ostream &os)
virtual void PrintHeader (ostream &os, vtkIndent indent)
virtual void PrintTrailer (ostream &os, vtkIndent indent)
int GetReferenceCount ()

Static Public Member Functions

static int IsTypeOf (const char *type)
static vtkMPIImageReaderSafeDownCast (vtkObject *o)
static vtkMPIImageReaderNew ()

Protected Member Functions

 vtkMPIImageReader ()
 ~vtkMPIImageReader ()
int GetDataScalarTypeSize ()
virtual void PartitionController (const int extent[6])
virtual unsigned long GetHeaderSize (vtkMPIOpaqueFileHandle &file)
virtual void SetupFileView (vtkMPIOpaqueFileHandle &file, const int extent[6])
virtual void ReadSlice (int slice, const int extent[6], void *buffer)
virtual void TransformData (vtkImageData *data)
virtual void ExecuteData (vtkDataObject *data)
- Protected Member Functions inherited from vtkImageReader
 vtkImageReader ()
 ~vtkImageReader ()
void ComputeTransformedSpacing (double Spacing[3])
void ComputeTransformedOrigin (double origin[3])
void ComputeTransformedExtent (int inExtent[6], int outExtent[6])
void ComputeTransformedIncrements (vtkIdType inIncr[3], vtkIdType outIncr[3])
virtual int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
- Protected Member Functions inherited from vtkImageReader2
virtual void ExecuteInformation ()
virtual void ComputeDataIncrements ()
 vtkImageReader2 ()
 ~vtkImageReader2 ()
- Protected Member Functions inherited from vtkImageAlgorithm
 vtkImageAlgorithm ()
 ~vtkImageAlgorithm ()
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual void CopyInputArrayAttributesToOutput (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual void AllocateOutputData (vtkImageData *out, int *uExtent)
virtual vtkImageDataAllocateOutputData (vtkDataObject *out)
virtual void CopyAttributeData (vtkImageData *in, vtkImageData *out, vtkInformationVector **inputVector)
virtual int FillOutputPortInformation (int port, vtkInformation *info)
virtual int FillInputPortInformation (int port, vtkInformation *info)
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
virtual void Execute ()
- Protected Member Functions inherited from vtkAlgorithm
 vtkAlgorithm ()
 ~vtkAlgorithm ()
virtual void SetNumberOfInputPorts (int n)
virtual void SetNumberOfOutputPorts (int n)
int InputPortIndexInRange (int index, const char *action)
int OutputPortIndexInRange (int index, const char *action)
int GetInputArrayAssociation (int idx, vtkInformationVector **inputVector)
virtual vtkExecutiveCreateDefaultExecutive ()
virtual void ReportReferences (vtkGarbageCollector *)
virtual void SetNumberOfInputConnections (int port, int n)
int GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector)
int GetInputArrayAssociation (int idx, vtkDataObject *input)
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector)
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input)
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input, int &association)
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector)
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input)
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association)
vtkInformationGetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector)
virtual void SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input)
virtual void SetErrorCode (unsigned long)
- Protected Member Functions inherited from vtkObject
 vtkObject ()
virtual ~vtkObject ()
virtual void RegisterInternal (vtkObjectBase *, int check)
virtual void UnRegisterInternal (vtkObjectBase *, int check)
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
void InternalReleaseFocus ()
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
virtual ~vtkObjectBase ()
virtual void CollectRevisions (ostream &os)
 vtkObjectBase (const vtkObjectBase &)
void operator= (const vtkObjectBase &)

Protected Attributes

vtkMultiProcessControllerController
- Protected Attributes inherited from vtkImageReader
vtkTypeUInt64 DataMask
vtkTransformTransform
int DataVOI [6]
char * ScalarArrayName
- Protected Attributes inherited from vtkImageReader2
vtkStringArrayFileNames
char * InternalFileName
char * FileName
char * FilePrefix
char * FilePattern
int NumberOfScalarComponents
int FileLowerLeft
ifstream * File
unsigned long DataIncrements [4]
int DataExtent [6]
int SwapBytes
int FileDimensionality
unsigned long HeaderSize
int DataScalarType
unsigned long ManualHeaderSize
double DataSpacing [3]
double DataOrigin [3]
int FileNameSliceOffset
int FileNameSliceSpacing
vtkMultiProcessControllerGroupedController
void SetGroupedController (vtkMultiProcessController *)

Detailed Description

vtkMPIImageReader provides the mechanism to read a brick of bytes (or shorts, or ints, or floats, or doubles, ...) from a file or series of files. You can use it to read raw image data from files. You may also be able to subclass this to read simple file formats.

What distinguishes this class from vtkImageReader and vtkImageReader2 is that it performs synchronized parallel I/O using the MPIIO layer. This can make a huge difference in file read times, especially when reading in parallel from a parallel file system.

Dispite the name of this class, vtkMPIImageReader will work even if MPI is not available. If MPI is not available or MPIIO is not available or the given Controller is not a vtkMPIController (or NULL), then this class will silently work exactly like its superclass. The point is that you can safely use this class in applications that may or may not be compiled with MPI (or may or may not actually be run with MPI).

See also:
vtkMultiProcessController, vtkImageReader, vtkImageReader2

Definition at line 55 of file vtkMPIImageReader.h.


Member Typedef Documentation

Reimplemented from vtkImageReader.

Reimplemented in vtkPNrrdReader.

Definition at line 58 of file vtkMPIImageReader.h.


Constructor & Destructor Documentation

vtkMPIImageReader::vtkMPIImageReader ( )
protected
vtkMPIImageReader::~vtkMPIImageReader ( )
protected

Member Function Documentation

virtual const char* vtkMPIImageReader::GetClassName ( )
virtual

Reimplemented from vtkImageReader.

Reimplemented in vtkPNrrdReader.

static int vtkMPIImageReader::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 vtkImageReader.

Reimplemented in vtkPNrrdReader.

virtual int vtkMPIImageReader::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 vtkImageReader.

Reimplemented in vtkPNrrdReader.

static vtkMPIImageReader* vtkMPIImageReader::SafeDownCast ( vtkObject o)
static

Reimplemented from vtkImageReader.

Reimplemented in vtkPNrrdReader.

static vtkMPIImageReader* vtkMPIImageReader::New ( )
static

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

Reimplemented from vtkImageReader.

Reimplemented in vtkPNrrdReader.

virtual void vtkMPIImageReader::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 vtkImageReader.

Reimplemented in vtkPNrrdReader.

virtual vtkMultiProcessController* vtkMPIImageReader::GetController ( )
virtual

Get/set the multi process controller to use for coordinated reads. By default, set to the global controller.

virtual void vtkMPIImageReader::SetController ( vtkMultiProcessController )
virtual

Get/set the multi process controller to use for coordinated reads. By default, set to the global controller.

int vtkMPIImageReader::GetDataScalarTypeSize ( )
protected

Returns the size, in bytes of the scalar data type (GetDataScalarType).

virtual void vtkMPIImageReader::PartitionController ( const int  extent[6])
protectedvirtual

Break up the controller based on the files each process reads. Each group comprises the processes that read the same files in the same order. this->GroupedController is set to the group for the current process.

virtual unsigned long vtkMPIImageReader::GetHeaderSize ( vtkMPIOpaqueFileHandle &  file)
protectedvirtual

Get the header size of the given open file. This should be used in liu of the GetHeaderSize methods of the superclass.

virtual void vtkMPIImageReader::SetupFileView ( vtkMPIOpaqueFileHandle &  file,
const int  extent[6] 
)
protectedvirtual

Set up a "view" on the open file that will allow you to read the 2D or 3D subarray from the file in one read. Once you call this method, the file will look as if it contains only the data the local process needs to read in.

virtual void vtkMPIImageReader::ReadSlice ( int  slice,
const int  extent[6],
void *  buffer 
)
protectedvirtual

Given a slice of the data, open the appropriate file, read the data into given buffer, and close the file. For three dimensional data, always use "slice" 0. Make sure the GroupedController is properly created before calling this using the PartitionController method.

virtual void vtkMPIImageReader::TransformData ( vtkImageData data)
protectedvirtual

Transform the data from the order read from a file to the order to place in the output data (as defined by the transform).

void vtkMPIImageReader::SetGroupedController ( vtkMultiProcessController )
protected

A group of processes that are reading the same file (as determined by PartitionController.

virtual void vtkMPIImageReader::ExecuteData ( vtkDataObject output)
protectedvirtual

This method is the old style execute method

Reimplemented from vtkImageReader.


Member Data Documentation

vtkMultiProcessController* vtkMPIImageReader::Controller
protected

Definition at line 73 of file vtkMPIImageReader.h.

vtkMultiProcessController* vtkMPIImageReader::GroupedController
protected

A group of processes that are reading the same file (as determined by PartitionController.

Definition at line 109 of file vtkMPIImageReader.h.


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