Icy plugins API doc

Hello the Icy team,

About scripting in ICY, I explored a bit the ICY core API, and I was wondering what libraries are advised for routine image-processing operations like thresholding, blurring…

I have seen that some librairies can be installed like ezPLug SDK for GUI, or spot detection utilities.

Unfortunatly, the link to the ezPlug SDK API is not functional :disappointed_relieved:
What about the spot detector ?
Is there some API doc for this one too ? or is it advised to open the source code from the jar in Eclipse ?

It seems like Alexandre Dufour changed his github account name at some point (?).

The repository that used to be behind the http://adufour.github.io/EzPlug/doc/ link can be found here:

FWIW, I invited Alexandre to this forum topic.

2 Likes

Hey @LThomas,

I also explored and exploited the Icy API recently. Actually, I found out most things via reverse-engineering. Thus, if you have specifc questions, just ask, I might have spent a lot of time earlier on it and might know the answer already. :wink:

And thanks for the link @imagejan!

Cheers,
Robert

2 Likes

Just for completeness, the Icy core API can be found here (in case others interested in this are reading this topic):

https://javadoc.scijava.org/Icy/

1 Like

Hi everyone,
Glad to see the show going on :wink:
Afair, we never went to the point of bulk generating a javadoc for all known plugins, this wasn’t in our top priority list, but surely this could be done.

Regarding spot detection, there are a few resources directly on the plugin’s webpage, and also on the few scripts online that already make use of the API.

As a last resort (that applies to any poorly documented plugin), you can indeed unzip the jar and check out the source code, or simply import the jar itself and use the autocomplete from eclipse to browse through the packages. They all should start with “plugins.” Plus the id of the developer.

Keep it rockin’

3 Likes

Oh, and the actual javadoc webpage is accessible here:

http://drdaleks.github.io/EzPlug/doc/index.html

2 Likes

To answer my own question, 3 options when coming from the ImageJ/Fiji world:

  • using ImageJ1 (see converter functions between Icy and ImageJ1 type in section icy>ImageJ>ImageJUtil of the ICY API.

  • using ImgLib2

  • or CLIJ

but also

Now I understand why Icy is not shipping additional processing classes :stuck_out_tongue:
Let the show begin !

1 Like

Now that’s for an interesting debate :wink:
Icy’s ancestor was a pure monolith, and although it did have some plugin architecture, it wasn’t as flexible as we wanted it to be. So we sort of went the total opposite way (making the kernel as light as possible), and yet with a priority focus on the GUI (which is the one thing that clearly stands out from the competition). Therefore you could bring your own threshold algorithm without us favoring some “default” algorithm (type of data, streaming, etc.).
Surely there are advantages and caveats to both approaches, so the philosophy landscape gets better coverage overall :grin:

2 Likes

Or use BoofCV

1 Like

For this latter one, I cant find any info about its use in ICY.
It seems currently that one cant install it as a plugin as straightforwardly as the others

1 Like