Public project portfolio for Paul Kienzle
Projects
- Bumps (source, docs)
- For uncertainty analysis in modeling and inverse problems, Bayesian analysis
using Markov Chain Monte Carlo is an effective black box procedure. Define
your cost function as a probability distribution and MCMC can pull a sample
from the multidimensional probability density function which you can use to
get information about confidence intervals and parameter correlations. The
Bumps package was developed to provide fitting and uncertainty analysis for
Refl1D, but has since been used for fitting problems in other domains such as
triple axis spectometry.
- Refl1D (source, docs)
- Much of my work at NIST has been in reflectometry
analysis, which allows users to reconstruct the depth profile of a sample
from the measured reflection.
- SasView (source)
- Contributor to the SasView project, primarily creating small angle scattering
models written in C to be run on CUDA and OpenCL enabled computers. We try
to maximize performance on commodity hardware while preserving accuracy.
In addition to tuning the code, this sometimes requires numerical analysis
to improve the accuracy, allowing the models to be computed with single
precision floating point values. Supporting a very broad range of graphics
cards requires automated testing as well careful programming
to work around the idiosyncracies in the compilers and libraries
provided by the different hardware vendors.
- Periodic Table (source, docs)
- There are many large data sets associated with nuclei and ions in the
periodic table. No one application needs all of them, but they can all
share the basic infrastructure. The periodic table package is a
periodic table written in python which allows third party extensions which
add attributes to the element, isotope or ion to be independently managed
and installed. It includes a chemical formula calculator, but stops short
of structural representations of molecules. This is the engine behind
the SLD and neutron activation web page (below).
- Neutron calculator (source, app)
- This is a web service for evaluating This is the computation engine
behind the NIST scattering length density and neutron activation calculator.
The research reactor at Munich has a separate
activation and
scattering
interface, also based on periodictable.
- Reductus (source, app)
- For some many kinds of science the raw data needs to be transformed
through multiple steps and combined with other information to bring it
to a state where it can be modelled. We developed a package which
allows us to do this on the web. We are using a visual programming model
which allows us to wire together the transformations. My contributions to
this has primarily been to the backend infrastructure.
- Darkfield calculator (source)
- A tool for estimating the darkfield intensity for a neutron interferometer.
This is part of the the NIST
INFER
project. Using a dark-light fringe pattern you can estimate the transmission through
a sample as well as its small angle scattering by looking at the reduction
of amplitude and visibility of the fringes.
- Octave-forge (source)
- I made major contributions to the early octave-forge project, gathering
contributions from the community and my own code into a set of independently
installed third party packages for Octave. I have not been active in
this community since 2005, but code lives on, for example in the signal toolbox
and the testfun unit testing framework in GNU Octave.
- Personal projects (source)
- Being personal these will be of minimal interest to you, dear reader.
This page is hosted here, as well as my early
experiments with python.
Publications
Publications are listed on google scholar