[ImageJ-devel] ImgLib2 + KNIME hackathon report

Curtis Rueden ctrueden at wisc.edu
Thu Dec 5 15:06:56 CST 2013


Hi all,

In mid-November, the ImageJ2 team at LOCI was visited by Christian Dietz of
the University of Konstanz, lead developer of the KNIME Image Processing
project [1]. We spent a week of intensely programming to improve the
integration of KNIME with ImgLib2 and ImageJ2.

Christian wrote up a summary of the topics covered and work performed:

IJ2 <-> KNIME bi-directional integration (goal: have something end of 2013)
* KNIME automatically generates Nodes from Plugins (DONE)
* IJ2 will be able to record KNIME Workflows (WIP)
* IJ2 runs KNIME Workflows Headless (WIP)
* IJ2 provides an update-site for OSGi wrapped bundles (WIP)
* KNIME can be updated using the IJ2 Update-Sites/FIJI-Personal
Update-Sites (WIP)

Come up with a plan for Algorithms/Experimental and make these suggestions
* Common code repository for plugins (scijava-ops)
* Started to define interfaces
* We need to reimplement / unify a lot of stuff
* General convolution/wrapping methods are needed
* Define coding conventions for imglib2-algorithms
* Define coding (social and technical) conventions for scijava-ops

Get a grip on descriptor sets
* Unified interfaces
* Now part of scijava-ops, using scijava-common

Discuss/Merge all open pull-requests ImgLib2 (Done)
* Projectors merged!
* WrappedImg merged!
* FlatIterableInterval merged!
* Mail sent to clean-up branches

SCIFIOCellImg with Memory Service
* Development branch: https://github.com/scifio/scifio/tree/cache-imps
* Refactored SCIFIOCells to cache via phantom reference instead of
finalization (done)
* Created MemoryService to manage a new RefHandler class of plugins and
provide configurable memory safeguards (done)
* Taking a test case of re-writing each pixel in a dataset, improved cache
performance from 59.6s write, 57.1s read to 35.2s write, 1.6s read (done)
* Two tests still failing unpredictably due to garbage collection reliance
(I think). As soon as these are fixed, the update SCIFIOCell/MemoryService
functionality will be released in SCIFIO 0.7.4.
* Integration to KNIME started but not finished (easy task, thanks Mark!)

Have a running real-life example at LOCI (or start setting one up) (Done)
* Working Examples running at LOCI (Tracking/Segmentation/Measurement)
* Two more potential projects for integration
* Anytime: Just ask Martin/Christian for any assistance or even send them
the images as they are happy to help with workflows
* Guide how to install KNIME Image Processing (DONE)

Overall, it was an immensely productive hackathon. For most of the "WIP"
items above, we have working code which just needs a little polish.

I will send out a separate email soon with more details on the scijava-ops
project.

Any other questions, feel free to ask!

Regards,
Curtis

[1] http://knime.imagej.net/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://imagej.net/pipermail/imagej-devel/attachments/20131205/7e43a3e6/attachment.html>


More information about the ImageJ-devel mailing list