PyDL:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- pydl v0.7.0 »
- SDSS Utilities (`pydl.pydlutils`) »
- bspline

# bspline

class `pydl.pydlutils.bspline.``bspline`(x, nord=4, npoly=1, bkpt=None, bkspread=1.0, **kwargs)

  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.

  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`(x[, x2]) | Construct banded B-spline matrix, with dimensions [ndata, bandwidth].
  `bsplvn`(x, ileft) | Calculates the value of all possibly nonzero B-splines at `x` of a certain order.
  `fit`(xdata, ydata, invvar[, x2]) | Calculate a B-spline in the least-squares sense.
  `intrv`(x) | Find the segment between breakpoints which contain each value in the array `x`.
  `maskpoints`(err) | Perform simple logic of which breakpoints to mask.
  `value`(x[, x2, action, lower, upper]) | Evaluate a B-spline at specified values.

  Methods Documentation

  `action`(x, x2=None)

    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.

    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`(x, ileft)

    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`.

    Returns:

    `numpy.ndarray`

    > B-spline values.

  `fit`(xdata, ydata, invvar, x2=None)

    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 required `ydata` 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.

    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`(x)

    Find the segment between breakpoints which contain each value in the array `x`.

    The minimum breakpoint is `nbkptord - 1`, and the maximum is `nbkpt - nbkptord - 1`.

    Parameters:

    x : `numpy.ndarray`

    > Data values, assumed to be monotonically increasing.

    Returns:

    `numpy.ndarray`

    > Position of array elements with respect to breakpoints.

  `maskpoints`(err)

    Perform simple logic of which breakpoints to mask.

    Parameters:

    err : `numpy.ndarray`

    > The list of indexes returned by the cholesky routines.

    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`(x, x2=None, action=None, lower=None, upper=None)

    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.

    Returns:

    `tuple()`

    > A tuple containing the results of the bspline evaluation and a mask indicating where the evaluation was good.