Class CoxDeBoorBSplineKernelFunction

java.lang.Object
gov.nih.mipav.model.structures.CoxDeBoorBSplineKernelFunction

public class CoxDeBoorBSplineKernelFunction extends 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 Details

    • splineOrder

      private int splineOrder
    • BSplineShapeFunctions

      private double[][] BSplineShapeFunctions
    • epsilon

      private double epsilon
  • Constructor Details

    • CoxDeBoorBSplineKernelFunction

      public CoxDeBoorBSplineKernelFunction()
    • CoxDeBoorBSplineKernelFunction

      public CoxDeBoorBSplineKernelFunction(int splineOrder)
  • Method Details

    • finalize

      public void finalize()
      Prepares this class for destruction.
      Overrides:
      finalize in class 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()