Package gov.nih.mipav.model.structures
Class CoxDeBoorBSplineKernelFunction
- java.lang.Object
-
- gov.nih.mipav.model.structures.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 Summary
Fields Modifier and Type Field Description private double[][]
BSplineShapeFunctions
private double
epsilon
private int
splineOrder
-
Constructor Summary
Constructors Constructor Description CoxDeBoorBSplineKernelFunction()
CoxDeBoorBSplineKernelFunction(int splineOrder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
evaluate(double u)
double
evaluateDerivative(double u)
double
evaluateNthDerivative(double u, int n)
void
finalize()
Prepares this class for destruction.private void
generateBSplineShapeFunctions(int order)
private RealPolynomial
generatePoly(int order, double[] knots, int whichBasisFunction, int whichPiece)
double[][]
getShapeFunctionsInZeroToOneInterval()
void
selfTest()
-
-
-
Method Detail
-
finalize
public void finalize()
Prepares this class for destruction.- Overrides:
finalize
in classjava.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()
-
-