00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00056 #ifndef __vtkImageShiftScale_h
00057 #define __vtkImageShiftScale_h
00058
00059
00060 #include "vtkImageToImageFilter.h"
00061
00062 class VTK_EXPORT vtkImageShiftScale : public vtkImageToImageFilter
00063 {
00064 public:
00065 static vtkImageShiftScale *New();
00066 vtkTypeMacro(vtkImageShiftScale,vtkImageToImageFilter);
00067 void PrintSelf(ostream& os, vtkIndent indent);
00068
00070 vtkSetMacro(Shift,float);
00071 vtkGetMacro(Shift,float);
00072
00074 vtkSetMacro(Scale,float);
00075 vtkGetMacro(Scale,float);
00076
00079 vtkSetMacro(OutputScalarType, int);
00080 vtkGetMacro(OutputScalarType, int);
00081 void SetOutputScalarTypeToDouble()
00082 {this->SetOutputScalarType(VTK_DOUBLE);}
00083 void SetOutputScalarTypeToFloat()
00084 {this->SetOutputScalarType(VTK_FLOAT);}
00085 void SetOutputScalarTypeToLong()
00086 {this->SetOutputScalarType(VTK_LONG);}
00087 void SetOutputScalarTypeToUnsignedLong()
00088 {this->SetOutputScalarType(VTK_UNSIGNED_LONG);};
00089 void SetOutputScalarTypeToInt()
00090 {this->SetOutputScalarType(VTK_INT);}
00091 void SetOutputScalarTypeToUnsignedInt()
00092 {this->SetOutputScalarType(VTK_UNSIGNED_INT);}
00093 void SetOutputScalarTypeToShort()
00094 {this->SetOutputScalarType(VTK_SHORT);}
00095 void SetOutputScalarTypeToUnsignedShort()
00096 {this->SetOutputScalarType(VTK_UNSIGNED_SHORT);}
00097 void SetOutputScalarTypeToChar()
00098 {this->SetOutputScalarType(VTK_CHAR);}
00099 void SetOutputScalarTypeToUnsignedChar()
00100 {this->SetOutputScalarType(VTK_UNSIGNED_CHAR);}
00101
00105 vtkSetMacro(ClampOverflow, int);
00106 vtkGetMacro(ClampOverflow, int);
00107 vtkBooleanMacro(ClampOverflow, int);
00108
00109 protected:
00110 vtkImageShiftScale();
00111 ~vtkImageShiftScale() {};
00112 vtkImageShiftScale(const vtkImageShiftScale&) {};
00113 void operator=(const vtkImageShiftScale&) {};
00114
00115 float Shift;
00116 float Scale;
00117 int OutputScalarType;
00118 int ClampOverflow;
00119
00120 void ExecuteInformation(vtkImageData *inData, vtkImageData *outData);
00121 void ExecuteInformation(){this->vtkImageToImageFilter::ExecuteInformation();};
00122 void ThreadedExecute(vtkImageData *inData, vtkImageData *outData,
00123 int extent[6], int id);
00124 };
00125
00126 #endif
00127
00128
00129