Skip to content
This repository has been archived by the owner on Oct 20, 2023. It is now read-only.
/ flimj-ops Public archive
forked from flimlib/flimj-ops

ImageJ Ops plugins for fluorescence lifetime image analysis

Notifications You must be signed in to change notification settings

UCL-MIRSG/flimj-ops

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

flimj-ops

FLIMJ Ops are a collection of FLIM analysis ops based on FLIMLib. It extends the single-transient fitting functions in FLIMLib to dataset-level fitting ops. Currently supported fitting ops include: RLD, MLA, Global, Phasor, and single-component Bayesian.

Besides curve fitting, FLIMJ Ops also provide a variety of pre-processing options such as pixel binning, intensity thresholding, ROI masking as well as post-processing utility ops for e.g. calculating τm (mean lifetime), Ai% (fractional contribution) and pseudocoloring the result with LUT.

Most of the FLIMJ fitting ops supports multithreading. Fitting a dataset like the one below takes no more than a couple of seconds!

Add https://sites.imagej.net/FLIMJ/ update site on the Update manager

Example usage

Open test2.sdt in Fiji. Execute in Script Editor as Groovy:

# @ImageJ ij
# @ImgPlus img

op = ij.op()

// set up parameters
import flimlib.flimj.FitParams

param = new FitParams()
param.transMap = img; // input 3-dimensional (x, y, t) dataset
param.xInc= 0.040     // time difference between bins (ns)
param.ltAxis = 2      // time bins lay along axis #2

// op call
fittedImg = op.run("flim.fitLMA", param).paramMap

// display each parameter
zImg = op.transform().hyperSliceView(fittedImg, param.ltAxis, 0)
AImg = op.transform().hyperSliceView(fittedImg, param.ltAxis, 1)
tauImg = op.transform().hyperSliceView(fittedImg, param.ltAxis, 2)

ij.ui().show("z", zImg)
ij.ui().show("A", AImg)
ij.ui().show("tau", tauImg)

Output (z in [-1, 1], A in [0, 4], tau in[0, 3]):

example outputexample outputexample output

See more examples in Demo.ipynb and groovy.md.

Using from a Java project

To depend on FLIMJ Ops, copy the following to your pom.xml:

  <properties>
    <flimj-ops.version>2.1.1</flimj-ops.version>
  </properties>

  <dependencies>
    <!-- FLIMJ Ops dependency -->
    <dependency>
      <groupId>flimlib</groupId>
      <artifactId>flimj-ops</artifactId>
      <version>${flimj-ops.version}</version>
    </dependency>
  </dependencies>

See also

Citation

Comming soon...

About

ImageJ Ops plugins for fluorescence lifetime image analysis

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 96.3%
  • Java 3.7%