corina.index
Class CubicSpline

java.lang.Object
  |
  +--corina.index.Index
        |
        +--corina.index.CubicSpline
All Implemented Interfaces:
Graphable, Runnable, UndoableEdit

public class CubicSpline
extends Index

A cubic spline index.

The algorithm was (first?) discussed in "The Smoothing Spline: A New Approach to Standardizing Forest Interior Tree-Ring Width Series for Dendroclimatic Studies", Edward R. Cook and Kenneth Peters, Tree-Ring Bulletin, Vol. 41, 1981. The algorithm they used comes from Reinsch, C. H., 1967: "Smoothing by spline functions", Numerische Mathematik 10: 177-83.

The "S" term (smoothing factor?) can be set by the user in the preferences; a lower S-value results in a higher-frequency spline. S=1 is a linear fit, S=0 fits the data exactly, and S=1e-16 seems to be a good starting point for dendro datasets.

The original algorithm was written in ALGOL. I do not claim this is an efficient implementation of it, or that it is correct, or even that I understand it. I copied the ALGOL into Java, and twiddled with it until it seemed to work. If there is a newer algorithm or implementation available, I will be happy to use it.

Version:
$Id: CubicSpline.java,v 1.2 2002/04/29 14:36:30 bitpoet Exp $
Author:
Ken Harris

Fields inherited from class corina.index.Index
data, msg, source
 
Constructor Summary
CubicSpline(Sample s)
          Create a new cubic spline.
 
Method Summary
 int getID()
           
 String getName()
          The name of this index.
 void index()
          Compute the cubic spline.
 
Methods inherited from class corina.index.Index
addEdit, apply, canRedo, canUndo, die, getChi2, getData, getPresentationName, getR, getRedoPresentationName, getScale, getStart, getTarget, getUndoPresentationName, isSignificant, redo, replaceEdit, run, setProxy, toString, unapply, undo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CubicSpline

public CubicSpline(Sample s)
Create a new cubic spline.
Parameters:
s - the Sample to index
Method Detail

index

public void index()
Compute the cubic spline.
Overrides:
index in class Index

getName

public String getName()
The name of this index.
Overrides:
getName in class Index
Returns:
the name of this index

getID

public int getID()
Overrides:
getID in class Index