Skip to main content

SLIMPlugin: Spectral Lifetime Imaging Plugin

Posted in
History: 

SLIMPlugin is an ImageJ plugin to analyze Spectral Lifetime Imaging data.

It is also a testbed for developing a SLIMCurve curve fitting library based on code from Paul Barber's TRI2 software.

It is partly based on SLIMPlotter developed by Curtis Rueden and Eric Kjellman.

It currently supports Janne Holopainen's L-M fit package which is used in SLIMPlotter.

The current user interface and capabilities are to be improved upon.

Limitations: 
SLIMPlugin is an experimental work in progress. Currently the only fitting algorithm implemented is "Jaolho LMA", which is Janne Holopainen's L-M fit package, linked above. To do actual analysis work at present, consider using TRI2 (Windows only) or SLIMPlotter, linked above.
Requirements: 
Requires CurveFitter jar
Installation: 

SLIMPlugin and CurveFitter can be built from source code.  (CurveFitter is here.)  Alternately the jars curve-fitter-1.0-SNAPSHOT.jar and slim-plugin-1.0-SNAPSHOT.jar can be downloaded from the LOCI Maven repository. here and here.

To install in ImageJ copy both jars to the plugins directory.

SLIMPlugin currently supports lifetime data in Becker and Hickl's .sdt file format.  When SLIMPlugin is installed and these files are opened in ImageJ the SLIMPlugin should automatically pop up.  (If alternate lifetime analysis plugins are installed in the future, a menu will appear with a choice of which plugin to invoke.)

When the plugin starts it generates a grayscale view by summing all of the lifetime data for each pixel.  See the first screenshot. If there are multiple channels a channel slider will appear.

The second screenshot shows the UI that pops up.

The settings in the first column are concerned with the type of fit and analysis required:

    'Region' governs what region should be fitted.

        'Each Pixel' fits every pixel.  However if there are ROIs selected in the ImageJ ROI manager only pixels within the ROI will be fitted.  The 'Threshold' setting (see below) skips pixels with low photon count.

        'Sum All" sums the photon counts for every pixel.

        "Sum Each ROI" sums the photon counts for each ROI in the ROI manager.

        "Single Pixel" fits a single pixel.  The 'X' and 'Y' settings (see below) select which one.

    "Algorithm" allows selection of an implementation of a curve fitting algorithm.  "Jaolho LMA" should be used for now.

    "Function" allows selection of a function to fit.  "Single Exponential" should be used for now.  Double and triple exponential functions as well as a stretched exponential function will be available.

    "Analysis" runs some analysis of the fitted results.

        "None" is the default.  The plugin currently shows a "Fitted Lifetimes" image colorized by fitted lifetimes to show the progress of the fit.  There is also a "Colorize" window that shows the colorization scheme.

        "VisAD" runs the VisAD Plugin on the results.

        "Display Fit Results" displays fit results for multiple channels and various parameters in a new window.  A separate dialog will pop up after the fit is finished.

        "Export to Text" writes out the fit results as a text file for further analysis.

    "Fit all channels" governs whether to fit just the currently displayed/selected channel or to fit all of the channels.

The second column has setting that control the fit.

    "X" and "Y" are used for a single pixel fit.

    "Start" and "Stop" govern the starting and ending bin to fit.  The "Fitted Decay Curve" that shows single pixel or summed results has bars that may be dragged to set this settings on the decay curve.

    "Threshold" allows pixels with low photon counts to be skipped from the fit.  The value is compared with the value in the grayscale view.

    "Bin" allows 3x3 and 5x5 binning schemes to be selected.

The third column shows the fitted parameters.  The actual fields vary according to the 'Function' selected.

    "A", "tau", and "C" are the fitted parameters for a single component exponential fit.

    "Fix" checkbox allows these parameters to be fixed during the fit.

    "Chi square" reports the chi square value for a single pixel or summed fit.

    "Use as starting parameters for fit" allows the starting guess for the fit to be specified by these fields for all pixels.  When it is unchecked the previous parameters for each pixel are used as starting guesses for the fit for each pixel.

Screenshots: