Man Page for vtkImageFilter
Table of Contents

NAME

vtkImageFilter - Generic filter that has one input..

SYNOPSIS


#include "/opt/vtk-c++/imaging/vtkImageFilter.h"

class VTK_EXPORT vtkImageFilter : public vtkImageSource

vtkImageFilter();
static vtkImageFilter *New() {return new vtkImageFilter;};
const char *GetClassName() {return "vtkImageFilter";};
void PrintSelf(ostream& os, vtkIndent indent);
virtual void SetInput(vtkImageCache *input);
void SetInput(vtkStructuredPoints *spts)
{this->SetInput(spts->GetStructuredPointsToImage()->GetOutput());}
void InternalUpdate();
void UpdateImageInformation();
unsigned long int GetPipelineMTime();
vtkImageCache *GetInput();
void SetInputMemoryLimit(long);
long GetInputMemoryLimit();
void SetSplitOrder(int num, int *axes);
void SetSplitOrder(int, int, int, int);
void SetSplitOrder(int *);
void GetSplitOrder(int num, int *axes);
void SetSplitOrder(int, int, int, int);
void SetSplitOrder(int *);
void SetBypass(int);
int GetBypass();
void BypassOn();
void BypassOff();
int GetNumberOfFilteredAxes();

DESCRIPTION

vtkImageFilter is a filter class that hides some of the pipeline complexity. This super class will loop over extra dimensions so the subclass can deal with simple low dimensional regions. "ComputeRequiredInputExtent(vtkImageCache
*out, *in)" must set the extent of in required to compute out. The advantage of using the execute method is that this super class will automatically break the execution into pieces if the InputMemoryLimit is violated. This creates streaming where the pipeline processes images in dynamically sized pieces.

SUMMARY

vtkImageCache *GetInput()
Get input to this filter.

void SetInputMemoryLimit(long)
Set/Get input memory limit. Make this smaller to stream.

void SetSplitOrder(int, int, int, int)
void SetSplitOrder(int *)
Set/Get the order to split region requests if we need to stream

void SetBypass(int)
Turning bypass on will cause the filter to turn off and simply pass the data through. This main purpose for this functionality is support for vtkImageDecomposedFilter. InputMemoryLimit is ignored when Bypass in on.

int GetNumberOfFilteredAxes()
Filtered axes specify the axes which will be operated on.

unsigned long int GetPipelineMTime()
This Method returns the MTime of the pipeline upto and including this filter Note: current implementation may create a cascade of GetPipelineMTime calls. Each GetPipelineMTime call propagates the call all the way to
the original source.

void SetInput(vtkImageCache *input)
Set the Input of a filter.

void InternalUpdate()
This method is called by the cache. It eventually calls the Execute(vtkImageRegion *, vtkImageRegion *) method. ImageInformation has already been updated by this point, and outRegion is in local coordinates. This method will stream to get the input, and loops over extra axes. Only the UpdateExtent from output will get updated.

void RecursiveStreamUpdate(vtkImageRegion *outRegion)
This method can be called recursively for streaming. The extent of the outRegion changes, dim remains the same.

void UpdateImageInformation()
This method sets the WholeExtent, Spacing and Origin of the output.

void ExecuteImageInformation()
This method can be overriden in a subclass to compute the output ImageInformation: WholeExtent, Spacing and Origin.

void ComputeRequiredInputUpdateExtent()
This method can be overriden in a subclass to compute the input UpdateExtent needed to generate the output

UpdateExtent. By default the input is set to the same as the output before this method is called.

void RecursiveLoopExecute(int dim, vtkImageRegion *inRegion, vtkImageRegion *outRegion)
This execute method recursively loops over extra dimensions and calls the subclasses Execute method with lower dimensional regions. NumberOfExecutionAxes is used to terminate the recursion.

void Execute(vtkImageRegion *inRegion,
vtkImageRegion *outRegion)
The execute method created by the subclass.


Table of Contents