Edit page History

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.


    The following chart illustrates when everyone was present:

    Preset = TimeHorizontal\_AutoPlaceBars\_UnitYear ImageSize = width:600 Colors = ` id:c01 value:blue` ` id:c02 value:red` ` id:c03 value:green` ` id:c04 value:black` ` id:c05 value:magenta` ` id:c06 value:teal` ` id:c07 value:yelloworange` ` id:c08 value:skyblue` ` id:c09 value:claret` ` id:c10 value:oceanblue` ` id:c11 value:purple` ` id:c12 value:powderblue` ` id:c13 value:coral` ` id:c14 value:redorange` ` id:c15 value:kelleygreen` ` id:c16 value:orange` ` id:c17 value:lightpurple` ` id:c18 value:tan2` ` id:c19 value:gray(0.3)` ` id:c20 value:blue` ` id:c21 value:red` ` id:c22 value:green` ` id:c23 value:black` ` id:c24 value:magenta` ` id:c25 value:teal` ` id:gridLine value:gray(0.5)` ` id:gridCanvas value:gray(0.8)` BackgroundColors = canvas:gridCanvas Period = from:6 till:17 ScaleMajor = unit:year increment:1 start:6 grid:white LineData = ` at:6 color:gridLine layer:back width:0.5` ` at:7 color:gridLine layer:back width:0.5` ` at:8 color:gridLine layer:back width:0.5` ` at:9 color:gridLine layer:back width:0.5` ` at:10 color:gridLine layer:back width:0.5` ` at:11 color:gridLine layer:back width:0.5` ` at:12 color:gridLine layer:back width:0.5` ` at:13 color:gridLine layer:back width:0.5` ` at:14 color:gridLine layer:back width:0.5` ` at:15 color:gridLine layer:back width:0.5` ` at:16 color:gridLine layer:back width:0.5` ` at:17 color:gridLine layer:back width:0.5` BarData= ` barset:Hackers` PlotData= ` width:15 ` ` fontsize:M` ` textcolor:white` ` align:left ` ` anchor:from ` ` shift:(4,-4) ` ` color:black` ` barSet:Hackers` ` color:c01 from:12 till:17 text:"Curtis Rueden (LOCI)"` ` color:c02 from:11 till:17 text:"Christian Dietz (KNIME/UniKN)"` ` color:c03 from:11 till:16 text:"Patrick Winter (KNIME/UniKN)"` ` color:c04 from:9 till:17 text:"Marcel Wiedenmann (KNIME/UniKN)"` ` color:c05 from:9 till:16 text:"Tim-Oliver Buchholz (KNIME/UniKN)"` ` color:c06 from:6 till:16 text:"Matthias Arzt (MPI-CBG)"` ` color:c07 from:6 till:16 text:"Richard Domander (BoneJ/RVC)"` ` color:c08 from:6 till:16 text:"Ulrik Günther (MPI-CBG)"` ` color:c09 from:6 till:16 text:"Robert Haase (MPI-CBG)"` ` color:c10 from:6 till:16 text:"Philipp Hanslovsky (Janelia)"` ` color:c11 from:6 till:16 text:"Kyle Harrington (Uni-Idaho)"` ` color:c12 from:6 till:16 text:"Florian Jug (MPI-CBG)"` ` color:c13 from:6 till:16 text:"Klim Kolyvanov (MDC/BIMSB)"` ` color:c14 from:6 till:16 text:"HongKee Moon (MPI-CBG)"` ` color:c15 from:6 till:16 text:"Tobias Pietzsch (MPI-CBG)"` ` color:c16 from:6 till:16 text:"Loic Royer (MPI-CBG)"` ` color:c17 from:6 till:16 text:"Stephan Saalfeld (Janelia)"` ` color:c18 from:6 till:16 text:"Pavel Tomancak (MPI-CBG)"` ` color:c19 from:6 till:16 text:"Vladimir Ulman (MPI-CBG)"` ` color:c20 from:6 till:13 text:"Jean-Yves Tinevez (Pasteur)"` ` color:c21 from:6 till:10 text:"David Hörl (LMU, MDC)"` ` color:c22 from:6 till:9 text:"Carsten Haubold (HCI)"` ` color:c23 from:6 till:9 text:"Jonas Massa (HCI)"`

    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>s as an intermediate solution until the [ThreeDViewer](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 maarzt , 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 rimadoma

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

    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.
      • Curtis Rueden will research effective approaches for running the melting pot via CI.
      • Core maintainers (esp. Tobias Pietzsch and Stephan Saalfeld ) will run the melting pot manually to vet its usefulness and correctness.

    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
      • skalarproduktraum will continue to develop Scenery for the core 3D rendering functionality