VTK
|
High-quality image resizing filter. More...
#include <vtkImageResize.h>
High-quality image resizing filter.
vtkImageResize will magnify or shrink an image with interpolation and antialiasing. The resizing is done with a 5-lobe Lanczos-windowed sinc filter that is bandlimited to the output sampling frequency in order to avoid aliasing when the image size is reduced. This filter utilizes a O(n) algorithm to provide good effiency even though the filtering kernel is large. The sinc interpolator can be turned off if nearest-neighbor interpolation is required, or it can be replaced with a different vtkImageInterpolator object.
Definition at line 41 of file vtkImageResize.h.
Reimplemented from vtkThreadedImageAlgorithm.
Definition at line 45 of file vtkImageResize.h.
anonymous enum |
Definition at line 48 of file vtkImageResize.h.
vtkImageResize::vtkImageResize | ( | ) | [protected] |
vtkImageResize::~vtkImageResize | ( | ) | [protected] |
static vtkImageResize* vtkImageResize::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkAlgorithm.
static int vtkImageResize::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkThreadedImageAlgorithm.
virtual int vtkImageResize::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkThreadedImageAlgorithm.
static vtkImageResize* vtkImageResize::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkThreadedImageAlgorithm.
virtual vtkObjectBase* vtkImageResize::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkThreadedImageAlgorithm.
vtkImageResize* vtkImageResize::NewInstance | ( | ) | const |
Reimplemented from vtkThreadedImageAlgorithm.
void vtkImageResize::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkThreadedImageAlgorithm.
virtual void vtkImageResize::SetResizeMethod | ( | int | ) | [virtual] |
The resizing method to use. The default is to set the output image dimensions, and allow the filter to resize the image to these new dimensions. It is also possible to resize the image by setting the output image spacing or by setting a magnification factor.
virtual int vtkImageResize::GetResizeMethod | ( | ) | [virtual] |
The resizing method to use. The default is to set the output image dimensions, and allow the filter to resize the image to these new dimensions. It is also possible to resize the image by setting the output image spacing or by setting a magnification factor.
void vtkImageResize::SetResizeMethodToOutputDimensions | ( | ) | [inline] |
The resizing method to use. The default is to set the output image dimensions, and allow the filter to resize the image to these new dimensions. It is also possible to resize the image by setting the output image spacing or by setting a magnification factor.
Definition at line 62 of file vtkImageResize.h.
void vtkImageResize::SetResizeMethodToOutputSpacing | ( | ) | [inline] |
The resizing method to use. The default is to set the output image dimensions, and allow the filter to resize the image to these new dimensions. It is also possible to resize the image by setting the output image spacing or by setting a magnification factor.
Definition at line 64 of file vtkImageResize.h.
void vtkImageResize::SetResizeMethodToMagnificationFactors | ( | ) | [inline] |
The resizing method to use. The default is to set the output image dimensions, and allow the filter to resize the image to these new dimensions. It is also possible to resize the image by setting the output image spacing or by setting a magnification factor.
Definition at line 66 of file vtkImageResize.h.
virtual const char* vtkImageResize::GetResizeMethodAsString | ( | ) | [virtual] |
The resizing method to use. The default is to set the output image dimensions, and allow the filter to resize the image to these new dimensions. It is also possible to resize the image by setting the output image spacing or by setting a magnification factor.
virtual void vtkImageResize::SetOutputDimensions | ( | int | , |
int | , | ||
int | |||
) | [virtual] |
The desired output dimensions. This is only used if the ResizeMethod is set to OutputDimensions. If you want to keep one of the image dimensions the same as the input, then set that dimension to -1.
virtual void vtkImageResize::SetOutputDimensions | ( | int | [3] | ) | [virtual] |
The desired output dimensions. This is only used if the ResizeMethod is set to OutputDimensions. If you want to keep one of the image dimensions the same as the input, then set that dimension to -1.
virtual int* vtkImageResize::GetOutputDimensions | ( | ) | [virtual] |
The desired output dimensions. This is only used if the ResizeMethod is set to OutputDimensions. If you want to keep one of the image dimensions the same as the input, then set that dimension to -1.
virtual void vtkImageResize::GetOutputDimensions | ( | int & | , |
int & | , | ||
int & | |||
) | [virtual] |
The desired output dimensions. This is only used if the ResizeMethod is set to OutputDimensions. If you want to keep one of the image dimensions the same as the input, then set that dimension to -1.
virtual void vtkImageResize::GetOutputDimensions | ( | int | [3] | ) | [virtual] |
The desired output dimensions. This is only used if the ResizeMethod is set to OutputDimensions. If you want to keep one of the image dimensions the same as the input, then set that dimension to -1.
virtual void vtkImageResize::SetOutputSpacing | ( | double | , |
double | , | ||
double | |||
) | [virtual] |
The desired output spacing. This is only used if the ResizeMethod is set to OutputSpacing. If you want to keep one of the original spacing values, then set that spacing value to zero.
virtual void vtkImageResize::SetOutputSpacing | ( | double | [3] | ) | [virtual] |
The desired output spacing. This is only used if the ResizeMethod is set to OutputSpacing. If you want to keep one of the original spacing values, then set that spacing value to zero.
virtual double* vtkImageResize::GetOutputSpacing | ( | ) | [virtual] |
The desired output spacing. This is only used if the ResizeMethod is set to OutputSpacing. If you want to keep one of the original spacing values, then set that spacing value to zero.
virtual void vtkImageResize::GetOutputSpacing | ( | double & | , |
double & | , | ||
double & | |||
) | [virtual] |
The desired output spacing. This is only used if the ResizeMethod is set to OutputSpacing. If you want to keep one of the original spacing values, then set that spacing value to zero.
virtual void vtkImageResize::GetOutputSpacing | ( | double | [3] | ) | [virtual] |
The desired output spacing. This is only used if the ResizeMethod is set to OutputSpacing. If you want to keep one of the original spacing values, then set that spacing value to zero.
virtual void vtkImageResize::SetMagnificationFactors | ( | double | , |
double | , | ||
double | |||
) | [virtual] |
The desired magnification factor, meaning that the sample spacing will be reduced by this factor. This setting is only used if the ResizeMethod is set to MagnificationFactors.
virtual void vtkImageResize::SetMagnificationFactors | ( | double | [3] | ) | [virtual] |
The desired magnification factor, meaning that the sample spacing will be reduced by this factor. This setting is only used if the ResizeMethod is set to MagnificationFactors.
virtual double* vtkImageResize::GetMagnificationFactors | ( | ) | [virtual] |
The desired magnification factor, meaning that the sample spacing will be reduced by this factor. This setting is only used if the ResizeMethod is set to MagnificationFactors.
virtual void vtkImageResize::GetMagnificationFactors | ( | double & | , |
double & | , | ||
double & | |||
) | [virtual] |
The desired magnification factor, meaning that the sample spacing will be reduced by this factor. This setting is only used if the ResizeMethod is set to MagnificationFactors.
virtual void vtkImageResize::GetMagnificationFactors | ( | double | [3] | ) | [virtual] |
The desired magnification factor, meaning that the sample spacing will be reduced by this factor. This setting is only used if the ResizeMethod is set to MagnificationFactors.
virtual void vtkImageResize::SetBorder | ( | int | ) | [virtual] |
If Border is Off (the default), then the centers of each of the corner voxels will be considered to form the rectangular bounds of the image. This is the way that VTK normally computes image bounds. If Border is On, then the image bounds will be defined by the outer corners of the voxels. This setting impacts how the resizing is done. For example, if a MagnificationFactor of two is applied to a 256x256 image, the output image will be 512x512 if Border is On, or 511x511 if Border is Off.
virtual void vtkImageResize::BorderOn | ( | ) | [virtual] |
If Border is Off (the default), then the centers of each of the corner voxels will be considered to form the rectangular bounds of the image. This is the way that VTK normally computes image bounds. If Border is On, then the image bounds will be defined by the outer corners of the voxels. This setting impacts how the resizing is done. For example, if a MagnificationFactor of two is applied to a 256x256 image, the output image will be 512x512 if Border is On, or 511x511 if Border is Off.
virtual void vtkImageResize::BorderOff | ( | ) | [virtual] |
If Border is Off (the default), then the centers of each of the corner voxels will be considered to form the rectangular bounds of the image. This is the way that VTK normally computes image bounds. If Border is On, then the image bounds will be defined by the outer corners of the voxels. This setting impacts how the resizing is done. For example, if a MagnificationFactor of two is applied to a 256x256 image, the output image will be 512x512 if Border is On, or 511x511 if Border is Off.
virtual int vtkImageResize::GetBorder | ( | ) | [virtual] |
If Border is Off (the default), then the centers of each of the corner voxels will be considered to form the rectangular bounds of the image. This is the way that VTK normally computes image bounds. If Border is On, then the image bounds will be defined by the outer corners of the voxels. This setting impacts how the resizing is done. For example, if a MagnificationFactor of two is applied to a 256x256 image, the output image will be 512x512 if Border is On, or 511x511 if Border is Off.
virtual void vtkImageResize::SetCropping | ( | int | ) | [virtual] |
Whether to crop the input image before resizing (Off by default). If this is On, then the CroppingRegion must be set.
virtual void vtkImageResize::CroppingOn | ( | ) | [virtual] |
Whether to crop the input image before resizing (Off by default). If this is On, then the CroppingRegion must be set.
virtual void vtkImageResize::CroppingOff | ( | ) | [virtual] |
Whether to crop the input image before resizing (Off by default). If this is On, then the CroppingRegion must be set.
virtual int vtkImageResize::GetCropping | ( | ) | [virtual] |
Whether to crop the input image before resizing (Off by default). If this is On, then the CroppingRegion must be set.
virtual void vtkImageResize::SetCroppingRegion | ( | double | , |
double | , | ||
double | , | ||
double | , | ||
double | , | ||
double | |||
) | [virtual] |
If Cropping is On, then the CroppingRegion will be used to crop the image before it is resized. The region must be specified in data coordinates, rather than voxel indices.
virtual void vtkImageResize::SetCroppingRegion | ( | double | [6] | ) | [virtual] |
If Cropping is On, then the CroppingRegion will be used to crop the image before it is resized. The region must be specified in data coordinates, rather than voxel indices.
virtual double* vtkImageResize::GetCroppingRegion | ( | ) | [virtual] |
If Cropping is On, then the CroppingRegion will be used to crop the image before it is resized. The region must be specified in data coordinates, rather than voxel indices.
virtual void vtkImageResize::GetCroppingRegion | ( | double & | , |
double & | , | ||
double & | , | ||
double & | , | ||
double & | , | ||
double & | |||
) | [virtual] |
If Cropping is On, then the CroppingRegion will be used to crop the image before it is resized. The region must be specified in data coordinates, rather than voxel indices.
virtual void vtkImageResize::GetCroppingRegion | ( | double | [6] | ) | [virtual] |
If Cropping is On, then the CroppingRegion will be used to crop the image before it is resized. The region must be specified in data coordinates, rather than voxel indices.
virtual void vtkImageResize::SetInterpolate | ( | int | ) | [virtual] |
Turn interpolation on or off (by default, interpolation is on).
virtual void vtkImageResize::InterpolateOn | ( | ) | [virtual] |
Turn interpolation on or off (by default, interpolation is on).
virtual void vtkImageResize::InterpolateOff | ( | ) | [virtual] |
Turn interpolation on or off (by default, interpolation is on).
virtual int vtkImageResize::GetInterpolate | ( | ) | [virtual] |
Turn interpolation on or off (by default, interpolation is on).
virtual void vtkImageResize::SetInterpolator | ( | vtkAbstractImageInterpolator * | sampler | ) | [virtual] |
Set the interpolator for resampling the data.
virtual vtkAbstractImageInterpolator* vtkImageResize::GetInterpolator | ( | ) | [virtual] |
Set the interpolator for resampling the data.
unsigned long int vtkImageResize::GetMTime | ( | ) | [virtual] |
Get the modified time of the filter.
Reimplemented from vtkObject.
virtual vtkAbstractImageInterpolator* vtkImageResize::GetInternalInterpolator | ( | ) | [protected, virtual] |
virtual int vtkImageResize::RequestInformation | ( | vtkInformation * | request, |
vtkInformationVector ** | inputVector, | ||
vtkInformationVector * | outputVector | ||
) | [protected, virtual] |
Subclasses can reimplement this method to collect information from their inputs and set information for their outputs.
Reimplemented from vtkImageAlgorithm.
virtual int vtkImageResize::RequestUpdateExtent | ( | vtkInformation * | , |
vtkInformationVector ** | , | ||
vtkInformationVector * | |||
) | [protected, virtual] |
Subclasses can reimplement this method to translate the update extent requests from each output port into update extent requests for the input connections.
Reimplemented from vtkImageAlgorithm.
virtual int vtkImageResize::RequestData | ( | vtkInformation * | request, |
vtkInformationVector ** | inputVector, | ||
vtkInformationVector * | outputVector | ||
) | [protected, virtual] |
This is called by the superclass. This is the method you should override.
Reimplemented from vtkThreadedImageAlgorithm.
virtual void vtkImageResize::ThreadedRequestData | ( | vtkInformation * | request, |
vtkInformationVector ** | inputVector, | ||
vtkInformationVector * | outputVector, | ||
vtkImageData *** | inData, | ||
vtkImageData ** | outData, | ||
int | extent[6], | ||
int | threadId | ||
) | [protected, virtual] |
If the subclass does not define an Execute method, then the task will be broken up, multiple threads will be spawned, and each thread will call this method. It is public so that the thread functions can call this method.
Reimplemented from vtkThreadedImageAlgorithm.
int vtkImageResize::ResizeMethod [protected] |
Definition at line 159 of file vtkImageResize.h.
int vtkImageResize::OutputDimensions[3] [protected] |
Definition at line 160 of file vtkImageResize.h.
double vtkImageResize::OutputSpacing[3] [protected] |
Definition at line 161 of file vtkImageResize.h.
double vtkImageResize::MagnificationFactors[3] [protected] |
Definition at line 162 of file vtkImageResize.h.
int vtkImageResize::Border [protected] |
Definition at line 163 of file vtkImageResize.h.
int vtkImageResize::Cropping [protected] |
Definition at line 164 of file vtkImageResize.h.
double vtkImageResize::CroppingRegion[6] [protected] |
Definition at line 165 of file vtkImageResize.h.
double vtkImageResize::IndexStretch[3] [protected] |
Definition at line 167 of file vtkImageResize.h.
double vtkImageResize::IndexTranslate[3] [protected] |
Definition at line 168 of file vtkImageResize.h.
vtkAbstractImageInterpolator* vtkImageResize::Interpolator [protected] |
Definition at line 170 of file vtkImageResize.h.
Definition at line 171 of file vtkImageResize.h.
int vtkImageResize::Interpolate [protected] |
Definition at line 172 of file vtkImageResize.h.