Sunday, September 30, 2012

Visualization, Image Processing and Computation in Biomedicine


Today I googled patient-specific finite element (FE) models for radiofrequency ablation and figured that my article has been published. That made my day!

Article: http://www.dl.begellhouse.com/journals/7e4ff0643eace965,forthcoming,4898.html

Saturday, September 29, 2012

Visible Human Project CT Datasets

Volume rendering of the head data set of visible human project
Take a close look and tell me what you see. The image shows volume rendering of a head CT data set of an application that I created with Python and Togl. I obtained the CT data set from the visible human project website. On the website (see Links) CT data is provided of a complete human male body. This is a great example data for everyone who wants to create their own volume rendering application and needs test data.

Links:
Visible human project - https://mri.radiology.uiowa.edu/visible_human_datasets.html

Wednesday, September 26, 2012

Modeling of radiofrequency tumor ablation


Temperature comparison of perfused (blue) and unperfused (red) RFA simulation model in the liver; RFA energy was switched off after 10 seconds; temperature was measured at electrode’s tip (arrow). Blood perfusion limits the temperature increase in the tissue -> cooling effect
Thermal ablative therapies are used to treat malignant tumors in liver, kidney, lung and bone tissues. During RF ablation treatment, a thin electrode is placed directly into the tumor using ultrasound, computed tomography or magnetic resonance imaging guidance. An RF generator connected to an antenna creates an electromagnetic field in the surrounding tissue which causes heat due to ionic friction. Due to the blood flow e.g. in the liver cooling occurs (heat is dragged away by the blood) an limits the temperature increase. The perfusion effect can be mathematically modeled with the "bio-heat equation" which was first introduced by Pennes in 1948. 

The bio-heat equation is solved with: 
 
ρ is the density (kg·m-3), c is the specific heat (J·kg-1·K-1), k is the thermal conductivity (W·m-1·K-1), J is the electric current density (A·m2), E is the electric field intensity (V·m-1) and QP (W·m-3), is the heat loss due to blood perfusion. The energy generated by the metabolic processes, is usually neglected since it is orders of magnitude lower than QP.
 
Tbl is the temperature of the blood (assumed to be 37 °C), ρbl is the blood density (kg·m-1), cbl is the specific heat of human blood (J·kg-1·K-1), and wbl is the blood perfusion. 

The image in the top shows a RFA model that I created in COMSOL4.0 to compare temperature distribution in perfused and unperfused liver.

Links:
My ablation laboratory - http://www.musc.edu/ablation/
 

Saturday, September 22, 2012

Real-time 3D CAD software control via webcam

Screen shot of CAD software (LIMIT) controlled via webcam
In order to control the CAD software LIMIT via webcam, I created a python plugin allowing viewport manipulation (pan, zoom) via webcam. The webcam detects a specific color (red) on the webcam image and calculates relative position within the webcam window. The relative position is then applied to the CAD viewport's world matrix which is relevant for object position calculation.
A demo video how the webcam control application works can be found here: http://youtu.be/fBLqshR7Mmk/

Links:

Friday, September 21, 2012

Medical imaging

Image of wxpython OpenGL application rendering 2959572 vertices and 986524 triangles real time.
OpenGL is used to process and visualize medical imaging data. The image shows a wxpython application that I wrote do display the triangulated surface structure of meshed CT imaging data. The surface data consist of  2959572 vertices and 986524 triangles. With the use of OpenGL manipulation (pan, zoom, rotate) can be performed real time. For shading I used OpenGL Shading Language (GLSL) which allows you to easily apply lighting effects to your view.

The GLSL shaders can be downloaded here:  https://www.dropbox.com/sh/ip306uavm7jpekg/6FENd-2TUj/GLSL/

Links:
OpenGL - http://www.opengl.org/
GLSL - http://www.opengl.org/documentation/glsl/
wxpython - http://wxpython.org/

Tuesday, September 18, 2012

Servo position control via PC

Image of experimental setup. The PC control panel sends a signal to the micro-controller board and changes the position of the servo
The position of a servo can be controlled with a Micro-Controller (MC) board that recieves singals from the PC. This picture shows an example setup that I created to control the servo position with a PC control panel. When the slider is moved in the control panel, a digital signal is generated and sent to the MC via USB connection. The MC processes the signal and sends an equvalent electronic impulse to the servo. Thus the servo changes position according to the electrical signal. For this example I used Python and the Tkinter (GUI) library to create the control panel and Arduino's sketch tool to program the MC.
A real-time video of the application can be found at: http://www.youtube.com/watch?v=cI-eiEtxchc
The scrip and sketch for the MC data can be found at: https://www.dropbox.com/sh/ip306uavm7jpekg/uiElcgcgWg/Servo%20positioning%20control%20from%20PC

Sunday, September 16, 2012

Face detection

Face and eye detection with Chuck, Python and OpenCV
Face detection is a specific computer task to locate faces in images and is often used in biometrix. OpenCV  (Open Source Computer Vision a library of programming functions for real time computer vision) uses Haar wavelets to detect faces. With Python it is relatively easy to implement face and eye detection. I created an example script to detect Chuck's face and eyes.

The scrip and according data can be found at: https://www.dropbox.com/sh/ip306uavm7jpekg/2adXHWODU1

Links: