#include <vtkThreadedImageAlgorithm.h>
vtkThreadedImageAlgorithm 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 vtkSimpleImageToImageAlgorithm instead.
Definition at line 35 of file vtkThreadedImageAlgorithm.h.
Public Types | |
typedef vtkImageAlgorithm | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
virtual void | ThreadedExecute (vtkImageData *inData, vtkImageData *outData, int extent[6], int threadId) |
virtual void | ThreadedRequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int extent[6], int threadId) |
virtual void | SetNumberOfThreads (int) |
virtual int | GetNumberOfThreads () |
virtual int | SplitExtent (int splitExt[6], int startExt[6], int num, int total) |
Static Public Member Functions | |
static int | IsTypeOf (const char *type) |
static vtkThreadedImageAlgorithm * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkThreadedImageAlgorithm () | |
~vtkThreadedImageAlgorithm () | |
virtual int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
Protected Attributes | |
vtkMultiThreader * | Threader |
int | NumberOfThreads |
Reimplemented from vtkImageAlgorithm.
Reimplemented in vtkImageAnisotropicDiffusion2D, vtkImageAnisotropicDiffusion3D, vtkImageAppend, vtkImageAppendComponents, vtkImageBlend, vtkImageButterworthHighPass, vtkImageButterworthLowPass, vtkImageCast, vtkImageCheckerboard, vtkImageCityBlockDistance, vtkImageConstantPad, vtkImageContinuousDilate3D, vtkImageContinuousErode3D, vtkImageConvolve, vtkImageCorrelation, vtkImageDecomposeFilter, vtkImageDifference, vtkImageDilateErode3D, vtkImageDivergence, vtkImageDotProduct, vtkImageEuclideanDistance, vtkImageEuclideanToPolar, vtkImageExtractComponents, vtkImageFFT, vtkImageFlip, vtkImageFourierCenter, vtkImageFourierFilter, vtkImageGaussianSmooth, vtkImageGradient, vtkImageGradientMagnitude, vtkImageHSIToRGB, vtkImageHSVToRGB, vtkImageHybridMedian2D, vtkImageIdealHighPass, vtkImageIdealLowPass, vtkImageIterateFilter, vtkImageLaplacian, vtkImageLogarithmicScale, vtkImageLogic, vtkImageLuminance, vtkImageMagnify, vtkImageMagnitude, vtkImageMapToColors, vtkImageMapToRGBA, vtkImageMapToWindowLevelColors, vtkImageMask, vtkImageMaskBits, vtkImageMathematics, vtkImageMedian3D, vtkImageMirrorPad, vtkImageNonMaximumSuppression, vtkImageNormalize, vtkImagePadFilter, vtkImagePermute, vtkImageRange3D, vtkImageRectilinearWipe, vtkImageResample, vtkImageReslice, vtkImageRFFT, vtkImageRGBToHSI, vtkImageRGBToHSV, vtkImageSeparableConvolution, vtkImageShiftScale, vtkImageShrink3D, vtkImageSkeleton2D, vtkImageSobel2D, vtkImageSobel3D, vtkImageSpatialAlgorithm, vtkImageStencil, vtkImageThreshold, vtkImageVariance3D, vtkImageWeightedSum, and vtkImageWrapPad.
Definition at line 38 of file vtkThreadedImageAlgorithm.h.
vtkThreadedImageAlgorithm::vtkThreadedImageAlgorithm | ( | ) | [protected] |
vtkThreadedImageAlgorithm::~vtkThreadedImageAlgorithm | ( | ) | [protected] |
virtual const char* vtkThreadedImageAlgorithm::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkImageAlgorithm.
Reimplemented in vtkImageAnisotropicDiffusion2D, vtkImageAnisotropicDiffusion3D, vtkImageAppend, vtkImageAppendComponents, vtkImageBlend, vtkImageButterworthHighPass, vtkImageButterworthLowPass, vtkImageCast, vtkImageCheckerboard, vtkImageCityBlockDistance, vtkImageConstantPad, vtkImageContinuousDilate3D, vtkImageContinuousErode3D, vtkImageConvolve, vtkImageCorrelation, vtkImageDecomposeFilter, vtkImageDifference, vtkImageDilateErode3D, vtkImageDivergence, vtkImageDotProduct, vtkImageEuclideanDistance, vtkImageEuclideanToPolar, vtkImageExtractComponents, vtkImageFFT, vtkImageFlip, vtkImageFourierCenter, vtkImageFourierFilter, vtkImageGaussianSmooth, vtkImageGradient, vtkImageGradientMagnitude, vtkImageHSIToRGB, vtkImageHSVToRGB, vtkImageHybridMedian2D, vtkImageIdealHighPass, vtkImageIdealLowPass, vtkImageIterateFilter, vtkImageLaplacian, vtkImageLogarithmicScale, vtkImageLogic, vtkImageLuminance, vtkImageMagnify, vtkImageMagnitude, vtkImageMapToColors, vtkImageMapToRGBA, vtkImageMapToWindowLevelColors, vtkImageMask, vtkImageMaskBits, vtkImageMathematics, vtkImageMedian3D, vtkImageMirrorPad, vtkImageNonMaximumSuppression, vtkImageNormalize, vtkImagePadFilter, vtkImagePermute, vtkImageRange3D, vtkImageRectilinearWipe, vtkImageResample, vtkImageReslice, vtkImageRFFT, vtkImageRGBToHSI, vtkImageRGBToHSV, vtkImageSeparableConvolution, vtkImageShiftScale, vtkImageShrink3D, vtkImageSkeleton2D, vtkImageSobel2D, vtkImageSobel3D, vtkImageSpatialAlgorithm, vtkImageStencil, vtkImageThreshold, vtkImageVariance3D, vtkImageWeightedSum, and vtkImageWrapPad.
static int vtkThreadedImageAlgorithm::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 vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkImageAlgorithm.
Reimplemented in vtkImageAnisotropicDiffusion2D, vtkImageAnisotropicDiffusion3D, vtkImageAppend, vtkImageAppendComponents, vtkImageBlend, vtkImageButterworthHighPass, vtkImageButterworthLowPass, vtkImageCast, vtkImageCheckerboard, vtkImageCityBlockDistance, vtkImageConstantPad, vtkImageContinuousDilate3D, vtkImageContinuousErode3D, vtkImageConvolve, vtkImageCorrelation, vtkImageDecomposeFilter, vtkImageDifference, vtkImageDilateErode3D, vtkImageDivergence, vtkImageDotProduct, vtkImageEuclideanDistance, vtkImageEuclideanToPolar, vtkImageExtractComponents, vtkImageFFT, vtkImageFlip, vtkImageFourierCenter, vtkImageFourierFilter, vtkImageGaussianSmooth, vtkImageGradient, vtkImageGradientMagnitude, vtkImageHSIToRGB, vtkImageHSVToRGB, vtkImageHybridMedian2D, vtkImageIdealHighPass, vtkImageIdealLowPass, vtkImageIterateFilter, vtkImageLaplacian, vtkImageLogarithmicScale, vtkImageLogic, vtkImageLuminance, vtkImageMagnify, vtkImageMagnitude, vtkImageMapToColors, vtkImageMapToRGBA, vtkImageMapToWindowLevelColors, vtkImageMask, vtkImageMaskBits, vtkImageMathematics, vtkImageMedian3D, vtkImageMirrorPad, vtkImageNonMaximumSuppression, vtkImageNormalize, vtkImagePadFilter, vtkImagePermute, vtkImageRange3D, vtkImageRectilinearWipe, vtkImageResample, vtkImageReslice, vtkImageRFFT, vtkImageRGBToHSI, vtkImageRGBToHSV, vtkImageSeparableConvolution, vtkImageShiftScale, vtkImageShrink3D, vtkImageSkeleton2D, vtkImageSobel2D, vtkImageSobel3D, vtkImageSpatialAlgorithm, vtkImageStencil, vtkImageThreshold, vtkImageVariance3D, vtkImageWeightedSum, and vtkImageWrapPad.
virtual int vtkThreadedImageAlgorithm::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 vtkTypeRevisionMacro found in vtkSetGet.h.
Reimplemented from vtkImageAlgorithm.
Reimplemented in vtkImageAnisotropicDiffusion2D, vtkImageAnisotropicDiffusion3D, vtkImageAppend, vtkImageAppendComponents, vtkImageBlend, vtkImageButterworthHighPass, vtkImageButterworthLowPass, vtkImageCast, vtkImageCheckerboard, vtkImageCityBlockDistance, vtkImageConstantPad, vtkImageContinuousDilate3D, vtkImageContinuousErode3D, vtkImageConvolve, vtkImageCorrelation, vtkImageDecomposeFilter, vtkImageDifference, vtkImageDilateErode3D, vtkImageDivergence, vtkImageDotProduct, vtkImageEuclideanDistance, vtkImageEuclideanToPolar, vtkImageExtractComponents, vtkImageFFT, vtkImageFlip, vtkImageFourierCenter, vtkImageFourierFilter, vtkImageGaussianSmooth, vtkImageGradient, vtkImageGradientMagnitude, vtkImageHSIToRGB, vtkImageHSVToRGB, vtkImageHybridMedian2D, vtkImageIdealHighPass, vtkImageIdealLowPass, vtkImageIterateFilter, vtkImageLaplacian, vtkImageLogarithmicScale, vtkImageLogic, vtkImageLuminance, vtkImageMagnify, vtkImageMagnitude, vtkImageMapToColors, vtkImageMapToRGBA, vtkImageMapToWindowLevelColors, vtkImageMask, vtkImageMaskBits, vtkImageMathematics, vtkImageMedian3D, vtkImageMirrorPad, vtkImageNonMaximumSuppression, vtkImageNormalize, vtkImagePadFilter, vtkImagePermute, vtkImageRange3D, vtkImageRectilinearWipe, vtkImageResample, vtkImageReslice, vtkImageRFFT, vtkImageRGBToHSI, vtkImageRGBToHSV, vtkImageSeparableConvolution, vtkImageShiftScale, vtkImageShrink3D, vtkImageSkeleton2D, vtkImageSobel2D, vtkImageSobel3D, vtkImageSpatialAlgorithm, vtkImageStencil, vtkImageThreshold, vtkImageVariance3D, vtkImageWeightedSum, and vtkImageWrapPad.
static vtkThreadedImageAlgorithm* vtkThreadedImageAlgorithm::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkImageAlgorithm.
Reimplemented in vtkImageAnisotropicDiffusion2D, vtkImageAnisotropicDiffusion3D, vtkImageAppend, vtkImageAppendComponents, vtkImageBlend, vtkImageButterworthHighPass, vtkImageButterworthLowPass, vtkImageCast, vtkImageCheckerboard, vtkImageCityBlockDistance, vtkImageConstantPad, vtkImageContinuousDilate3D, vtkImageContinuousErode3D, vtkImageConvolve, vtkImageCorrelation, vtkImageDecomposeFilter, vtkImageDifference, vtkImageDilateErode3D, vtkImageDivergence, vtkImageDotProduct, vtkImageEuclideanDistance, vtkImageEuclideanToPolar, vtkImageExtractComponents, vtkImageFFT, vtkImageFlip, vtkImageFourierCenter, vtkImageFourierFilter, vtkImageGaussianSmooth, vtkImageGradient, vtkImageGradientMagnitude, vtkImageHSIToRGB, vtkImageHSVToRGB, vtkImageHybridMedian2D, vtkImageIdealHighPass, vtkImageIdealLowPass, vtkImageIterateFilter, vtkImageLaplacian, vtkImageLogarithmicScale, vtkImageLogic, vtkImageLuminance, vtkImageMagnify, vtkImageMagnitude, vtkImageMapToColors, vtkImageMapToRGBA, vtkImageMapToWindowLevelColors, vtkImageMask, vtkImageMaskBits, vtkImageMathematics, vtkImageMedian3D, vtkImageMirrorPad, vtkImageNonMaximumSuppression, vtkImageNormalize, vtkImagePadFilter, vtkImagePermute, vtkImageRange3D, vtkImageRectilinearWipe, vtkImageResample, vtkImageReslice, vtkImageRFFT, vtkImageRGBToHSI, vtkImageRGBToHSV, vtkImageSeparableConvolution, vtkImageShiftScale, vtkImageShrink3D, vtkImageSkeleton2D, vtkImageSobel2D, vtkImageSobel3D, vtkImageSpatialAlgorithm, vtkImageStencil, vtkImageThreshold, vtkImageVariance3D, vtkImageWeightedSum, and vtkImageWrapPad.
void vtkThreadedImageAlgorithm::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.
Reimplemented in vtkImageAnisotropicDiffusion2D, vtkImageAnisotropicDiffusion3D, vtkImageAppend, vtkImageBlend, vtkImageButterworthHighPass, vtkImageButterworthLowPass, vtkImageCast, vtkImageCheckerboard, vtkImageConstantPad, vtkImageContinuousDilate3D, vtkImageContinuousErode3D, vtkImageConvolve, vtkImageCorrelation, vtkImageDecomposeFilter, vtkImageDifference, vtkImageDilateErode3D, vtkImageEuclideanDistance, vtkImageEuclideanToPolar, vtkImageExtractComponents, vtkImageFlip, vtkImageGaussianSmooth, vtkImageGradient, vtkImageGradientMagnitude, vtkImageHSIToRGB, vtkImageHSVToRGB, vtkImageIdealHighPass, vtkImageIdealLowPass, vtkImageIterateFilter, vtkImageLaplacian, vtkImageLogarithmicScale, vtkImageLogic, vtkImageMagnify, vtkImageMapToColors, vtkImageMapToWindowLevelColors, vtkImageMask, vtkImageMaskBits, vtkImageMathematics, vtkImageMedian3D, vtkImageNonMaximumSuppression, vtkImagePadFilter, vtkImagePermute, vtkImageRange3D, vtkImageRectilinearWipe, vtkImageResample, vtkImageReslice, vtkImageRGBToHSI, vtkImageRGBToHSV, vtkImageSeparableConvolution, vtkImageShiftScale, vtkImageShrink3D, vtkImageSkeleton2D, vtkImageSobel2D, vtkImageSobel3D, vtkImageSpatialAlgorithm, vtkImageStencil, vtkImageThreshold, vtkImageVariance3D, and vtkImageWeightedSum.
virtual void vtkThreadedImageAlgorithm::ThreadedRequestData | ( | vtkInformation * | request, | |
vtkInformationVector ** | inputVector, | |||
vtkInformationVector * | outputVector, | |||
vtkImageData *** | inData, | |||
vtkImageData ** | outData, | |||
int | extent[6], | |||
int | threadId | |||
) | [virtual] |
If the subclass does not define an Execute method, then the task will be broken up, multiple threads will be spawned, and each thread will call this method. It is public so that the thread functions can call this method.
Reimplemented in vtkImageAnisotropicDiffusion2D, vtkImageAnisotropicDiffusion3D, vtkImageAppend, vtkImageAppendComponents, vtkImageBlend, vtkImageButterworthHighPass, vtkImageButterworthLowPass, vtkImageCheckerboard, vtkImageConstantPad, vtkImageContinuousDilate3D, vtkImageContinuousErode3D, vtkImageConvolve, vtkImageCorrelation, vtkImageDifference, vtkImageDilateErode3D, vtkImageDotProduct, vtkImageGaussianSmooth, vtkImageGradient, vtkImageHybridMedian2D, vtkImageIdealHighPass, vtkImageIdealLowPass, vtkImageLaplacian, vtkImageLogic, vtkImageMagnify, vtkImageMapToColors, vtkImageMapToWindowLevelColors, vtkImageMask, vtkImageMathematics, vtkImageMedian3D, vtkImageMirrorPad, vtkImageNonMaximumSuppression, vtkImageRange3D, vtkImageRectilinearWipe, vtkImageReslice, vtkImageShiftScale, vtkImageShrink3D, vtkImageSobel2D, vtkImageSobel3D, vtkImageStencil, vtkImageThreshold, vtkImageVariance3D, vtkImageWeightedSum, and vtkImageWrapPad.
virtual void vtkThreadedImageAlgorithm::ThreadedExecute | ( | vtkImageData * | inData, | |
vtkImageData * | outData, | |||
int | extent[6], | |||
int | threadId | |||
) | [virtual] |
Reimplemented in vtkImageCast, vtkImageDivergence, vtkImageEuclideanToPolar, vtkImageExtractComponents, vtkImageFFT, vtkImageFourierCenter, vtkImageGradientMagnitude, vtkImageHSIToRGB, vtkImageHSVToRGB, vtkImageLogarithmicScale, vtkImageLuminance, vtkImageMagnitude, vtkImageMaskBits, vtkImageNormalize, vtkImageRFFT, vtkImageRGBToHSI, vtkImageRGBToHSV, and vtkImageSkeleton2D.
virtual void vtkThreadedImageAlgorithm::SetNumberOfThreads | ( | int | ) | [virtual] |
Get/Set the number of threads to create when rendering
virtual int vtkThreadedImageAlgorithm::GetNumberOfThreads | ( | ) | [virtual] |
Get/Set the number of threads to create when rendering
virtual int vtkThreadedImageAlgorithm::SplitExtent | ( | int | splitExt[6], | |
int | startExt[6], | |||
int | num, | |||
int | total | |||
) | [virtual] |
Putting this here until I merge graphics and imaging streaming.
Reimplemented in vtkImageEuclideanDistance, vtkImageFFT, and vtkImageRFFT.
virtual int vtkThreadedImageAlgorithm::RequestData | ( | vtkInformation * | request, | |
vtkInformationVector ** | inputVector, | |||
vtkInformationVector * | outputVector | |||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkImageAlgorithm.
Reimplemented in vtkImageBlend, vtkImageContinuousDilate3D, vtkImageContinuousErode3D, vtkImageDilateErode3D, vtkImageIterateFilter, vtkImageMapToColors, vtkImageMapToWindowLevelColors, vtkImageRange3D, and vtkImageVariance3D.
vtkMultiThreader* vtkThreadedImageAlgorithm::Threader [protected] |
Definition at line 75 of file vtkThreadedImageAlgorithm.h.
int vtkThreadedImageAlgorithm::NumberOfThreads [protected] |
Definition at line 76 of file vtkThreadedImageAlgorithm.h.