2016-12-20 - Fiji + KNIP hackathon

Revision as of 14:52, 10 February 2017 by Eglinger (talk | contribs) (Klim Kolyvanov: fix links)

From Tuesday, December 6, 2016 through Friday, December 16, 2016, the Max Planck Institute of Molecular Cell Biology and Genetics hosted ~20 developers at their facility in Dresden, Germany for a hackathon to develop ImageJ2 and Fiji core infrastructure and plugins.


The following chart illustrates when everyone was present:


Hackathon progress

Tim-Oliver Buchholz

  • Participated in technical discussions about ThreeDViewer, BigDataViewer and the next generation of viewers used in KNIME Image Processing.
  • Participated in discussions about ImageJ Ops based feature extraction.
  • Worked on the integration of the BigDataViewer as new standard viewer in KNIME Image Processing.

Ulrik Günther

Robert Haase

  • Participated in discussions about Fiji release cycle and ImageJ Ops based feature extraction
  • Bugfixed a tool for visualising Meshes in the good old 3D Viewer which were derived from ArrayList<RandomAccessibleInterval<BoolType>>s as an intermediate solution until the ThreeDViewer is ready.
  • Built an ImageJ-Ops based particle analyser, which will in the future allow processing 3D images in a way like 2D images were processed using the good old Particle Analysis tool
  • With Matthias Arzt, Florian Jug, and Curtis Rueden we launched the work on a PlotService for ImageJ2.

Kyle Harrington

  • Participated in technical discussions, especially those focused on the next generation ThreeDViewer
  • Finished integrating imagej-ops usage into Funimage (see Funimage#26)
  • Unifying Mesh data structure from ops with imagej-mesh file loading with Richard Domander
  • More ThreeDViewer enhancements

Florian Jug

Curtis Rueden

Tobias Pietzsch

  • With Jean-Yves Tinevez, worked on Mastodon/TrackMate3, in particular the unified handling of adapter views onto the main tracking model.
  • With Stephan Saalfeld, worked towards integration of caching mechanisms into unified scijava/imglib2 cache; generalization of BigDataViewer cache.
  • Added support in ui-behaviour for triggering multiple behaviours in parallel.
  • Documented ui-behaviour configuration syntax
  • Assisted with various BigDataViewer-related projects.

Patrick Winter

  • Improvements to KNIME SLURM integration:
    • Many bugfixes (specifically for the use of image processing workflows)
    • Implemented status view for more detailed information about the state of running jobs
  • Got KNIME SLURM integration to run with the MPI-CBG Dresden cluster
  • Achieved significant speed ups by running parts of an image processing workflow on the cluster


  • With Tobias Pietzsch, worked on Mastodon/TrackMate3, in particular view colouring by numerical features calculated on a model.
  • With Tobias Pietzsch,extended the MaMuT so that it can be used for 2D over time properly.

Christian Dietz

  • With Marcel Wiedenmann, worked on processing of very large images in ops
  • With Tim-Oliver Buchholz, worked on BDV integration in KNIP

Klim Kolyvanov

  • Implemented the non-rigid coherent point drift algorithm using la4j.
  • Pushed forward the implementation of the radial symmetry plugin for ImageJ.
  • Worked on tracking of C.elegans cells.

Technical discussions

Programmers Anonymous

  • Robert is addicted to ImageJ.
  • Ulrik can only do snapshot releases.
  • Florian is doing too much at once... at least he has a car! (Yes Klim, you can join...)

Stable releases of Fiji

  • We agreed to cut a stable release of Fiji once every six months.
    • Florian Jug will manage the releases, both socially and technically.
    • Robert Haase will update the Updater to more clearly communicate the ramifications of updating.
    • Curtis Rueden will create Jenkins jobs for automating cutting of stable release candidates and releases.
  • We agreed to continue pursuing the "melting pot" builds of Fiji and/or the SciJava universe, to better detect cross-component regressions and incompatibilities.

3D viewers in ImageJ and Fiji

  • We discussed how best to proceed with the ThreeDViewer, BigDataViewer et. al.
  • Roughly the idea is (we previously discussed this at the 2016 summer Konsanz hackathon):
    • 4 viewer panels (number of panels is convenience not hard coded): X-Y, Y-Z, X-Z, and 3D. Viewer panels have sliders for time and other dimensions
    • Control panel with selection of attributes that can be synced between viewer panels, but can also be used for independent control of viewer panels
    • BDV provides orthogonal views
    • Viewer panels have overlays: minimaps, intensity, etc.
    • ROI overlays can also be provided
    • Panels are just JPanels
    • Tobias Pietzsch says most of the backend has already been developed in BDV
    • ThreeDViewer should reuse more of BigDataViewer's UI components
    • GUI tools/widgets will go into scijava-ui-swing
    • Ulrik Günther will continue to develop Scenery for the core 3D rendering functionality