Used to evaluate a BSpline. More...
#include <BSpline.h>
Public Member Functions | |
| BSpline (const T *x, int nx, const T *y, double wl, int bc_type=BSplineBase< T >::BC_ZERO_SECOND, int num_nodes=0) | |
| Create a single spline with the parameters required to set up the domain and subsequently smooth the given set of y values. | |
| BSpline (BSplineBase< T > &base, const T *y) | |
A BSpline curve can be derived from a separate base and a set of data points y over that base. | |
| bool | solve (const T *y) |
| Solve the spline curve for a new set of y values. | |
| T | evaluate (T x) |
Return the evaluation of the smoothed curve at a particular x value. | |
| T | slope (T x) |
Return the first derivative of the spline curve at the given x. | |
| T | coefficient (int n) |
Return the n-th basis coefficient, from 0 to M. | |
Protected Attributes | |
| BSplineP< T > * | s |
| T | mean |
Used to evaluate a BSpline.
Inherits the BSplineBase domain information and interface and adds smoothing. See the BSplineBase documentation for a summary of the BSpline interface.
| BSpline< T >::BSpline | ( | const T * | x, | |
| int | nx, | |||
| const T * | y, | |||
| double | wl, | |||
| int | bc_type = BSplineBase<T>::BC_ZERO_SECOND, |
|||
| int | num_nodes = 0 | |||
| ) | [inline] |
Create a single spline with the parameters required to set up the domain and subsequently smooth the given set of y values.
The y values must correspond to each of the values in the x array. If either the domain setup fails or the spline cannot be solved, the state will be set to not ok.
| x | The array of x values in the domain. | |
| nx | The number of values in the x array. | |
| y | The array of y values corresponding to each of the nX() x values in the domain. | |
| wl | The cutoff wavelength, in the same units as the x values. A wavelength of zero disables the derivative constraint. | |
| bc_type | The enumerated boundary condition type. If omitted it defaults to BC_ZERO_SECOND. | |
| num_nodes | The number of nodes to use for the cubic b-spline. If less than 2 a "reasonable" number will be calculated automatically, taking into account the given cutoff wavelength. |
| T BSpline< T >::coefficient | ( | int | n | ) | [inline] |
Return the n-th basis coefficient, from 0 to M.
If the current state is not ok(), or n is out of range, the method returns zero.
| T BSpline< T >::evaluate | ( | T | x | ) | [inline] |
Return the evaluation of the smoothed curve at a particular x value.
If current state is not ok(), returns 0.
| T BSpline< T >::slope | ( | T | x | ) | [inline] |
Return the first derivative of the spline curve at the given x.
Returns zero if the current state is not ok().
| bool BSpline< T >::solve | ( | const T * | y | ) | [inline] |
Solve the spline curve for a new set of y values.
Returns false if the solution fails.
| y | The array of y values corresponding to each of the nX() x values in the domain. |
1.6.1