00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00034
#ifndef __vtkImageShiftScale_h
00035
#define __vtkImageShiftScale_h
00036
00037
00038
#include "vtkImageToImageFilter.h"
00039
00040 class VTK_IMAGING_EXPORT vtkImageShiftScale :
public vtkImageToImageFilter
00041 {
00042
public:
00043
static vtkImageShiftScale *
New();
00044 vtkTypeRevisionMacro(vtkImageShiftScale,
vtkImageToImageFilter);
00045
void PrintSelf(ostream& os,
vtkIndent indent);
00046
00048
00049 vtkSetMacro(Shift,
float);
00050 vtkGetMacro(Shift,
float);
00052
00054
00055 vtkSetMacro(Scale,
float);
00056 vtkGetMacro(Scale,
float);
00058
00060
00062 vtkSetMacro(OutputScalarType,
int);
00063 vtkGetMacro(OutputScalarType,
int);
00064 void SetOutputScalarTypeToDouble()
00065 {this->SetOutputScalarType(
VTK_DOUBLE);}
00066 void SetOutputScalarTypeToFloat()
00067 {this->SetOutputScalarType(
VTK_FLOAT);}
00068 void SetOutputScalarTypeToLong()
00069 {this->SetOutputScalarType(
VTK_LONG);}
00070 void SetOutputScalarTypeToUnsignedLong()
00071 {this->SetOutputScalarType(
VTK_UNSIGNED_LONG);};
00072 void SetOutputScalarTypeToInt()
00073 {this->SetOutputScalarType(
VTK_INT);}
00074 void SetOutputScalarTypeToUnsignedInt()
00075 {this->SetOutputScalarType(
VTK_UNSIGNED_INT);}
00076 void SetOutputScalarTypeToShort()
00077 {this->SetOutputScalarType(
VTK_SHORT);}
00078 void SetOutputScalarTypeToUnsignedShort()
00079 {this->SetOutputScalarType(
VTK_UNSIGNED_SHORT);}
00080 void SetOutputScalarTypeToChar()
00081 {this->SetOutputScalarType(
VTK_CHAR);}
00082 void SetOutputScalarTypeToUnsignedChar()
00083 {this->SetOutputScalarType(
VTK_UNSIGNED_CHAR);}
00085
00087
00090 vtkSetMacro(ClampOverflow,
int);
00091 vtkGetMacro(ClampOverflow,
int);
00092 vtkBooleanMacro(ClampOverflow,
int);
00094
00095
protected:
00096 vtkImageShiftScale();
00097 ~vtkImageShiftScale() {};
00098
00099 float Shift;
00100 float Scale;
00101 int OutputScalarType;
00102 int ClampOverflow;
00103
00104
void ExecuteInformation(
vtkImageData *inData,
vtkImageData *outData);
00105 void ExecuteInformation(){this->
vtkImageToImageFilter::ExecuteInformation();};
00106
void ThreadedExecute(
vtkImageData *inData,
vtkImageData *outData,
00107
int extent[6],
int id);
00108
private:
00109 vtkImageShiftScale(
const vtkImageShiftScale&);
00110
void operator=(
const vtkImageShiftScale&);
00111 };
00112
00113
#endif
00114
00115
00116