PamiTC Job Board - Posting Details

Title: Scientific Software Developer, Image Analysis and Machine Learning in ilastikPosted: July 29, 2014
Company/Institution: University of Heidelberg
Location: Heidelberg
Department: Heidelberg Collaboratory for Image Processing (HCI)

Description: ilastik ( is a collaborative open-source project with the aim of providing a scalable image analysis platform for life science research and beyond. It has been chosen as one of the core software tools in the newly established Collaborative Research Center (SFB) "Integrative Analysis of Pathogen Replication and Spread" at the University of Heidelberg. To extend ilastik's capabilities in support of this research, the Hamprecht lab is inviting applications for a full position as Scientific Software Developer - Image Analysis. The position will be closely affiliated with the Heidelberg Collaboratory for Image Processing (HCI), the largest university-based research unit in its field in Germany.

The Collaborative Research Center brings together experts on human pathogens with leading scientists from other disciplines to achieve an integrative understanding of the complex processes behind infections at the sub-cellular level. The Hamprecht lab will focus on robust segmentation and tracking, i.e. on the reliable analysis of the temporal evolution of 2- and 3-dimensional objects, and will put particular emphasis on advanced machine learning methods that enable end users to adapt the analysis to changing experimental conditions in an intuitive way. In particular, job duties will include to

  • port cutting-edge tracking and machine learning algorithms to the ilastik platform, either directly or by incorporating them into HCI's major C++ libraries VIGRA and OpenGM.
  • design a graphical user interface with convenient interaction modes for intuitive annotation of training data, rapid correction of analysis errors, and final proofreading of results.
  • ensure platform independence of the resulting software and establish bridges to other analytical packages such as KNIME and Fiji.
  • deploy this software within the research center and evaluate its robustness and usability.
  • participate in the continuous improvement of software test suites and automated test runs.
  • help maintaining a flexible, agile development process with minimal overhead.
  • communicate well with algorithm designers and users.
  • train experimentalists to operate the software independently.
The project offers the opportunity to work closely with first-rate experts in scientific computing, cell biology and machine learning and to contribute to an open source platform that is rapidly gaining popularity with biologists and can make a real difference in our understanding of disease. Job details will be defined in accordance to the evolving needs of our biological partners and the specific skills of the successful candidate. He/she should have experience in several of the following areas:
  • very good programming and software design skills, especially in scientific software development, system integration, parallelization, and handling of big data
  • advanced template programming and generic library design in C++
  • use of scripting languages (preferably Python) and interoperation between scripting and C++
  • good knowledge of software development infrastructure (e.g. github, cmake, doxygen, cppunit), support libraries (e.g. boost, hdf5) and GUI programming (Qt)
  • understanding of the mathematical background of scientific algorithms.
The Hamprecht lab is characterized by a friendly and cooperative atmosphere and regularly presents its results at important conferences. The position will be paid according to TV-L level E13. Part-time employment is possible. Funding for the position is secured for a duration of four years, with a possibility of further extension. The search process starts immediately and will continue until a suitable candidate has been found.

Application Instructions: Please send full applications as a single PDF file to and include (a link to) a representative code sample you have written.