vtk-dicom  0.8.17
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
vtkImageAlgorithm Class Reference

Generic algorithm superclass for image algs. More...

#include <vtkImageAlgorithm.h>

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

Public Types

typedef vtkAlgorithm Superclass
 
- Public Types inherited from vtkAlgorithm
enum  DesiredOutputPrecision { SINGLE_PRECISION , DOUBLE_PRECISION , DEFAULT_PRECISION }
 
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 
vtkImageAlgorithmNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
vtkImageData * GetOutput ()
 
vtkImageData * GetOutput (int)
 
virtual void SetOutput (vtkDataObject *d)
 
int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE
 
void SetInputData (vtkDataObject *)
 
void SetInputData (int, vtkDataObject *)
 
vtkDataObject * GetInput (int port)
 
vtkDataObject * GetInput ()
 
vtkImageData * GetImageDataInput (int port)
 
virtual void AddInputData (vtkDataObject *)
 
virtual void AddInputData (int, vtkDataObject *)
 
- Public Member Functions inherited from vtkAlgorithm
vtkAlgorithmNewInstance () const
 
int HasExecutive ()
 
vtkExecutive * GetExecutive ()
 
virtual void SetExecutive (vtkExecutive *executive)
 
int ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
 
virtual int ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime)
 
virtual int ModifyRequest (vtkInformation *request, int when)
 
vtkInformation * GetInputPortInformation (int port)
 
vtkInformation * GetOutputPortInformation (int port)
 
virtual vtkInformation * GetInformation ()
 
virtual void SetInformation (vtkInformation *)
 
int GetNumberOfInputPorts ()
 
int GetNumberOfOutputPorts ()
 
void Register (vtkObjectBase *o) VTK_OVERRIDE
 
void UnRegister (vtkObjectBase *o) VTK_OVERRIDE
 
virtual void SetAbortExecute (int)
 
virtual int GetAbortExecute ()
 
virtual void AbortExecuteOn ()
 
virtual void AbortExecuteOff ()
 
virtual void SetProgress (double)
 
virtual double GetProgress ()
 
void UpdateProgress (double amount)
 
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)
 
vtkInformation * GetInputArrayInformation (int idx)
 
void RemoveAllInputs ()
 
vtkDataObject * GetOutputDataObject (int port)
 
vtkDataObject * GetInputDataObject (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)
 
virtual void RemoveInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void RemoveInputConnection (int port, int idx)
 
virtual void RemoveAllInputConnections (int port)
 
virtual void SetInputDataObject (int port, vtkDataObject *data)
 
virtual void SetInputDataObject (vtkDataObject *data)
 
virtual void AddInputDataObject (int port, vtkDataObject *data)
 
virtual void AddInputDataObject (vtkDataObject *data)
 
vtkAlgorithmOutput * GetOutputPort (int index)
 
vtkAlgorithmOutput * GetOutputPort ()
 
int GetNumberOfInputConnections (int port)
 
int GetTotalNumberOfInputConnections ()
 
vtkAlgorithmOutput * GetInputConnection (int port, int index)
 
vtkAlgorithmGetInputAlgorithm (int port, int index, int &algPort)
 
vtkAlgorithmGetInputAlgorithm (int port, int index)
 
vtkAlgorithmGetInputAlgorithm ()
 
vtkExecutive * GetInputExecutive (int port, int index)
 
vtkExecutive * GetInputExecutive ()
 
vtkInformation * GetInputInformation (int port, int index)
 
vtkInformation * GetInputInformation ()
 
vtkInformation * GetOutputInformation (int port)
 
virtual void Update (int port)
 
virtual void Update ()
 
virtual int Update (int port, vtkInformationVector *requests)
 
virtual int Update (vtkInformation *requests)
 
virtual int UpdatePiece (int piece, int numPieces, int ghostLevels, const int extents[6]=0)
 
virtual int UpdateExtent (const int extents[6])
 
virtual int UpdateTimeStep (double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=0)
 
virtual void UpdateInformation ()
 
virtual void UpdateDataObject ()
 
virtual void PropagateUpdateExtent ()
 
virtual void UpdateWholeExtent ()
 
void ConvertTotalInputToPortConnection (int ind, int &port, int &conn)
 
virtual void SetReleaseDataFlag (int)
 
virtual int GetReleaseDataFlag ()
 
void ReleaseDataFlagOn ()
 
void ReleaseDataFlagOff ()
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output)
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType)
 
int SetUpdateExtentToWholeExtent (int port)
 
int SetUpdateExtentToWholeExtent ()
 
void SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel)
 
void SetUpdateExtent (int piece, int numPieces, int ghostLevel)
 
void SetUpdateExtent (int port, int extent[6])
 
void SetUpdateExtent (int extent[6])
 
int * GetUpdateExtent ()
 
int * GetUpdateExtent (int port)
 
void GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 
void GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 
void GetUpdateExtent (int extent[6])
 
void GetUpdateExtent (int port, int extent[6])
 
int GetUpdatePiece ()
 
int GetUpdatePiece (int port)
 
int GetUpdateNumberOfPieces ()
 
int GetUpdateNumberOfPieces (int port)
 
int GetUpdateGhostLevel ()
 
int GetUpdateGhostLevel (int port)
 
void SetProgressObserver (vtkProgressObserver *)
 
virtual vtkProgressObserver * GetProgressObserver ()
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual vtkMTimeType GetMTime ()
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommand * GetCommand (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)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(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 InitializeObjectBase ()
 
void Print (ostream &os)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 

Static Public Member Functions

static vtkTypeBool IsTypeOf (const char *type)
 
static vtkImageAlgorithmSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAlgorithm
static vtkAlgorithmNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkAlgorithmSafeDownCast (vtkObjectBase *o)
 
static vtkInformationIntegerKey * INPUT_IS_OPTIONAL ()
 
static vtkInformationIntegerKey * INPUT_IS_REPEATABLE ()
 
static vtkInformationInformationVectorKey * INPUT_REQUIRED_FIELDS ()
 
static vtkInformationStringVectorKey * INPUT_REQUIRED_DATA_TYPE ()
 
static vtkInformationInformationVectorKey * INPUT_ARRAYS_TO_PROCESS ()
 
static vtkInformationIntegerKey * INPUT_PORT ()
 
static vtkInformationIntegerKey * INPUT_CONNECTION ()
 
static vtkInformationIntegerKey * CAN_PRODUCE_SUB_EXTENT ()
 
static vtkInformationIntegerKey * CAN_HANDLE_PIECE_REQUEST ()
 
static void SetDefaultExecutivePrototype (vtkExecutive *proto)
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
virtual int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual void CopyInputArrayAttributesToOutput (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
virtual void ExecuteDataWithInformation (vtkDataObject *output, vtkInformation *outInfo)
 
virtual void ExecuteData (vtkDataObject *output)
 
virtual void Execute ()
 
virtual void AllocateOutputData (vtkImageData *out, vtkInformation *outInfo, int *uExtent)
 
virtual vtkImageData * AllocateOutputData (vtkDataObject *out, vtkInformation *outInfo)
 
virtual void CopyAttributeData (vtkImageData *in, vtkImageData *out, vtkInformationVector **inputVector)
 
int FillOutputPortInformation (int port, vtkInformation *info) VTK_OVERRIDE
 
int FillInputPortInformation (int port, vtkInformation *info) VTK_OVERRIDE
 
- Protected Member Functions inherited from 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)
 
int GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector)
 
int GetInputArrayAssociation (int idx, vtkDataObject *input)
 
vtkDataArray * GetInputArrayToProcess (int idx, vtkInformationVector **inputVector)
 
vtkDataArray * GetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 
vtkDataArray * GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 
vtkDataArray * GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 
vtkDataArray * GetInputArrayToProcess (int idx, vtkDataObject *input)
 
vtkDataArray * GetInputArrayToProcess (int idx, vtkDataObject *input, int &association)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, vtkDataObject *input)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association)
 
vtkInformation * GetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector)
 
virtual vtkExecutive * CreateDefaultExecutive ()
 
virtual void SetErrorCode (unsigned long)
 
void ReportReferences (vtkGarbageCollector *) VTK_OVERRIDE
 
virtual void SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input)
 
virtual void SetNumberOfInputConnections (int port, int n)
 
void SetInputDataInternal (int port, vtkDataObject *input)
 
void AddInputDataInternal (int port, vtkDataObject *input)
 
- Protected Member Functions inherited from vtkObject
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
virtual void CollectRevisions (ostream &)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Additional Inherited Members

- Public Attributes inherited from vtkAlgorithm
int AbortExecute
 
- Static Protected Member Functions inherited from vtkAlgorithm
static vtkInformationIntegerKey * PORT_REQUIREMENTS_FILLED ()
 
- Protected Attributes inherited from vtkAlgorithm
vtkInformation * Information
 
unsigned long ErrorCode
 
double Progress
 
char * ProgressText
 
vtkProgressObserver * ProgressObserver
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 
- Static Protected Attributes inherited from vtkAlgorithm
static vtkExecutive * DefaultExecutivePrototype
 

Detailed Description

Generic algorithm superclass for image algs.

vtkImageAlgorithm is a filter superclass that hides much of the pipeline complexity. It handles breaking the pipeline execution into smaller extents so that the vtkImageData limits are observed. It also provides support for multithreading. If you don't need any of this functionality, consider using vtkSimpleImageToImageFilter instead.

See also
vtkSimpleImageToImageFilter

Member Function Documentation

◆ AddInputData()

virtual void vtkImageAlgorithm::AddInputData ( vtkDataObject *  )
virtual

Assign a data object as input. Note that this method does not establish a pipeline connection. Use SetInputConnection to setup a pipeline connection.

◆ AllocateOutputData()

virtual void vtkImageAlgorithm::AllocateOutputData ( vtkImageData *  out,
vtkInformation *  outInfo,
int *  uExtent 
)
protectedvirtual

Allocate the output data. This will be called before RequestData, it is not necessary for subclasses to call this method themselves.

◆ CopyAttributeData()

virtual void vtkImageAlgorithm::CopyAttributeData ( vtkImageData *  in,
vtkImageData *  out,
vtkInformationVector **  inputVector 
)
protectedvirtual

Copy the other point and cell data. Subclasses will almost never need to reimplement this method.

◆ CopyInputArrayAttributesToOutput()

virtual void vtkImageAlgorithm::CopyInputArrayAttributesToOutput ( vtkInformation *  request,
vtkInformationVector **  inputVector,
vtkInformationVector *  outputVector 
)
protectedvirtual

Convenience method to copy the scalar type and number of components from the input data to the output data. You will generally want to call this from inside your RequestInformation method, unless you want the output data to have a different scalar type or number of components from the input.

◆ ExecuteData()

virtual void vtkImageAlgorithm::ExecuteData ( vtkDataObject *  output)
protectedvirtual

This method is the old style execute method, provided for the sake of backwards compatibility with older filters and readers.

◆ ExecuteDataWithInformation()

virtual void vtkImageAlgorithm::ExecuteDataWithInformation ( vtkDataObject *  output,
vtkInformation *  outInfo 
)
protectedvirtual

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

Reimplemented in vtkImageReader2, and vtkImageReader.

◆ FillInputPortInformation()

int vtkImageAlgorithm::FillInputPortInformation ( int  port,
vtkInformation *  info 
)
protectedvirtual

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 vtkAlgorithm.

◆ FillOutputPortInformation()

int vtkImageAlgorithm::FillOutputPortInformation ( int  port,
vtkInformation *  info 
)
protectedvirtual

These method should be reimplemented by subclasses that have more than a single input or single output. See vtkAlgorithm for more information.

Reimplemented from vtkAlgorithm.

◆ GetInput()

vtkDataObject* vtkImageAlgorithm::GetInput ( int  port)

Get a data object for one of the input port connections. The use of this method is strongly discouraged, but some filters that were written a long time ago still use this method.

◆ GetOutput()

vtkImageData* vtkImageAlgorithm::GetOutput ( )

Get the output data object for a port on this algorithm.

◆ IsA()

virtual vtkTypeBool vtkImageAlgorithm::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 vtkAlgorithm.

Reimplemented in vtkThreadedImageAlgorithm, vtkScancoCTReader, vtkNIFTIWriter, vtkNIFTIReader, vtkImageWriter, vtkImageReader2, vtkImageReader, vtkDICOMWriter, vtkDICOMToRAS, vtkDICOMReader, vtkDICOMCTRectifier, vtkDICOMApplyRescale, vtkDICOMApplyPalette, and vtkDICOMAlgorithm.

◆ PrintSelf()

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

Reimplemented in vtkThreadedImageAlgorithm, vtkScancoCTReader, vtkNIFTIWriter, vtkNIFTIReader, vtkImageWriter, vtkImageReader2, and vtkImageReader.

◆ ProcessRequest()

int vtkImageAlgorithm::ProcessRequest ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
virtual

Process a request from the executive. For vtkImageAlgorithm, the request will be delegated to one of the following methods: RequestData, RequestInformation, or RequestUpdateExtent.

Reimplemented from vtkAlgorithm.

◆ RequestData()

virtual int vtkImageAlgorithm::RequestData ( vtkInformation *  request,
vtkInformationVector **  inputVector,
vtkInformationVector *  outputVector 
)
protectedvirtual

This is called in response to a REQUEST_DATA request from the executive. Subclasses should override either this method or the ExecuteDataWithInformation method in order to generate data for their outputs. For images, the output arrays will already be allocated, so all that is necessary is to fill in the voxel values.

Reimplemented in vtkThreadedImageAlgorithm, vtkScancoCTReader, vtkNIFTIWriter, vtkNIFTIReader, vtkDICOMWriter, vtkDICOMToRAS, vtkDICOMReader, vtkDICOMCTRectifier, vtkDICOMApplyRescale, vtkDICOMApplyPalette, vtkDICOMAlgorithm, and vtkImageWriter.

◆ RequestInformation()

virtual int vtkImageAlgorithm::RequestInformation ( vtkInformation *  request,
vtkInformationVector **  inputVector,
vtkInformationVector *  outputVector 
)
protectedvirtual

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

Reimplemented in vtkScancoCTReader, vtkNIFTIReader, vtkDICOMToRAS, vtkDICOMReader, vtkDICOMCTRectifier, vtkDICOMApplyRescale, vtkDICOMApplyPalette, vtkDICOMAlgorithm, vtkImageReader2, and vtkImageReader.

◆ RequestUpdateExtent()

virtual int vtkImageAlgorithm::RequestUpdateExtent ( vtkInformation *  ,
vtkInformationVector **  ,
vtkInformationVector *   
)
protectedvirtual

Subclasses can reimplement this method to translate the update extent requests from each output port into update extent requests for the input connections.

Reimplemented in vtkDICOMToRAS, and vtkDICOMCTRectifier.

◆ SetInputData()

void vtkImageAlgorithm::SetInputData ( vtkDataObject *  )

Assign a data object as input. Note that this method does not establish a pipeline connection. Use SetInputConnection to setup a pipeline connection.


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