bspline¶
-
class
pydl.pydlutils.bspline.
bspline
(x, nord=4, npoly=1, bkpt=None, bkspread=1.0, **kwargs)[source]¶ Bases:
object
B-spline class.
Functions in the idlutils bspline library are implemented as methods on this class.
- Parameters
- x
numpy.ndarray
The data.
- nord
int
, optional The order of the B-spline. Default is 4, which is cubic.
- npoly
int
, optional Polynomial order to fit over 2nd variable, if supplied. If not supplied the order is 1.
- bkpt
numpy.ndarray
, optional To be documented.
- bkspread
float
, optional To be documented.
- x
- Attributes
- breakpoints
To be documented.
- nord
To be documented.
- npoly
To be documented.
- mask
To be documented.
- coeff
To be documented.
- icoeff
To be documented.
- xmin
To be documented.
- xmax
To be documented.
- funcname
To be documented.
Init creates an object whose attributes are similar to the structure returned by the
create_bsplineset()
function.Methods Summary
action
(self, x[, x2])Construct banded B-spline matrix, with dimensions [ndata, bandwidth].
bsplvn
(self, x, ileft)Calculates the value of all possibly nonzero B-splines at
x
of a certain order.fit
(self, xdata, ydata, invvar[, x2])Calculate a B-spline in the least-squares sense.
intrv
(self, x)Find the segment between breakpoints which contain each value in the array
x
.maskpoints
(self, err)Perform simple logic of which breakpoints to mask.
value
(self, x[, x2, action, lower, upper])Evaluate a B-spline at specified values.
Methods Documentation
-
action
(self, x, x2=None)[source]¶ Construct banded B-spline matrix, with dimensions [ndata, bandwidth].
- Parameters
- x
numpy.ndarray
Independent variable.
- x2
numpy.ndarray
, optional Orthogonal dependent variable for 2d fits.
- x
- Returns
tuple()
A tuple containing the B-spline action matrix; the ‘lower’ parameter, a list of pixel positions, each corresponding to the first occurence of position greater than breakpoint indx; and ‘upper’, Same as lower, but denotes the upper pixel positions.
-
bsplvn
(self, x, ileft)[source]¶ Calculates the value of all possibly nonzero B-splines at
x
of a certain order.- Parameters
- x
numpy.ndarray
Independent variable.
- ileft
int
Breakpoint segements that contain
x
.
- x
- Returns
numpy.ndarray
B-spline values.
-
fit
(self, xdata, ydata, invvar, x2=None)[source]¶ Calculate a B-spline in the least-squares sense.
Fit is based on two variables:
xdata
which is sorted and spans a large range where breakpoints are requiredydata
which can be described with a low order polynomial.- Parameters
- xdata
numpy.ndarray
Independent variable.
- ydata
numpy.ndarray
Dependent variable.
- invvar
numpy.ndarray
Inverse variance of
ydata
.- x2
numpy.ndarray
, optional Orthogonal dependent variable for 2d fits.
- xdata
- Returns
tuple()
A tuple containing an integer error code, and the evaluation of the b-spline at the input values. An error code of -2 is a failure, -1 indicates dropped breakpoints, 0 is success, and positive integers indicate ill-conditioned breakpoints.
-
intrv
(self, x)[source]¶ Find the segment between breakpoints which contain each value in the array
x
.The minimum breakpoint is
nbkptord - 1
, and the maximum isnbkpt - nbkptord - 1
.- Parameters
- x
numpy.ndarray
Data values, assumed to be monotonically increasing.
- x
- Returns
numpy.ndarray
Position of array elements with respect to breakpoints.
-
maskpoints
(self, err)[source]¶ Perform simple logic of which breakpoints to mask.
- Parameters
- err
numpy.ndarray
The list of indexes returned by the cholesky routines.
- err
- Returns
int
An integer indicating the results of the masking. -1 indicates that the error points were successfully masked. -2 indicates failure; the calculation should be aborted.
Notes
The mask attribute is modified, assuming it is possible to create the mask.
-
value
(self, x, x2=None, action=None, lower=None, upper=None)[source]¶ Evaluate a B-spline at specified values.
- Parameters
- x
numpy.ndarray
Independent variable.
- x2
numpy.ndarray
, optional Orthogonal dependent variable for 2d fits.
- action
numpy.ndarray
, optional Action matrix to use. If not supplied it is calculated.
- lower
numpy.ndarray
, optional If the action parameter is supplied, this parameter must also be supplied.
- upper
numpy.ndarray
, optional If the action parameter is supplied, this parameter must also be supplied.
- x
- Returns
tuple()
A tuple containing the results of the bspline evaluation and a mask indicating where the evaluation was good.