An exponential curve fitting library used for Fluorescent Lifetime Imaging (FLIM) and Spectral Lifetime Imaging (SLIM).
SLIM Curve is developed by Paul Barber and the Advanced Technology Group at the Cancer Research UK and Medical Research Council Oxford Institute for Radiation Oncology at the University of Oxford, as well as the Laboratory for Optical and Computational Instrumentation (LOCI) at the University of Wisconsin-Madison. SLIM Curve is used for FLIM functionality in the Advanced Technology Group's Time Resolved Imaging (TRI2) software, as well as in the SLIM Curve plugin for ImageJ.
SLIM Curve is an open source project licensed under the GNU General Public License v3 or later.
The SLIM Curve library code is written in C89 compatible C and is
thread-safe for fitting multiple pixels concurrently. Several files are
provided as wrappers to call the library from Java code:
.h provide a subset of
f/unction calls used by the SLIM Curve ImageJ plugin, these may be invoked
directly from Java using JNA. In addition there is a Java CurveFitter
project that provides a wrapper to the SLIM Curve code. This invokes the
C code using JNI, with
TRI2 is a Windows application that uses SLIM Curve to analyze fluorescence lifetime microscopy (FLIM) data.
Originally named 'Time Resolved Imaging', TRI2 not only incorporates processing for time-domain FLIM data but also for RGB spectral unmixing, foci counting and other batch processing, formatting, printing and export functions. It's all built on a 'workspace' framework to make it easier to try out different processing functions on images.
The time-resolved image processing functions still remain the core of the program and Levenberg-Marquardt fitting routines are implemented for multiple lifetime extraction. Novel Bayesian functions are under development.
The core fitting routines from TRI2 are now open source in the SLIM Curve library. These include RLD, Levenberg-Marquardt and non-negative least squares. The library is written in C but has wrappers for Java.Read more »
The SLIM Curve plugin for ImageJ provides the ability to analyze FLIM and SLIM data within ImageJ, using the SLIM Curve library. The plugin can be installed into the Fiji distribution of ImageJ simply by enabling the "SLIM Curve" update site. Features include:
- Fit individual pixels, entire images per-pixel, or do single fits for entire images, using SLIM Curve's rapid lifetime determination (RLD), Levenberg-Marquardt (LM) or hybrid (RLD+LM) fitting algorithms
- Single, double and triple exponential fits, as well as stretched exponential fits
- Gaussian, Poisson and Maximum Likelihood Estimation noise models
- Produce one or several fitted images depending which parameters (A, τ, Z, χ2) are chosen for visualization
- Full control over the start and end fit cutoffs known as "cursors"
- Several binning options to reduce noise when fitting per-pixel
- Support for so-called "excitation" or "prompt" files containing a recorded system response function to be convolved with the exponential fit
- Export numerical results to text format for further analysis outside ImageJ
- Batch processing support for analyzing many lifetime images as part of an ImageJ macro or scripting workflow