Skip to content
Dasong Gao edited this page Oct 16, 2019 · 9 revisions

The FLIMLib Projects

FLIMLib-related code is currently split into several repositories:

  • Main project C code;
  • Java code for calling FLIMLib via SWIG (formerly JNI and, before that, JNA);
  • Standalone executable wrapper for the library;
  • Code to call FLIMLib from MATLAB.

The flimlib repository houses the main C library of curve fitting algorithms. The goal is for common mathematical routines to live fully in C, and be shared between TRI2 and the ImageJ plugin. While we have made an effort to achieve that ideal, there is still some algorithmic development going on in TRI2, which hasn't yet "trickled down" to FLIMLib. But we can move code from TRI2 to FLIMLib on an "as needed" basis if users request a particular feature of TRI2 within the FLIMJ plugin.

  • Curve fitting plugin for ImageJ; supports the most used fitting functions of flimlib;
  • Ops that allows fitting to be done with scripting under the ImageJ Ops framework.
  • A GUI-equipped Fiji driven by flimj-ops.
  • "Time Resolved Imaging" application for Windows, developed at the Gray Institute;
  • Much of FLIMLib's code was derived from work originally done as part of TRI2.

Some eventual future goals:

  • More comprehensive runtime error checking for FLIMLib function calls;
  • Batch processing in the UI;
  • Better visualization of fit statistics in the UI.

Related software

  • Code for loading native libraries out of JAR files.

The SciJava Native Lib Loader library unpacks and loads native libraries out of JAR files. Native code doesn't need it, but the Java interface of FLIMLib uses it to access the C library.