Removing standard Fiji plugins

fiji
imagej

#1

Hi all,

I was wondering if anyone had any advice, experience or thoughts on how to best go about removing standard plugins from Fiji.

Reason:

we are trying to use Fiji to batch process (ie --headless) some scripts for a radiology dept. We’re running Fiji on an AWS server to be invoked by the web server we’re running when needed.

this all works fine, except the startup time for Fiji is pretty large - about 8 seconds:sweat:. …the scripts themselves only take 2 seconds to run! Given we’re trying to make this real-time for radiologists etc to use, 2 seconds is ok to wait, but they’ve been unhappy with anything more than that.

playing around on my desktop machine (mac), removing everything (all .jar files) from /jars cuts the startup time from 5 seconds to 0.5 seconds!!!

So given the huge decrease in startup time, we’d like to do the same for the system running on AWS. …essentially have a minimal install to maximise startup time, as opposed to the std Fiji module of bundling everything and the kitchen sink into /jars and /plugins and taking big hit on startup time.

However, it’s been an impossible job to do so far on the AWS.

  1. Removing all jars from /jars doesn’t work. The --headless flag in that case will throw the cursed IJ java.awt.HeadlessException. (this was the same on my mac - removing all /jars .jar files was no problem, except if you tried to use --headless. But interactive/UI use is fine)
  2. Trying to figure out which specific one or set of the /jars .jar files is needed to stop it getting the above error has proved a no go so far
  3. Trying to start with the default set of installed .jar files, and then remove them in groups has proved hard so far, because of the convoluted dependencies between them (and trying to parse db.xml by hand isn’t fun)

I also looked into just installing IJ (not Fiji), but its a bit hard to follow the instructions for what you’re meant to do in this case from the download page (it’s mostly pushing everyone to not go that route, and use Fiji instead).

So has anyone got any experience with removing default modules/jars from Fiji?

Could someone say which specific .jar file in /jars it is that is used to stop/catch/prevent the java.awt.HeadlessException happening when you run with --headless?

thanks
Richard