PyDL:docs

- Index
- Modules

### Navigation

- next »
- « previous |
- pydl v1.0.0-rc2 »
- 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.