Nate Sutton, Ph.D.

OpenWorm Project Contributions

Work I contributed to the OpenWorm project was to increase the graphical rendering speed of a three-dimensional simulation of the C. Elegans worm. Videos demonstrating the work are below and resources for working with the software include documentation on configuration files for the Sibernetic project software. That documentation is here. The code for downsampling the software scenes is here and will be described below. Discussions about the development of the software are here. Discussions about the documentation I created is here. My fork of the Sibernetic worm simulator is here.

The issue I worked on was that the graphical scene that modeled the worm activity ran slowly compared to real-time speeds. One of the reasons for this was that there was a large number of vertices simulated. The original simulation ran at the speed seen in this video:

I created an approach of downsampling the vertices needed to create the scene. This was inspired by the downsampling concept used by tools like bokeh and hdf5 files. An advantage of speeding up the rendering is that this can more easily test behavioral simulations of the worm. My code for downsampling the scene is here. An example of the faster render time produced by my downsampling method can be seen in the videos below.

Muscle control is also included in the simulation. This can be observed in the videos below. The groups of blue and red vertices in the videos are the muscles that exert a motor control force on the worm’s movement.

A part of the process to create the scene is to model the worm. I used blender to do this. The pictures below show an example of taking a worm model in blender and putting it into the Sibernetic software for simulation.

Blender:

Sibernetic: