High-quality image resizing filter.
More...
#include <vtkImageResize.h>
Inherits vtkThreadedImageAlgorithm.
|
virtual int | IsA (const char *type) |
|
vtkImageResize * | NewInstance () const |
|
void | PrintSelf (ostream &os, vtkIndent indent) |
|
unsigned long int | GetMTime () |
|
|
virtual void | SetResizeMethod (int) |
|
virtual int | GetResizeMethod () |
|
void | SetResizeMethodToOutputDimensions () |
|
void | SetResizeMethodToOutputSpacing () |
|
void | SetResizeMethodToMagnificationFactors () |
|
virtual const char * | GetResizeMethodAsString () |
|
|
virtual void | SetOutputDimensions (int, int, int) |
|
virtual void | SetOutputDimensions (int[3]) |
|
virtual int * | GetOutputDimensions () |
|
virtual void | GetOutputDimensions (int &, int &, int &) |
|
virtual void | GetOutputDimensions (int[3]) |
|
|
virtual void | SetOutputSpacing (double, double, double) |
|
virtual void | SetOutputSpacing (double[3]) |
|
virtual double * | GetOutputSpacing () |
|
virtual void | GetOutputSpacing (double &, double &, double &) |
|
virtual void | GetOutputSpacing (double[3]) |
|
|
virtual void | SetMagnificationFactors (double, double, double) |
|
virtual void | SetMagnificationFactors (double[3]) |
|
virtual double * | GetMagnificationFactors () |
|
virtual void | GetMagnificationFactors (double &, double &, double &) |
|
virtual void | GetMagnificationFactors (double[3]) |
|
|
virtual void | SetBorder (int) |
|
virtual void | BorderOn () |
|
virtual void | BorderOff () |
|
virtual int | GetBorder () |
|
|
virtual void | SetCropping (int) |
|
virtual void | CroppingOn () |
|
virtual void | CroppingOff () |
|
virtual int | GetCropping () |
|
|
virtual void | SetCroppingRegion (double, double, double, double, double, double) |
|
virtual void | SetCroppingRegion (double[6]) |
|
virtual double * | GetCroppingRegion () |
|
virtual void | GetCroppingRegion (double &, double &, double &, double &, double &, double &) |
|
virtual void | GetCroppingRegion (double[6]) |
|
|
virtual void | SetInterpolate (int) |
|
virtual void | InterpolateOn () |
|
virtual void | InterpolateOff () |
|
virtual int | GetInterpolate () |
|
|
virtual void | SetInterpolator (vtkAbstractImageInterpolator *sampler) |
|
virtual
vtkAbstractImageInterpolator * | GetInterpolator () |
|
|
virtual vtkObjectBase * | NewInstanceInternal () const |
|
| vtkImageResize () |
|
| ~vtkImageResize () |
|
virtual
vtkAbstractImageInterpolator * | GetInternalInterpolator () |
|
virtual int | RequestInformation (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
virtual int | RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
virtual int | RequestData (vtkInformation *, vtkInformationVector **, vtkInformationVector *) |
|
virtual void | ThreadedRequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector, vtkImageData ***inData, vtkImageData **outData, int ext[6], int id) |
|
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.
- Thanks:
- Thanks to David Gobbi for contributing this class to VTK.
- Tests:
- vtkImageResize (Tests)
Definition at line 41 of file vtkImageResize.h.
Enumerator |
---|
OUTPUT_DIMENSIONS |
|
OUTPUT_SPACING |
|
MAGNIFICATION_FACTORS |
|
Definition at line 48 of file vtkImageResize.h.
vtkImageResize::vtkImageResize |
( |
| ) |
|
|
protected |
vtkImageResize::~vtkImageResize |
( |
| ) |
|
|
protected |
static int vtkImageResize::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
virtual int vtkImageResize::IsA |
( |
const char * |
type | ) |
|
|
virtual |
static vtkImageResize* vtkImageResize::SafeDownCast |
( |
vtkObjectBase * |
o | ) |
|
|
static |
virtual vtkObjectBase* vtkImageResize::NewInstanceInternal |
( |
| ) |
const |
|
protectedvirtual |
void vtkImageResize::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
| |
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).
Set the interpolator for resampling the data.
Set the interpolator for resampling the data.
unsigned long int vtkImageResize::GetMTime |
( |
| ) |
|
Get the modified time of the filter.
virtual int vtkImageResize::RequestInformation |
( |
vtkInformation * |
, |
|
|
vtkInformationVector ** |
, |
|
|
vtkInformationVector * |
|
|
) |
| |
|
protectedvirtual |
virtual int vtkImageResize::RequestUpdateExtent |
( |
vtkInformation * |
, |
|
|
vtkInformationVector ** |
, |
|
|
vtkInformationVector * |
|
|
) |
| |
|
protectedvirtual |
virtual int vtkImageResize::RequestData |
( |
vtkInformation * |
, |
|
|
vtkInformationVector ** |
, |
|
|
vtkInformationVector * |
|
|
) |
| |
|
protectedvirtual |
virtual void vtkImageResize::ThreadedRequestData |
( |
vtkInformation * |
request, |
|
|
vtkInformationVector ** |
inputVector, |
|
|
vtkInformationVector * |
outputVector, |
|
|
vtkImageData *** |
inData, |
|
|
vtkImageData ** |
outData, |
|
|
int |
ext[6], |
|
|
int |
id |
|
) |
| |
|
protectedvirtual |
int vtkImageResize::ResizeMethod |
|
protected |
int vtkImageResize::OutputDimensions[3] |
|
protected |
double vtkImageResize::OutputSpacing[3] |
|
protected |
double vtkImageResize::MagnificationFactors[3] |
|
protected |
int vtkImageResize::Border |
|
protected |
int vtkImageResize::Cropping |
|
protected |
double vtkImageResize::CroppingRegion[6] |
|
protected |
double vtkImageResize::IndexStretch[3] |
|
protected |
double vtkImageResize::IndexTranslate[3] |
|
protected |
int vtkImageResize::Interpolate |
|
protected |
The documentation for this class was generated from the following file: