Biomedical Imaging Group
EPFL   Imaging Web Demonstrations
English only BIG > Demos > Virtual Microscope
Home page
Tutorials and Reviews
Virtual Microscope

This applet simulates a microscope, where the focus, the zoom, the position, the light intensity and the contrast can be adjusted. It also simulates a DIC (Differential Interference Contrast) mode. One can load either 2D or 3D images.

Functions of the microscope


The zoom is calculated with a cubic B-spline interpolation for zooming in and by linear interpolation, after an anti-aliasing filter (averaging filter), for zooming out.


For 2D images, the focus is simulated by a gaussian filter.

For 3D images we have an in-focus plane of the object, the other planes are more or less blurred. To simulate that, a z coordinate is given to each point of the image, according to a chosen function, then the difference of "altitude" is done between the in-focus plane and the z coordinate of each point. The blurring is made with a Gaussian filter, with the variable sigma depending on the difference previously calculated.

Light intensity

The light intensity is obtained by adding or substracting a constant set by the user to every pixel value.


A linear function is used to define the contrast : y = mx + h, x is the old pixel value, the slope m is chosen by the user and controls the strength of the contrast, h is calculated to keep the function centered on (127.5, 127.5), and y is the new pixel value. The values under 0 are set to 0, and the ones over 255 are set to 255.


The differential interference contrast is a good tool to detect low contrast objects. It is simulated by a steerable 2D Gauss function derivative.

Screenshot :

Problems with the applet :

  • Applet doesn't load : Try to install the Java Plug-in (download here) (J2SE)
  • The image "Mouse intestine" or "Bug" doesn't work, you get the message "java.lang.OutOfMemoryError" on the java console :
    1. Normally, you should first, shut down (exit) your browser(s). The exception to this is if you already are running a newer version of the Java Plug-in on Windows, and when you right-click the Java icon in the taskbar, you get the option "Open Control Panel". If you do, just click on it, and jump to Step #3.
    2. Then run the "Java(TM) Plugin Control Panel"
      • On a Mac: Use "Finder" to get to: Applications -> Utilities -> Java and then, run the Java Plugin 1.4.x Setup.
      • On a Windows machine, Start -> Settings -> Control Panel -> Java Plug-in
      • On Linux, locate the shell script ControlPanel in the Java install's bin/ directory and run it.
    3. Click on "Advanced", and in the space provided under "Java Runtime Parameters", please type the following (exactly as shown) :


      Then click "Apply" button.

    These steps will allow your browser that uses the Plugin to run Java to use up to 256MB of memory. You can change the number 256 to a different value if needed -- this should be less than the total amount of memory your machine has. You may need to do this every time you update the Java Plugin, as well.
Christophe Magnard Semester Project Winter 2003-2004