VTK
vtkImageResize.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageResize.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
33 #ifndef vtkImageResize_h
34 #define vtkImageResize_h
35 
36 #include "vtkImagingCoreModule.h" // For export macro
38 
40 
42 {
43 public:
44  static vtkImageResize *New();
46  void PrintSelf(ostream& os, vtkIndent indent);
47 
48  enum
49  {
52  MAGNIFICATION_FACTORS
53  };
54 
56 
60  vtkSetClampMacro(ResizeMethod, int, OUTPUT_DIMENSIONS, MAGNIFICATION_FACTORS);
61  vtkGetMacro(ResizeMethod, int);
63  this->SetResizeMethod(OUTPUT_DIMENSIONS); }
65  this->SetResizeMethod(OUTPUT_SPACING); }
67  this->SetResizeMethod(MAGNIFICATION_FACTORS); }
68  virtual const char *GetResizeMethodAsString();
70 
72 
75  vtkSetVector3Macro(OutputDimensions, int);
76  vtkGetVector3Macro(OutputDimensions, int);
78 
80 
83  vtkSetVector3Macro(OutputSpacing, double);
84  vtkGetVector3Macro(OutputSpacing, double);
86 
88 
91  vtkSetVector3Macro(MagnificationFactors, double);
92  vtkGetVector3Macro(MagnificationFactors, double);
94 
96 
104  vtkSetMacro(Border, int);
105  vtkBooleanMacro(Border, int);
106  vtkGetMacro(Border, int);
108 
110 
112  vtkSetMacro(Cropping, int);
113  vtkBooleanMacro(Cropping, int);
114  vtkGetMacro(Cropping, int);
116 
118 
121  vtkSetVector6Macro(CroppingRegion, double);
122  vtkGetVector6Macro(CroppingRegion, double);
124 
126 
127  vtkSetMacro(Interpolate, int);
128  vtkBooleanMacro(Interpolate, int);
129  vtkGetMacro(Interpolate, int);
131 
133 
137 
139  unsigned long int GetMTime();
140 
141 protected:
144 
146 
153  virtual void ThreadedRequestData(vtkInformation *request,
154  vtkInformationVector **inputVector,
155  vtkInformationVector *outputVector,
156  vtkImageData ***inData,
157  vtkImageData **outData, int ext[6], int id);
158 
160  int OutputDimensions[3];
161  double OutputSpacing[3];
162  double MagnificationFactors[3];
163  int Border;
164  int Cropping;
165  double CroppingRegion[6];
166 
167  double IndexStretch[3];
168  double IndexTranslate[3];
169 
173 
174 private:
175  vtkImageResize(const vtkImageResize&); // Not implemented.
176  void operator=(const vtkImageResize&); // Not implemented.
177 };
178 
179 #endif
vtkGetVector6Macro
#define vtkGetVector6Macro(name, type)
Definition: vtkSetGet.h:380
vtkImageResize::GetInternalInterpolator
virtual vtkAbstractImageInterpolator * GetInternalInterpolator()
vtkImageResize::GetResizeMethodAsString
virtual const char * GetResizeMethodAsString()
vtkImageResize::Border
int Border
Definition: vtkImageResize.h:163
vtkSetVector3Macro
#define vtkSetVector3Macro(name, type)
Definition: vtkSetGet.h:287
vtkImageResize::OUTPUT_DIMENSIONS
@ OUTPUT_DIMENSIONS
Definition: vtkImageResize.h:50
vtkImageResize::OUTPUT_SPACING
@ OUTPUT_SPACING
Definition: vtkImageResize.h:51
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkImageResize::RequestUpdateExtent
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkImageResize::ResizeMethod
int ResizeMethod
Definition: vtkImageResize.h:159
vtkThreadedImageAlgorithm
Generic filter that has one input..
Definition: vtkThreadedImageAlgorithm.h:37
vtkgl::sampler
GLuint sampler
Definition: vtkgl.h:13872
vtkImageResize::~vtkImageResize
~vtkImageResize()
vtkThreadedImageAlgorithm.h
vtkImageResize::NNInterpolator
vtkAbstractImageInterpolator * NNInterpolator
Definition: vtkImageResize.h:171
vtkImageResize::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkSetClampMacro
#define vtkSetClampMacro(name, type, min, max)
Definition: vtkSetGet.h:143
vtkGetVector3Macro
#define vtkGetVector3Macro(name, type)
Definition: vtkSetGet.h:304
vtkImageResize
High-quality image resizing filter.
Definition: vtkImageResize.h:42
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:45
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkImageResize::SetResizeMethodToOutputDimensions
void SetResizeMethodToOutputDimensions()
Definition: vtkImageResize.h:62
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkImageResize::Cropping
int Cropping
Definition: vtkImageResize.h:164
vtkImageResize::ThreadedRequestData
virtual void ThreadedRequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int ext[6], int id)
vtkImageResize::Interpolator
vtkAbstractImageInterpolator * Interpolator
Definition: vtkImageResize.h:170
vtkImageResize::GetInterpolator
virtual vtkAbstractImageInterpolator * GetInterpolator()
vtkImageResize::vtkImageResize
vtkImageResize()
vtkImageResize::New
static vtkImageResize * New()
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
vtkImageResize::SetResizeMethodToMagnificationFactors
void SetResizeMethodToMagnificationFactors()
Definition: vtkImageResize.h:66
vtkImageResize::RequestInformation
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkImageResize::SetInterpolator
virtual void SetInterpolator(vtkAbstractImageInterpolator *sampler)
vtkImageResize::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkSetVector6Macro
#define vtkSetVector6Macro(name, type)
Definition: vtkSetGet.h:360
vtkImagingCoreModule.h
vtkImageResize::SetResizeMethodToOutputSpacing
void SetResizeMethodToOutputSpacing()
Definition: vtkImageResize.h:64
VTKIMAGINGCORE_EXPORT
#define VTKIMAGINGCORE_EXPORT
Definition: vtkImagingCoreModule.h:15
vtkAbstractImageInterpolator
interpolate data values from images
Definition: vtkAbstractImageInterpolator.h:46
vtkImageResize::GetMTime
unsigned long int GetMTime()
vtkImageResize::Interpolate
int Interpolate
Definition: vtkImageResize.h:172