| VTK
   
    | 
BSpline code from P. Thevenaz. More...
#include <vtkImageBSplineInternals.h>
| Static Public Member Functions | |
| static int | GetPoleValues (double poles[4], long &numPoles, long degree) | 
| static void | ConvertToInterpolationCoefficients (double data[], long size, long border, double poles[4], long numPoles, double tol) | 
| static int | GetInterpolationWeights (double weights[10], double w, long degree) | 
| static int | GetInterpolationWeights (float weights[10], double w, long degree) | 
| static int | InterpolatedValue (const double *coeffs, double *value, long width, long height, long slices, long depth, double x, double y, double z, long degree, long border) | 
| static int | InterpolatedValue (const float *coeffs, float *value, long width, long height, long slices, long depth, double x, double y, double z, long degree, long border) | 
| Protected Member Functions | |
| vtkImageBSplineInternals () | |
| ~vtkImageBSplineInternals () | |
| Static Protected Member Functions | |
| static double | InitialCausalCoefficient (double data[], long size, long border, double pole, double tol) | 
| static double | InitialAntiCausalCoefficient (double data[], long size, long border, double pole, double tol) | 
BSpline code from P. Thevenaz.
vtkImageBSplineInternals provides code for image interpolation with b-splines of various degrees. This code computes the coefficents from the image, and computes the weights for the b-spline kernels.
This class is based on code provided by Philippe Thevenaz of EPFL, Lausanne, Switzerland. Please acknowledge his contribution by citing the following paper: [1] P. Thevenaz, T. Blu, M. Unser, "Interpolation Revisited," IEEE Transactions on Medical Imaging 19(7):739-758, 2000.
The clamped boundary condition (which is the default) is taken from code presented in the following paper: [2] D. Ruijters, P. Thevenaz, "GPU Prefilter for Accurate Cubic B-spline Interpolation," The Computer Journal, doi: 10.1093/comjnl/bxq086, 2010.
Definition at line 40 of file vtkImageBSplineInternals.h.
| vtkImageBSplineInternals::vtkImageBSplineInternals | ( | ) |  [inline, protected] | 
Definition at line 78 of file vtkImageBSplineInternals.h.
| vtkImageBSplineInternals::~vtkImageBSplineInternals | ( | ) |  [inline, protected] | 
Definition at line 79 of file vtkImageBSplineInternals.h.
| static int vtkImageBSplineInternals::GetPoleValues | ( | double | poles[4], | 
| long & | numPoles, | ||
| long | degree | ||
| ) |  [static] | 
Internal method. Get the poles for spline of given degree. Returns zero if an illegal degree is given (allowed range 2 to 9). The parameter numPoles will be set to a value between 1 and 4.
| static void vtkImageBSplineInternals::ConvertToInterpolationCoefficients | ( | double | data[], | 
| long | size, | ||
| long | border, | ||
| double | poles[4], | ||
| long | numPoles, | ||
| double | tol | ||
| ) |  [static] | 
Internal method. Compute the coefficients for one row of data.
| static int vtkImageBSplineInternals::GetInterpolationWeights | ( | double | weights[10], | 
| double | w, | ||
| long | degree | ||
| ) |  [static] | 
Internal method. Get interpolation weights for offset w, where w is between 0 and 1. You must provide the degree of the spline.
| static int vtkImageBSplineInternals::GetInterpolationWeights | ( | float | weights[10], | 
| double | w, | ||
| long | degree | ||
| ) |  [static] | 
Internal method. Get interpolation weights for offset w, where w is between 0 and 1. You must provide the degree of the spline.
| static int vtkImageBSplineInternals::InterpolatedValue | ( | const double * | coeffs, | 
| double * | value, | ||
| long | width, | ||
| long | height, | ||
| long | slices, | ||
| long | depth, | ||
| double | x, | ||
| double | y, | ||
| double | z, | ||
| long | degree, | ||
| long | border | ||
| ) |  [static] | 
Internal method. Interpolate a value from the supplied 3D array of coefficients with dimensions width x height x slices.
| static int vtkImageBSplineInternals::InterpolatedValue | ( | const float * | coeffs, | 
| float * | value, | ||
| long | width, | ||
| long | height, | ||
| long | slices, | ||
| long | depth, | ||
| double | x, | ||
| double | y, | ||
| double | z, | ||
| long | degree, | ||
| long | border | ||
| ) |  [static] | 
Internal method. Interpolate a value from the supplied 3D array of coefficients with dimensions width x height x slices.
| static double vtkImageBSplineInternals::InitialCausalCoefficient | ( | double | data[], | 
| long | size, | ||
| long | border, | ||
| double | pole, | ||
| double | tol | ||
| ) |  [static, protected] | 
| static double vtkImageBSplineInternals::InitialAntiCausalCoefficient | ( | double | data[], | 
| long | size, | ||
| long | border, | ||
| double | pole, | ||
| double | tol | ||
| ) |  [static, protected] | 
 1.7.5.1
 1.7.5.1