Window/Level Test


This is a crude demonstration of the gray scale window and level function commonly used in medical imaging. It is meant to illustrate the need for access to the hardware lookup tables (available in Unix, PC, and Mac windowing environments today). Let's try to persuade the folks at Sun to add an object to the Java API, maybe a Colormap object, to hide the platform-specific implementations.

Although the gray level window and level function can be performed in software, the speed (even when using native code) is not acceptable. The applet below uses the RGBImageFilter class in Java to demonstrate the problem. The gray scale image on the left contains 10K pixels. The cardiac MRI in the middle contains 64K pixels. The chest X-ray on the right contains 78K pixels. A typical chest X-ray contains 5120K pixels.

Change the upper and lower gray level window limits by clicking and dragging on the red triangles.

Note: Sometimes the ImageProducer and ImageConsumer get out of sync and the image draw fails to complete. It needs a little bump. Click anywhere in the image to force an update.

If you really want to tax you browser, here are some other images:

Here are the sources:

Maybe you can find the bugs for me?
Created 06/04/96 by Andrew Barclay, abb@nuccard.eushc.org
Updated 06/08/96 by abb@nuccard.eushc.org

Image Credits: The chest X-ray is courtesy of Cemax-Icon, Inc.. The SPECT projection data came from the Nuclear Cardiology Dept. at Crawford Long Hospital of Emory University. The MRI is about 6 years old and I've forgotten where it came from, sorry...