Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Imaging/vtkImageShiftScale.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkImageShiftScale.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
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&);  // Not implemented.
00110   void operator=(const vtkImageShiftScale&);  // Not implemented.
00111 };
00112 
00113 #endif
00114 
00115 
00116