Monday, December 3, 2012

Drug delivery modeling: analyzing model parameters

Images showing vasculature (magenta) reconstructed from tumor imaging data and a graph illustrating the drug dye concentration in the vascular and extra vascular compartment.
Drug delivery of tumor therapies can be modeled via ordinary differential equations (ODE). The delivery depends on different tumor parameters such as tumor and vascular geometry, vascular permeability and transit time. To estimate the parameters I reconstructed the vascular geometry based on fluorescent-microscopy imaging data and analyzed the time dependent dye concentrations in the vascular- and extra vascular compartment. Based on the data I was able to calculate the parameters required for drug delivery modeling.

Thursday, November 15, 2012

Animated flag via OpenGL

Animated flag of the Fresh Water Pirates
OpenGL and the GL Shading Language can be used to create realistic graphic animations. In this example I've used a quad mesh and bound a 2 dimensional texture (image) to it. (© Fresh Water  Pirates ). A time-dependent sinus function modifies and updates the mesh coordinates every 0.05 seconds. The vertex normals are calculated for every update. Lighting effects are computed on the GPU

A video of the flag animation can be found at:

Like the pirates on facebook:

Monday, November 12, 2012

MUSC HCC Retreat

My poster for MUSC HCC Retreat event

Hepatocellular carcinoma (HCC, also called malignant hepatoma) is the most common type of  liver cancer. This Thursday afternoon, MUSC hosts a special event for selected HCC investigators which will present their clinical/translational research in both oral and poster format. I am proud to participate with my poster "Patient-specific models for radiofrequency ablation".

Tuesday, October 30, 2012

Surface rendering examples

Sample images. Surface rendering of CT image data


Just a few more sample images created with a wxPython OpenGL rendering application...

Thursday, October 25, 2012

Removing duplicate vertices; equivalencing vertices at the same location

Triangulated surface after removing duplicate vertices.

In medical imaging one can run into following problem: After creating a triangulated surface  (e.g. with the Marching Cubes algorithm), duplicated vertices exist at the same location. Why is that a problem? Well it is not really a problem but processing duplicated (=same location at x,y,z coordinate) requires more memory and is more expensive on the graphic processing unit (GPU). The simplest way to find vertices at the same location is to compare each vertex with all existing vertices. This can be implemented with loops and is usually ridiculous slow! Another method is to use a "look-up table", a three dimensional array that will hold the number of the according vertex. A vertex pointer (x,y,z coordinate of vertex) is used to fill the according index in the look-up table; if an index is already filled then the vertex already exists. I've implemented such an algorithm in Python. I tested the algorithm with a data set that had originally 707190 vertices and after equivalenving only 117300 (83% reduction!). The total CPU time for this process was 2.899 seconds.

The function can be found at: 


Tuesday, October 16, 2012

HIFU Symposium, Washington DC


HIFU symposium in Washington DC

What a great conference! High intensity focused ultrasound, or HIFU, is a non-surgical treatment cancer. It offers possibility to eliminate cancer and maintaining quality of life.

Links:
http://www.internationalhifu.com/?gclid=CK7NlKnfhrMCFREx4Aodw2YAOQ

Friday, October 12, 2012

Red Bull Stratos, approximation of balloon volume

Image of Red Bull Stratos project ad take of. The vlume of the helium baloon was about 1884.3 m3.
Red Bull's Stratos project is an exciting mission where Felix Baumgartner attempts a parachute jump from the stratosphere. A balloon made of polyethylene will transport Felix and his capsule into a height of more than 36000 meters. How much helium is required to achieve this? Red bull states that "The team will insert about 180,000 cubic feet / 5,097 cubic meters of helium at launch.". The above image shows the balloon at the failed launch on Oct. 9. 2012. I was interested and created a Python application to approximate the balloon volume. In order to estimate real dimensions I used the height of person (assumed to be 175 cm) right next to the balloon as reference length. Linear distance relationships within the picture were assumed (I know,...a very rough estimation). The total volume was approximated with:



where V (m3) is the volume, R (m) is the radius of spherical part of the balloon and H (m) is the height of the conical part of the balloon (from balloon bottom to center of spherical part). the which approximates. The total balloon volume in this picture is 1884.3 m3 and is just a rough approximation. That means the balloon had about 37 percent of its final launch volume.
Links:
REd Bull Stratos - http://www.redbullstratos.com/
The Pythonapplication to calculate the volume - http://dl.dropbox.com/u/41416749/Stratus/CalculateVolume.py