Hi Roxanne,
You raise a very interesting point (we actually had a long discussion about this recently in the lab).
Short answer: you can call any plugin/macro using the "Call IJ plugin" and "Call IJ
macro" blocks, however, getting a return value from these plugins/macros back into Icy
is more tricky (but not impossible).
(if you don't care about technical details, you may directly skip down to the attached example)
In more details: All ImageJ plugins/macros run natively via the embedded ImageJ inside Icy (no problem here). However, the return values of plugins/macros can be both multiple and diverse (image(s), numbers, text files, you name it), and accessing those results is not easy (ImageJ itself has the same problem if you don't do a little scripting manually in the editor). Currently, Protocols can call plugins that take an ImagePlus as input (perhaps also some parameters) and modify the given ImagePlus directly (this is the standard behavior of plugins of type 'PlugInFilter'). It can potentially call any other plugin or macro, but whatever comes out of these plugins is not known by the protocol, and therefore cannot be fetched back (without some scripting that is). We are trying to work on this and find other ways to access ImageJ data, and I'll keep this thread updated when things move on.
Example: In the following protocol, I am converting an Icy sequence into an ImagePlus, applying a median filter on the ImagePlus and converting the filtered ImagePlus back into Icy for display. As you can see, the input ImagePlus is overwritten by the plugin (this is a PlugInFilter), therefore I just need to convert the overwritten input back into Icy. This would not have been possible with a plugin that returns the result in a newly created ImagePlus.
This protocol is published on the website here:
http://icy.bioimageanalysis.org/protocol/Median_filter_via_ImageJIn order to go further, could I ask you to describe in more details the plugins you wish to use within your protocol? that could give us a better idea of what is missing and where we should work first.
Thanks,
Alexandre
