Category Archives: Video


Second CSM Demo – Activation Mapping and More

Today the latest CSM demo video went live on the CardioSolv site. It showcases the use of our mapping interface, which makes it easy to create useful maps of activity in simulation models.

It’s currently non-trivial to show movies in papers, so instead we do time-lapse type things called activation maps. These show the activation times as a series of lines (‘isochrones’ or ‘isochronal lines’, meaning that all of the points on the line are activated at the same time) or bands of color representing the same thing. We can extend this to also show repolarization times, or non-sequential data such as action potential duration maps and dominant frequency maps.

Here’s a sample activation map of a wave moving across a sheet from right to left:

Activation Map Right to Left

Activation Map Right to Left

And here’s one of a spiral (this with 20ms isochrones):

Activation Map of a Spiral Wave

Activation Map of a Spiral Wave

To give you an idea of the correspondence between an activation map and a movie of the simulation, here’s a movie of that spiral:
Spiral Wave

There’s a lot more to this — for instance, deciding when a cell has activated or repolarized, and back-end processing. We use a program I wrote that does the analysis in parallel, making it rather quick to analyze even huge datasets, provided you have the computing power.

If you have any questions about the process I’d be happy to answer them here or on the CardioSolv post.

First CardioSolv Simulation Manager Demo

Today I’m really excited to finally show you something that’s been in the works, both in implementation and in the planning stages, for a long time. The CardioSolv Simulation Manager.

Running cardiac electrophysiology (and mechanics) simulations has traditionally been really complicated. It involved learning a bunch of UNIX command-line tricks, dealing with queuing systems and their associated script files, and so on. Furthermore, there are many, many options in a sophisticated cardiac simulator, and the novice user (and even the expert) can easily get lost in all of the choices.

We’ve taken years of experience setting up, running, and analyzing simulations to build a really cool (excuse my excitement) web interface that handles all of the dirty work, and guides the user through the important choices when running simulations.

The video below is my first demo. In it, I demonstrate how to create a plane wave moving across a sheet of tissue, then create a spiral wave, all from the web interface.

Continue reading

How I got our cluster to send me MMS movies of my simulations

As the models used in our lab become larger both in resolution (more detail) and gross size (bigger pieces of tissue), the time and effort required to visualize and otherwise check results increase. With the largest model currently used in the lab (mine), one short simulation produces 2.0 GB of uncompressed data. Compression gets it down to about 500 MB or so. That still means that — just to make sure the simulation ran correctly — I have to download 500 MB of data, load my model into a viewer of some kind, and load and view the data. This is not acceptable, especially since even loading the data requires a machine with significant graphical power and a large hard drive.

There are other ways to visualize our data. A little while ago (two years?), our programmers Rob and Umar put together an off-screen renderer for the IBVRE project. It’s based on VTK and coded in Python. It simply loads the model with views from all 6 sides, maps the data on to the surface, and then writes an image file.

I spent 12 hours Saturday resurrecting this software and tweaking it for my own needs. Now it just loads one view of my model, efficiently steps through a specified number of time steps (it did this very very inefficiently before), writing them all to image files, and then exits. I run this on the cluster with a script that joins all of the images into a movie, and then emails them to me.

I currently have the cluster email me when a job is done. I also have mail filters that forward these messages to my phone. However, I can now do better. I have integrated the rendering program with my cluster run scripts, such that the following happens. When a simulation is finished, the visualization program is run and dumps images of all of the time steps. They are then joined to make a movie, emailed to me, and emailed directly to my phone. Thus, when the simulation is finished, I not only get an email notification, but I can review the video right on my phone.

If you’re not a geeky type, this may not impress you. To me, it is the very apex of cool. Enough so that it drove me to stay at work for nearly 13 hours on a Saturday. Here’s a sample video:

Now, instead of downloading 500 MB or more to a high-powered workstation (or let it limp on my laptop) to check the outcome of a simulation, I can have a 1 to 4 MB video automatically sent to my mobile phone and watch it wherever I am.

Videoblogging with iMovie

I’m planning on doing some more advanced videoblogging in the future, including screencasting and perhaps presentations. As such, I decided to give iMovie a try. Combined with an iSight, it’s a beautiful thing, and much easier to use than I expected.

Here it is (the subject matter is not serious) with an homage to Ze Frank: