Filtering/vtkImageToImageFilter.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00030 #ifndef __vtkImageToImageFilter_h
00031 #define __vtkImageToImageFilter_h
00032
00033 #include "vtkImageSource.h"
00034
00035 class vtkMultiThreader;
00036
00037 class VTK_FILTERING_EXPORT vtkImageToImageFilter : public vtkImageSource
00038 {
00039 public:
00040 vtkTypeRevisionMacro(vtkImageToImageFilter,vtkImageSource);
00041 void PrintSelf(ostream& os, vtkIndent indent);
00042
00044
00045 virtual void SetInput(vtkImageData *input);
00046 vtkImageData *GetInput();
00048
00050
00051 void SetBypass( int ) {};
00052 void BypassOn() {};
00053 void BypassOff() {};
00054 vtkGetMacro(Bypass,int);
00056
00058
00062 virtual void ThreadedExecute(vtkImageData *inData,
00063 vtkImageData *outData,
00064 int extent[6], int threadId);
00066
00068
00069 vtkSetClampMacro( NumberOfThreads, int, 1, VTK_MAX_THREADS );
00070 vtkGetMacro( NumberOfThreads, int );
00072
00073 void SetInputMemoryLimit(int)
00074 {vtkErrorMacro( << "SetInputMemoryLimit is obsolete: Use a vtkImageDataStreamer instead!" );};
00075 long GetInputMemoryLimit()
00076 {vtkErrorMacro( << "GetInputMemoryLimit is obsolete: Use a vtkImageDataStreamer instead!" ); return 0;};
00077
00079
00080 virtual int SplitExtent(int splitExt[6], int startExt[6],
00081 int num, int total);
00083
00084 protected:
00085 vtkImageToImageFilter();
00086 ~vtkImageToImageFilter();
00087
00088 vtkMultiThreader *Threader;
00089 int Bypass;
00090 int BypassWasOn;
00091 int NumberOfThreads;
00092
00093
00094 void ExecuteInformation();
00095
00096 virtual void ExecuteInformation(vtkImageData *inData, vtkImageData *outData);
00097
00098
00099
00100 void ExecuteData(vtkDataObject *output);
00101
00102
00103 virtual vtkImageData *AllocateOutputData(vtkDataObject *out);
00104
00105
00106 void MultiThread(vtkImageData *input, vtkImageData *output);
00107
00108 void ComputeInputUpdateExtents( vtkDataObject *output );
00109 virtual void ComputeInputUpdateExtent(int inExt[6], int outExt[6]);
00110
00111 char *InputScalarsSelection;
00112 vtkSetStringMacro(InputScalarsSelection);
00113
00114 private:
00115 vtkImageToImageFilter(const vtkImageToImageFilter&);
00116 void operator=(const vtkImageToImageFilter&);
00117 };
00118
00119 #endif
00120
00121
00122
00123
00124
00125
00126