2016-12-20 - Fiji + KNIP hackathon

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.

Timeline

The following chart illustrates when everyone was present:

Gallery

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

JeanYvesTinevez

  • 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.

Carsten Haubold

  • With Tobias Pietzsch, added a loader for 5D ilastik HDF5 volumes for BigDataViewer
  • Worked on a prototype for a tracking export plugin system within ilastik to talk to MaMuT

Jonas Massa

HongKee Moon

  • Separated BigDataServer into two versions. One is SimpleBigDataServer which can be launched by adding xml datasets in the command line. The other is (Advanced) BigDataServer which is running with H2 DBMS backend.
  • ER design is completed with Tobias Pietzsch.
  • (Advanced) BigDataServer
    • H2 DBMS integration is completed.
    • User/Dataset/Tag/Annotation entity relationships are decided and made in the hackathon.
    • DataSets are managed as either private or public according to users.
    • Manager context is still supported as well as user management is possible there.
    • Each user can share private datasets with other users.
  • SimpleBigDataServer
    • This is almost same as the previous command line based BigDataServer.
  • Technical notes
    • Upgraded the stringtemplate with v4(org.stringtemplate.v4.ST) which is getting powerful for templating strings for HTML tables.
    • By using AJAX, database CRUD operations are carried in a responsive way.
    • Realized how important JDBC database connection pool is.


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