Code

This is an overview of projects that I work on (or have worked on).

Flexx

Flexx is a pure Python toolkit for creating graphical user interfaces (GUI’s), that uses web technology for its rendering. You can use Flexx to create desktop applications, web applications, and (if designed well) export an app to a standalone HTML document. It also works in the Jupyter notebook.

Being pure Python and cross platform, it should work anywhere where there’s Python and a browser.

Flexx has a modular design, consisting of a few subpackages, which can also be used by themselves, such as a Python to JavaScript transpiler and an powerful event system.

Pyzo

Pyzo is a cross-platform Python IDE focused on interactivity and introspection, which makes it very suitable for scientific computing.

We have developed Pyzo to have a simplistic design while still providing a powerful programming environment; all the good stuff, without the clutter.

Pyzo plays nice with conda by detecting conda environments and helping the user to install miniconda if no environment is available.

Asgish

Asgish is a truely minimalistic web framework.

BSDF

The Binary Structured Data Format (BSDF) is an open specification for serializing (scientific) data, for the purpose of storage and (inter process) communication.

It's designed to be a simple format, making it easy to implement in many programming languages. However, the format allows implementations to support powerful mechanics such as lazy loading of binary data, and streamed reading/writing.

BSDF is a binary format; by giving up on human readability, BSDF can be simple, compact and fast.

A number of few factors gave rise to the idea for BSDF:

Imageio

Imageio aims to support reading and writing a wide range of image data, including animated images, volumetric data, and scientific formats. It is designed to be powerful, yet simple in usage and installation. It is also easy to extend new formats to imageio.

Imageio is a mature library and plugins keep getting improved/added. It's used as a basis in e.g. scikit-image and Visvis.

Visvis

Visvis is a pure Python library for visualization of 1D to 4D data in an object oriented way. Essentially, visvis is an object oriented layer of Python on top of OpenGl, thereby combining the power of OpenGl with the usability of Python.

Visvis is mature, though a bit idiosyncratic. I am not actively developing it anymore except fixing bugs and implementing small features.

The Vispy project was originally intended to replace a number of visualization projects, including Visvis. But to date Vispy has not converged to a broadly usable state yet.

Stentseg

Stentseg is a library to perform segmentation of stent grafts in CT data. Mostly developed during my PhD, but in a rather good state. I managed to make it Pure Python by moving a critical part (a specific variant of the MPC algorithm) to scikit-image.

PyElastix

PyElastix is a project that has spun out of the PIRT project. It provides a Pythonic interface to the awesome Elastix image registration toolkit. I created this (pure Python) library to enable people to do image registration in a simple way, while making it easy to maintain.

PIRT

The Python Image Registration Toolkit is a project to make powerful image registration algorihms easily accessible. It wraps PyElastix and also includes custom algorithms, including a diffeomorphic version of the Demons algorithm. Originally written in Cython, but now that it uses Numba it is pure Python (i.e. much easier to install).