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