VTK  9.5.20250718
vtkImageBSplineInternals.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
24#ifndef vtkImageBSplineInternals_h
25#define vtkImageBSplineInternals_h
26
27#include "vtkAbstractImageInterpolator.h" // For vtkImageBorderMode
28#include "vtkImagingCoreModule.h" // For export macro
29#include "vtkSystemIncludes.h"
30
31VTK_ABI_NAMESPACE_BEGIN
32class VTKIMAGINGCORE_EXPORT vtkImageBSplineInternals
33{
34public:
40 static int GetPoleValues(double poles[4], long& numPoles, long degree);
41
45 static void ConvertToInterpolationCoefficients(double data[], long size,
46 vtkImageBorderMode border, double poles[4], long numPoles, double tol) VTK_SIZEHINT(data, size);
47
49
53 static int GetInterpolationWeights(double weights[10], double w, long degree);
54 static int GetInterpolationWeights(float weights[10], double w, long degree);
56
58
62 static int InterpolatedValue(const double* coeffs, double* value, long width, long height,
63 long slices, long depth, double x, double y, double z, long degree, vtkImageBorderMode border);
64 static int InterpolatedValue(const float* coeffs, float* value, long width, long height,
65 long slices, long depth, double x, double y, double z, long degree, vtkImageBorderMode border);
66
67protected:
69 double data[], long size, vtkImageBorderMode border, double pole, double tol);
70
72 double data[], long size, vtkImageBorderMode border, double pole, double tol);
73};
74
75VTK_ABI_NAMESPACE_END
76#endif
77// VTK-HeaderTest-Exclude: vtkImageBSplineInternals.h
static double InitialCausalCoefficient(double data[], long size, vtkImageBorderMode border, double pole, double tol)
Internal method.
static int InterpolatedValue(const double *coeffs, double *value, long width, long height, long slices, long depth, double x, double y, double z, long degree, vtkImageBorderMode border)
Internal method.
static void ConvertToInterpolationCoefficients(double data[], long size, vtkImageBorderMode border, double poles[4], long numPoles, double tol)
Internal method.
static int GetInterpolationWeights(double weights[10], double w, long degree)
Internal method.
static int GetInterpolationWeights(float weights[10], double w, long degree)
Internal method.
static double InitialAntiCausalCoefficient(double data[], long size, vtkImageBorderMode border, double pole, double tol)
Internal method.
static int InterpolatedValue(const float *coeffs, float *value, long width, long height, long slices, long depth, double x, double y, double z, long degree, vtkImageBorderMode border)
Internal method.
static int GetPoleValues(double poles[4], long &numPoles, long degree)
Internal method.
boost::graph_traits< vtkGraph * >::degree_size_type degree(boost::graph_traits< vtkGraph * >::vertex_descriptor u, vtkGraph *g)
#define VTK_SIZEHINT(...)