FLIMJ / SlimCurve upate site?

Dear forum,

I’d like to test some plugin to analyse FLIM images. However I don’t know where to start because it seems there is currently a plugin change. There is a SLIM Curve update site:

However there’s also a FLIMJ update site mentioned, which if I understand correctly, is the new 'SLIM-Curve`:

But I can’t find the FLIMJ update site within FIJI.

Any idea anybody ?

Maybe @ctrueden ?

Cheers,

Nico

1 Like

Extra question : can SLIM Curve work with PicoQuant TCSPC (ptu) files ?

ping @Xanthorapedia

1 Like

Ah, yeah, sorry about that! @Xanthorapedia wrote a whole new version of the plugin and we released version 1.0.0, but I did not upload it to the new FLIMJ update site! I have now done that.

We did not announce yet because it does not work correctly on macOS yet. Two reasons for that:

  1. There is currently a deadlock bug on macOS. We have not had time to investigate and fix it yet.
  2. The FLIMJ UI uses JavaFX, but the macOS version of Fiji ships with AdoptOpenJDK without OpenJFX. I need to fix this, but for now as a workaround you can use a different JVM (I recommend the “JDK FX” from Zulu available here, which is what I hope to start shipping with Fiji soon for all supported platforms).

FLIMJ may already work on Linux and Windows (I did not test, but I know @Xanthorapedia has previously done so). Please report back your experiences!

The old SLIM-Curve plugin is also still available, but now unsupported.

FLIMJ and SLIM-Curve support whatever SCIFIO and Bio-Formats support. I could be wrong, but I don’t think those libraries support ptu files yet, unfortunately. No harm in trying, though. It looks like Bio-Formats does support PicoQuant’s bin format, if that is an option for you.

Also: even on macOS, the flim ops are available:

>>> op.ops().findAll{o -> o.startsWith("flim.")}.forEach{o -> println("\n[$o]\n${op.help(o)})}")}

[flim.calcTauMean]
Available operations:
	(Img out) =
	flimlib.flimj.DefaultCalc$CalcTauMean(
		FitResults in))}

[flim.fitBayes]
Available operations:
	(FitResults out) =
	flimlib.flimj.DefaultFitRAI$BayesSingleFitRAI(
		FitParams in,
		RealMask roi?,
		RandomAccessibleInterval kernel?))}

[flim.fitGlobal]
Available operations:
	(FitResults out) =
	flimlib.flimj.DefaultFitRAI$MLAGlobalFitRAI(
		FitParams in,
		RealMask roi?,
		RandomAccessibleInterval kernel?))}

[flim.fitMLA]
Available operations:
	(FitResults out) =
	flimlib.flimj.DefaultFitRAI$MLASingleFitRAI(
		FitParams in,
		RealMask roi?,
		RandomAccessibleInterval kernel?))}

[flim.fitPhasor]
Available operations:
	(FitResults out) =
	flimlib.flimj.DefaultFitRAI$PhasorSingleFitRAI(
		FitParams in,
		RealMask roi?,
		RandomAccessibleInterval kernel?))}

[flim.fitRLD]
Available operations:
	(FitResults out) =
	flimlib.flimj.DefaultFitRAI$RLDSingleFitRAI(
		FitParams in,
		RealMask roi?,
		RandomAccessibleInterval kernel?))}

[flim.showPseudocolor]
Available operations:
	(Img out) =
	flimlib.flimj.DefaultDispRslt$Pseudocolor(
		FitResults in,
		Float cMin?,
		Float cMax?,
		Float bMin?,
		Float bMax?,
		ColorTable lut?))}

See also the flimj-ops demo notebook:

https://nbviewer.jupyter.org/github/flimlib/flimj-ops/blob/flimj-ops-1.0.0/notebooks/Demo.ipynb

3 Likes

Thanks for @ctrueden’s reply. I have updated the demo notebook to reflect recent changes:


If you really want to try out the latest (unstable) version of the incoming plugin on Windows, you may access it from my personal update site:
https://sites.imagej.net/Xanthorapedia/
which will be discontinued once we have an official FLIMLib site. Suggestions are welcomed!

Otherwise, feel free to stick to the old plugin.

3 Likes

Thanks for pointing to this illustrative demo notebook. It’s a great resource!

Is there a specific reason why the name of the Levenberg-Marquardt Algorithm op is fitMLA instead of fitLMA? In the explanations, you also use the acronym LMA.

@imagejan Ah, catch! I believed that was due to that at some point in time we decided to stick to the MLA acronym as in either the previous slim-curve or slim-curve-plugin to keep the API consistent. However, I just did a quick search but could not find any “MLA” in those repos.

So it’s actually a typo.

I used LMA in explanation and flimj-ui because I think this would be the appropriate acronym. Now since making API consistent is not a reason for keeping the “MLA” acronym, I have changed all occurence to “LMA”:

Thanks again for bringing this up!

2 Likes