I devel­oped and main­tain sev­eral soft­ware libraries and graph­i­cal user inter­faces (GUIs) for the var­i­ous projects I was involved in. This page cov­ers the most rel­e­vant topics.

Real-time Deformability Cytometry (RT-DC)

RT-DC is an image-based flow-­cy­tom­e­try tech­nique that allows mechan­i­cal phe­no­typ­ing at through­put rates of ~1000 cells per second. I am cur­rently main­tain­ing the RT-DC analy­sis pipeline for Zellmechanik Dres­den GmbH, used in the Guck Lab, which con­sists of three Python packages:

  • ShapeOut: GUI for RT-DC data analysis
  • dclab: core library for RT-DC analy­sis which is used for script­ing beyond Shape­Out and also comes with a set of con­ve­nient com­mand-­line programs.
  • fcswrite: library for writ­ing fcs (flow cytom­e­try stan­dard) files, mainly used by us for data export and sub­se­quent analy­sis in third-­party applications

Quantitative Phase Imaging (QPI)


QPI in bio­physics visu­al­izes and quan­ti­fies the phase delay of light when it passes through a cell. The phase delay is gov­erned by the refrac­tive index of the cell which is con­nected to pro­tein or DNA density. Thus, QPI can be used to char­ac­ter­ize and mon­i­tor cells in a broad range of applications. As part of my present work in the Guck Lab, I am main­tain­ing sev­eral Python libraries for QPI analysis:

  • DryMass: user-friendly QPI analy­sis software
  • qpimage: library for basic QPI analysis
  • qpsphere: library for the QPI analy­sis of spher­i­cal phase objects
  • qpformat: library for open­ing QPI data

Optical Tomography


A sim­ple QPI analy­sis is restricted to the recorded 2D phase data (trans­mis­sion phase image). To resolve the 3D refrac­tive index struc­ture of a cell (right image), opti­cal dif­frac­tion tomog­ra­phy (ODT) can be used. ODT can be com­bined with flu­o­res­cence tomog­ra­phy in colo­cal­iza­tion stud­ies to map out the char­ac­ter­is­tics of intra­cel­lu­lar compartments. In the course of my work in the Guck Lab, I have writ­ten sev­eral Python libraries for the tomo­graphic recon­struc­tion of sin­gle cells:

  • ODTbrain: library for ODT with the Born and Rytov approximations
  • nrefocus: library for numer­i­cal focus­ing (refocus­ing, autofocus­ing) of com­plex wave fields
  • radontea: library for clas­si­cal tomog­ra­phy with the inverse Radon transform

Fluorescence Correlation Spectroscopy (FCS)


I have devel­oped two GUIs, PyCor­rFit and PyScanFCS, for data analy­sis in flu­o­res­cence cor­re­la­tion spec­troscopy (FCS). At the time I started work­ing with FCS and needed to process and fit my own exper­i­men­tal data, it was quite dif­fi­cult to keep track of all the results that I pro­duced with qtiplot.


In addi­tion to these graph­i­cal programs, I have imple­mented a mul­ti­ple-­tau cor­re­la­tion algo­rithm for Python. Mul­ti­pe-­tau cor­re­la­tion is com­puted on a log­a­rith­mic scale (less data points are com­puted) and is thus much faster than con­ven­tional cor­re­la­tion.

Bina­ries of the pro­grams are avail­able at GitHub/FCS-analysis, at the python pack­age index, and have also been debian­ized by Alexan­dre Mestiashvili. The ini­tial devel­op­ment of these pro­grams was done in the group of Petra Schwille and a lot of input came from Thomas Wei­de­mann who was my men­tor at that time:

  • multipletau: library for mul­ti­ple-­tau correlation
  • PyCorrFit: GUI for FCS data fit­ting and visualization
  • PyScanFCS: GUI for per­pen­dic­u­lar line scan­ning FCS