Search Contact information
University of Cambridge Home Department of Engineering
University of Cambridge > Engineering Department > Machine Intelligence Lab > Medical Imaging Group

Graham Treece

[ Introduction | Teaching | Research | Publications | Software | Videos | Personal ]

Freely available software

Much of the research described in these pages has been implemented in software, and the binary executables are freely available for anyone to use for their own research or enjoyment. If you do use any of them for your own research, please let me know, and cite the appropriate paper. Also, I would welcome any feedback on the usefulness or otherwise of these packages - please tell me what you think! The various programs and utilities are:


Stradwin

Stradwin is a user-friendly freehand 3-D ultrasound acquisition and visualisation package which can run under Windows, and implements many of the algorithms described in the research page. It has been developed with the aim of encouraging clinical research in this area.

This is available free - see the stradwin documentation page for much more information about availability and technical content.


Stradx

Stradx is a freehand 3-D ultrasound acquisition and visualisation package which, amongst many other things, implements all of the algorithms described in the research page, for instance this surface reconstruction of a part of the hepatic system.

The binary is also available free - see the stradx documentation page for much more information about availability and technical content.


IsoSurf

This can be used for extracting triangulated iso-surfaces from a block of data - for instance the skin and skeleton which have been extracted from the female cadaver of the Visible Human Project data set, shown below. This is an image of a full 3-D model.

Skeleton from Visible Human Project

The software implements Regularised Marching Tetrahedra to triangulate the iso-surface, and Maximal Disc Guided Shape Based Interpolation to interpolate the thresholded data if required. The input is from a regular block of data, which can be scaled differently in each direction, and the surface can be extracted at any resolution. The output is a surface triangulation and a set of cross-sectional contours. For more information, and to obtain the software, see the IsoSurf page.


wxDicom

wxDicom Screenshot

This is a tool for viewing images and sequences of images in various formats including DICOM. It can also be used to convert image sequences to other formats, including the Stradwin data ormat.


wxOCTdemo

wxOCTdemo Screenshot

A simple application for looking at the effect of pulse shape and system parameters on time-domain and spectral optical coherence tomography.


EqnSurf

This can be used for generating triangulated surfaces from implicit functions, for instance those shown below.

Peak function 'Bubble' function 'Saddle' function

The function is given as a command line string, for instance the commands to generate these surfaces were (left to right):

eqnsurf "(3-3*x)^2*exp(-x^2-(y+1)^2) - 10*(x/5-x^3-y^5)*exp(-x^2-y^2) - 1/3*exp(-(x+1)^2-y^2) - 3*z" -c 0,0,2 -l 3,3,4 -r 0.1

eqnsurf "(x^2+y^2+z^2-0.5)*(x-0.2)*(y-0.1)" -t 0.01 -r 0.04

eqnsurf "cos(x^2) + ln(y^2) + z^2 - 0.9" -l 2,2,2 -r 0.07

The software implements Regularised Marching Tetrahedra to triangulate the iso-surface, which can be extracted at any resolution. The visualisation requires both the OpenGL (or Mesa) and GLUT libraries. For more information, and to obtain the software, see the EqnSurf page.


VolMorph

This uses the same algorithm as used in IsoSurf for interpolating cross-sections to surfaces, but this time applied to the interpolation of surfaces to form time sequences. This means it can be used to 'morph' one surface into another, for example the queen and pawn shown below, which was generated in less than two minutes from the original objects (click the middle image to see a low quality movie of this morph sequence):

Initial morph Middle morph Final morph

The surfaces are supplied as closed polygonal meshes in the OOGL format, however there is also a converter supplied from the more widely used 3DS format. Polygonal meshes are sampled (with antialias correction) to a volume, then interpolated, then re-triangulated using Regularised Marching Tetrahedra, before being displayed as a real time morph sequence that can be manipulated in 3D. The visualisation requires both the OpenGL (or Mesa) and GLUT libraries. For more information, and to obtain the software, see the VolMorph page.


Calc

This is just a stand-alone version of the equation parser used by EqnSurf, which can be used to evaluate equations involving floating point numbers and most operations and trigonometric functions. See the Calc page for more details.

© 2005 Cambridge University Engineering Dept and Graham Treece .
Information provided by gmt11