Page history Edit this page How do I edit this website?

Learnathon 2017

The first DAIS Learnathon took place from June 18 until June 24 2017.


See this page!

Setting up your system

Check if you have this set up:

  • Jupyter + the SciJava kernel (
    • Install Miniconda if you do not have installed it or Anaconda already. (We need the version for Python 3!)
    • Your .bashrc or .zshrc will need a line like this: export PATH="/Users/someforders/miniconda3/bin:$PATH"
    • Make a new conda environment and install jupyter and scijava-jupiter-kernel:

       conda create --name scijava python=3
       source activate scijava
       conda install jupyter
       conda config --add channels conda-forge
       conda install scijava-jupyter-kernel
    • Now (and in the future) you will have to activate the environment we just created: source activate scijava.
    • Deactivation would work like this: source deactivate
    • Get some notebook to try it out:

      git clone
      cd scijava-jupyter-kernel
      jupyter notebook
    • Execute cells by hitting shift+enter—enjoy!
  • Eclipse (Neon)
  • bash / zsh
  • GIT
  • Maven
  • Gitter

This can happen later:

  • imglyb (forget that for now)


Git repos to clone:

Slides online:

Ops practical

Write your first Command plugin!

  • Try to do it completely on your own, using Internet resources.
  • If you get stuck, click on hint links.
  • If still stuck, grab a teacher!

Details of your assignment:

  • Create a Git repository.
  • Create a Maven project. (hints: 1, 2)
  • Implement a Command plugin in your IDE, which calculates the mean across an image. (hints: 1, 2)
  • Push to GitHub (hints: 1, 2).

If you get that far, YOU WIN. Florian Jug has a reward for you.

Extra credit:

  • Grab fun snippets from the “Introduction to Ops” Jupyter notebook.
  • Integrate them into your command, to make it do fancier things.

How to create a new git repository

This is, from my (Hanslovsky) point of view, the best way to create a new git repository. All commands should run on Linux, OSX, and the git bash shell on Windows.

  • Create a new repository on (choose not to add a or .gitignore), e.g. with name ‘awesome-learnathon’
  • On your local machine create a directory where you would like to have the repository and cd into it: mkdir 'awesome-learnathon' && cd 'awesome-learnathon'
  • Initalize local git repository: git init
  • Add remote repository as origin: git remote add -f origin or git remote add -f origin if you did not set up git through ssh. The -f parameter fetches from the remote repository
  • Create a first file, e.g. pom.xml, and stage it for a commit: git add pom.xml
  • Commit the stage files with commit message: git commit -m 'Add pom.xml'
  • Push your commit: git push --set-upstream origin master (you can ommit --set-upstream origin master in future commits)


Git repos to clone:

Optional practical for you to do on your own:


Git repos to clone:

  • Preparation for the imglyb session on Thursday:
    • Please follow the installation instructions and install imglyb through conda.
    • If you are a Windows user, please pair up with a OSX or Linux user, or download the VirtualBox Ubuntu appliance. We also have (at least) one MacBook that is available for use during that session. First come first serve!



We will look at the examples in the algorithm.morphology package of the imglib2-advanced-workshop to get familiar with the use of existing algorithms in imglib2-algorithm.


The jupyter notebooks in the imglyb-learnathon repository cover basic and advanced use of the imglyb compatibility layer for imglib2 and numpy. Please follow the instructions below to make sure your machine is prepared for the tutorial. Clone the imagey repository to access CPython through ImageJ.


Git repos to clone:

Awesome stuff that happened too:

  • Discussion time
    • The future of the imagej forum
    • The problem of missing funding…
    • Stable releases (coming in December).
    • A system to track what a workflow should cite…
  • Headless with Fiji (ignoring legacy problems)
  • ImgLib2 ROIs (, a preview to what will/might come soon!