Class CoxDeBoorBSplineKernelFunction


  • public class CoxDeBoorBSplineKernelFunction
    extends java.lang.Object
    Version:
    0.1 April 1, 2014
    Author:
    William Gandler This a a port of itkCoxDeBoorBSplineKernelFunction.hxx, itkCoxDeBoorBSplineKernelFunction.h, and itkCoxDeBoorBSplineKernelFunctionTest.cxx from the itk package. Here is the original itk header from the itkCoxDeBoorBSplineKernelFunction.hxx file: Copyright Insight Software Consortium Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.txt Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. This class encapsulates BSpline kernel for density estimation or nonparameteric regression. See documentation for KernelFunctionBase for more details. This class is templated over the spline order to cohere with the previous incarnation of this class. One can change the order during an instantiation's existence. Note that other authors have defined the B-spline order as being the degree of spline + 1. In the ITK context (e.g. in this class), the spline order is equivalent to the degree of the spline. \author Nicholas J. Tustison This code was contributed in the Insight Journal paper: "N-D C^k B-Spline Scattered Data Approximation" by Nicholas J. Tustison, James C. Gee http://hdl.handle.net/1926/140 http://www.insight-journal.org/browse/publication/57
    • Field Detail

      • splineOrder

        private int splineOrder
      • BSplineShapeFunctions

        private double[][] BSplineShapeFunctions
      • epsilon

        private double epsilon
    • Constructor Detail

      • CoxDeBoorBSplineKernelFunction

        public CoxDeBoorBSplineKernelFunction()
      • CoxDeBoorBSplineKernelFunction

        public CoxDeBoorBSplineKernelFunction​(int splineOrder)
    • Method Detail

      • finalize

        public void finalize()
        Prepares this class for destruction.
        Overrides:
        finalize in class java.lang.Object
      • generateBSplineShapeFunctions

        private void generateBSplineShapeFunctions​(int order)
      • generatePoly

        private RealPolynomial generatePoly​(int order,
                                            double[] knots,
                                            int whichBasisFunction,
                                            int whichPiece)
      • getShapeFunctionsInZeroToOneInterval

        public double[][] getShapeFunctionsInZeroToOneInterval()
      • evaluate

        public double evaluate​(double u)
      • evaluateDerivative

        public double evaluateDerivative​(double u)
      • evaluateNthDerivative

        public double evaluateNthDerivative​(double u,
                                            int n)
      • selfTest

        public void selfTest()