VTK
vtkImageBSplineInternals.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkImageBSplineInternals.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 =========================================================================*/
35 #ifndef vtkImageBSplineInternals_h
36 #define vtkImageBSplineInternals_h
37 
38 #include "vtkImagingCoreModule.h" // For export macro
39 #include "vtkSystemIncludes.h"
40 
42 {
43 public:
47  static int GetPoleValues(double poles[4], long &numPoles, long degree);
48 
50 
51  static void ConvertToInterpolationCoefficients(
52  double data[], long size, long border, double poles[4], long numPoles,
53  double tol);
55 
57 
59  static int GetInterpolationWeights(
60  double weights[10], double w, long degree);
61  static int GetInterpolationWeights(
62  float weights[10], double w, long degree);
64 
66 
68  static int InterpolatedValue(
69  const double *coeffs, double *value,
70  long width, long height, long slices, long depth,
71  double x, double y, double z, long degree, long border);
72  static int InterpolatedValue(
73  const float *coeffs, float *value,
74  long width, long height, long slices, long depth,
75  double x, double y, double z, long degree, long border);
77 
78 protected:
81 
82  static double InitialCausalCoefficient(
83  double data[], long size, long border, double pole, double tol);
84 
85  static double InitialAntiCausalCoefficient(
86  double data[], long size, long border, double pole, double tol);
87 
88 private:
89  vtkImageBSplineInternals(const vtkImageBSplineInternals&); // Not implemented.
90  void operator=(const vtkImageBSplineInternals&); // Not implemented.
91 };
92 
93 #endif
94 // VTK-HeaderTest-Exclude: vtkImageBSplineInternals.h
#define VTKIMAGINGCORE_EXPORT
boost::graph_traits< vtkGraph * >::degree_size_type degree(boost::graph_traits< vtkGraph * >::vertex_descriptor u, vtkGraph *g)
BSpline code from P. Thevenaz.