This is the source distribution for the NCAR/EOL BSpline C++ library.
The BSpline package provides an implementation of a Cubic B-Spline method
devised by Vic Ooyama, and brought to our attention by James
Franklin. Franklin employed the B-Spline for general purpose filtering in
his dropsonde quality control processing program, known as editsonde.
NCAR used Franklin's code, and a paper published by Ooyama, to build this generic B-Spline class library.
See the COPYRIGHT file in the source distribution.
BSpline builds on Windows, Linux and Mac. Here are the build environments for each operating system:
- Windows: Microsoft Visual Studio 2005
- Linux: scons and g++
- Mac: scons and g++ (both provided by Xcode)
BSpline uses the Doxygen documentation system. Doxygen is not required to build BSpline, but if available it can be used to create html documentation.
- BSpline/
- Contains the source code to create a bspline library, and a header file to access the BSpline from your code.
- Tests/
- Contains several subdirectories with code for evaluating the code. The C++ directory is the only one that is currently compiled and known to work. The R directory contains code for plotting results using the R statistical langauge. The Fortran directory contains code for some unknown application.
- Design/
- Contains notes and and some original Ooyama code.
[Scons] (http://www.scons.org) is used to build BSpline.
BSpline is built by running scons in the top directory:
scons
This will create BSpline/libbspline.a and Tests/C++/bspline. The library
will contain float and double instantiations of the BSpline
templates.
A Visual Studio solution (bspline.sln) is provided for building the
same products.
The BSpline code is documented using the Doxygen embedded comments. Run
doxygen in the top directory, where it will find the Doxygen
configuration file:
doxygen
This will produce html formatted documentation in the doc/ directory.
Open doc/index.html with your favorite browser.
The generated documentation is also committed to the GitHub Pages for this project, so it can be viewed online:
Here are the steps to update the documentation in GitHub pages from the source tree:
In a clone of the bspline project, clone it again into a doc directory:
cd bspline
git clone git@github.com:NCAR/bspline.git doc
Checkout the gh-pages branch in the doc subdirectory.
cd doc
git checkout origin/gh-pages -b gh-pages
Generate the doxygen output into the doc directory:
cd ..
scons doc
Commit the changes to the gh-pages branch:
cd doc
git commit -a -m'generated updated documentation'