Resize image using B-spline interpolation.
The function implements separable spline interpolation algorithm described in M. Unser, A. Aldroubi, M. Eden, "B-Spline Signal Processing" IEEE Transactions on Signal Processing, vol. 41, no. 2, pp. 821-833 (part I), pp. 834-848 (part II), 1993. to obtain optimal interpolation quality and speed. The implementation ensures that image values are interpolated rather than smoothed by first calling a recursive (sharpening) prefilter as described in the above paper. The input image must have a size of at least 4x4, the destination of at least 2x2. The scaling factors are then calculated accordingly. If the source image is larger than the destination, it is smoothed (band limited) using a recursive exponential filter.
input slots | |
InputSlot< vigra::MultiArray< 5, T > > | in |
The source image. | |
output slots | |
OutputSlot< vigra::MultiArray< 5, T > > | out |
The resized image. | |
parameters | |
Parameter< float > | factorT |
Factor for resizing. If zero, the parameters newDim* are used. | |
Parameter< float > | factorV |
Factor for resizing. If zero, the parameters newDim* are used. | |
Parameter< float > | factorX |
Factor for resizing. If zero, the parameters newDim* are used. | |
Parameter< float > | factorY |
Factor for resizing. If zero, the parameters newDim* are used. | |
Parameter< float > | factorZ |
Factor for resizing. If zero, the parameters newDim* are used. | |
Parameter< unsigned int > | newDimT |
Used if factorT=0. In this case the parameter factorT is ignored. If zero, nothing is scaled. | |
Parameter< unsigned int > | newDimV |
Used if factorV=0. In this case the parameter factorV is ignored. If zero, nothing is scaled. | |
Parameter< unsigned int > | newDimX |
Used if factorX=0. In this case the parameter factorX is ignored. If zero, nothing is scaled. | |
Parameter< unsigned int > | newDimY |
Used if factorY=0. In this case the parameter factorY is ignored. If zero, nothing is scaled. | |
Parameter< unsigned int > | newDimZ |
Used if factorZ=0. In this case the parameter factorZ is ignored. If zero, nothing is scaled. | |
Parameter< unsigned int > | splineOrder |
The order of the spline. Minimum is 3, maximum is 10. |
This Module subclasses TemplatedParameteredObject< T >.
For documentation of parameters and slots inherited by this base class,
please have a look at the corresponding Module reference.
This module is templated. There are instances with T=int,float,double.
An additional parameter called templatetype
may be used to select which instantiation you want.
The detailed doxygen documentation beyond the parameters/slots may be found here.