[ImageJ-devel] ImageJ - KNIME Integration: open questions

Michael Zinsmaier michael.zinsmaier at gmx.de
Wed May 15 08:08:10 CDT 2013

Hi all,

after you guys have made so much progress during the hackathon, we felt 
motivated to review ourKNIME-ImageJ2 integration and try to further 
improve it, as we want to have everything set-up when you release 
ImageJ2 ;-)

Anyway, we discussed several things and a lot of questions came up 
concerning ImageJ2:

* The previewcheckbox in many dialogsis a bit problematic for us because 
(at the moment) we cannot support it
properly. We usethe ImageJ2 dialog building tools and thus always get a
preview checkbox if the plugin supports this. Would it be possible to 
add a flag that
surpresses previews checkboxes during dialog building?

* Why is the threshold plugin an interactive command? This for instance 
prevents the plugin from  beeing executing in headless mode (and hence 
from appearing as a KNIME node), which might be desirable in some use  

* Dynamic Commands: is there a way to determine if a command is dynamic?
   Currently wedo it via an instanceof-check which was commented with 
(probaby by Curtis):
           // SO UGLY! TODO: add API to ModuleInfo to query whether the 
module has
         // dynamically generated inputs and outputs (isStatic? isDynamic?)

* In KNIME we are currently loading all available plugins in the 
classpath which are headless executable. But therewith plugins like 
"Help", "Easteregg", "LoadDataSet" will appear as KNIME nodes as well. 
However they can't do anything useful in the KNIME context (as they are  
ImageJ2 specific). Are you planing to re-organize the plugins, e.g. such 
that plugins, which are interesting for any application reside in their 
own jar-file?

* Will the package path of the plugins be stable after ImageJ2 1.0.0 was 

*Are there  plans how the "dimension selection" will be integrated into 
ImageJ2,  i.e. how algorithms can be run on arbitrary dimensions? 
(Mapping from  AxesNames to indicies of dimensions in images). Can we 
help here?(see Doc hackathon!?)

* ROIs: Are there plans to support Labelings in ImageJ2? Or will 
Labelings somehow be replaced in the future?
*In thecurrent snapshot (compared to beta6) some functionalitywas 
movedfrom  ImageJ to sifio / scijava (e.g. the Services). Regarding this 
some questions:
   - Is "new ImageJ(services...)" replaced by"new Context(...services)"?
- How can we query the ImageJ version? (previously ImageJ.VERSION)
   - the log level system property "System.setProperty("ij.log.level", 
seem to  work any more can you confirm this?
   -The services seem to have some  ordering requirements now, we had to 
ModuleService behind  MenuService in the constructor call to avoid a 
null pointer during
initialization (onEvent(ModulesAddedEvent) was called before 
initialize). Is there a defined
     service order?
((So far, we have tons of ideas where we could do more things together. 
Thank you in advance for answering all these questions ;)))


Martin, Christian and Michael Z.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20130515/b02e4bbe/attachment.html>

More information about the ImageJ-devel mailing list