From Wednesday, September 20, 2017 through Friday, September 28, 2017, Christian Birkhold (Dietz) of KNIME hosted ~20 developers at the KNIME Konstanz Regional Office for a hackathon to develop the KNIME Image Processing extensions along with the underlying ImageJ Ops library, as well as other related and/or supporting technologies such as Ilastik, ImgLib2 and BigDataViewer.
There was a big focus this time on machine learning, particularly deep learning networks applied to biological data.
Participants
- KNIME: Christian Birkhold (Dietz), Gabriel Einsdorf, Jon Fuller, Alexander Fillbrunn, Jonathan Hale, Martin Horn, Simon Schmid, Marcel Wiedenmann, Patrick Winter
- MPI-CBG Dresden: Florian Jug, Matthias Arzt, Tim-Oliver Buchholz, Tobias Pietzsch, Mangal Prakash, Deborah Schmidt, Vladimír Ulman, Benjamin Wilhelm
- Others: Jan Eglinger, Carsten Haubold, Stefan Helfrich, David Kolb, Klim Kolyvanov, Kevin Mader, Julianus Pfeuffer, Stephan Preibisch, Jonas Probst, René Rahn, Curtis Rueden
Hackathon progress
Curtis Rueden
- Worked with Stefan Helfrich on automating releases of SciJava components via Travis CI (1, 2, 3).
- Assisted Stefan Helfrich in improvements to the
imagej-maven-plugin
(1) - Reviewed and merged Matthias Arzt’s initial revamp of the SciJava log framework (1, 2).
- Reviewed and merged Jan Eglinger’s work adding a SciJava widget for
File[]
inputs (1, 2, 3). - With Jan Eglinger, began work on several related SciJava scripting enhancements (1).
- Helped Benjamin Wilhelm and Deborah Schmidt with ImageJ/TensorFlow integration and API improvements (PR(s) to
imagej/imagej-tensorflow
forthcoming). - With Christian Birkhold (Dietz), continued work on the next-generation SciJava Struct API, including an overhauled widget framework and Swing widget implementations (as of this writing, on an unstable branch of
scijava/scijava-ops
repository; see here for a written update with illustration of progress). - Helped Carsten Haubold set up his shiny new Ilastik-ImageJ integration with Travis CI and deploy it to the ImageJ Maven repository.
Florian Jug
- Worked on a KNIME workflow that starts IsoNet-type deep nets on a image column. Works well now, but we want to move tiled executions out from python and move it into KNIME (and also Fiji). This follow-up work will be performed by Deborah Schmidt and Benjamin Wilhelm.
- Received TGMM groin truth data an started working on Tr3d demo dataset.
- Started working on min cell-cycle constraints for Tr2d. This will make the ILP explode…
- Discussions with Curtis Rueden, Stefan Helfrich and Tobias Pietzsch about ImageJ Conference details for 2018.
Tim-Oliver Buchholz
- Worked on the Big Data Viewer GUI.
- Helped Matthias Arzt and Vladimír Ulman with KNIME Image Processing Node development.
- Fixed
DefaultDifferenceVariance
feature of the Haralick feature-set inimagej-ops
(1).
Benjamin Wilhelm
- Worked on CSBDeep Fiji Plugin.
- Added Overlap to TiledView PR in imglib2.
- Worked on API improvements in
imagej/imagej-tensorflow
with the help of Curtis Rueden. - Programmed KNIME Image Processing nodes which provied a loop over tiles of an image. See branch on GitHub.
Stefan Helfrich
- Worked on improvements to the
imagej-maven-plugin
(1, 2, 3) - Got Carsten Haubold, Matthias Arzt, and Vladimír Ulman started on integrating their SciJava Commands as KNIME nodes
- Reviewed PRs of
imagej-ops
(1, 2, 3, 4) - Looked into migration of algorithms from MorphoLibJ to Ops/ImgLib2
- Worked with Klim Kolyvanov on migrating an ImageJ 1.x plugin to a SciJava Command (and possibly Ops for computations)
- Fixed some bugs with respect to
@Parameters
(1, 2) - Paired with Curtis Rueden to push the cloud-based build and deploy infrastructure
Tobias Pietzsch
- Worked on imglib2 discrete regions framework (imglib2-roi branch “cleaned-up”, imglib-tests branch “roi”).
- Reviewed imglib2-roi Masks PR, and worked on revision/re-implementation of core interfaces and operators (imglib2-roi branch “troi”).
- Worked on reviewing and integrating “dynamic bookmarks” feature by Max Kleinhenz into BigDataViewer.
- Minor BigDataViewer features to help Tim-Oliver Buchholz with Big Data Viewer GUI.
Matthias Arzt
- Worked on revamp of the scijava logging framework.
- Worked on LoopBuilder, as tool for writing loops on images with imglib2.
- Got an introduction on KNIME Node development by Tim Oliver and Stefan Hilfrich
- Created a KNIME image processing plugin for image segmentation based on Labkit / Trainable Segmentation.
Technical discussions
- Fiji component and application releases: today and in the future (Curtis Rueden, Florian Jug, Tobias Pietzsch)
- Next stable release (December 2017) will still follow the ‘old’ way of doing things.
- In case the DFG grant comes in and we hired the 2 people they will start implementing the new way of cutting stable releases. This will be great!
- How to integrate ImageJ, KNIME and machine learning frameworks (particularly Keras and TensorFlow)