Easy 3D Cell Visualisations in ImageJ

I have used epifluorescence microscopes copiously to look at the outlines of epidermal pavement cells as they changed shape over time. One of the challenges I had was how to image these cells when the heights of the cells walls differed slightly or if the cells were not exactly perpendicular to the microscope objective lens. While getting multidimensional images on a confocal microscope gives great 3D images with exquisite detail it can take a while to collect each stack and the added booking costs and potential limited availability of confocal microscopes can preclude its use when all you really want is a basic 3D image to see the cell shape. By capturing multiple images of cells at manually specified focal planes you can create either a 2D projection of your object or even a 3D visualisation. Here I have outlined a technique using FIJI/ImageJ to create 2D projections or 3D visualisations that can work on even the most modest of microscopes and it is ideal for use in teaching labs as well.

Image Capture

Select a sample for imaging that has clearly visible cell outlines. For this tutorial we will be using an image series captured on an epifluorescence microscope of an Arabidopsis plant seed coat stained with Auramine O to label the cuticle. This procedure works equally well on images taken on a transmitted light microscope or a dissecting microscope under either brightfield (white) or fluorescent light. It can also work with other subjects like whole insects so give it a try.


To capture the images you will need to take a series of sequential images changing the focus gradually and evenly between each shot. Ideally you want to be taking anywhere between 20 and 50 images at different focal planes to get enough information about your sample. In this example above there are 44 images taken of the Arabidopsis seed coat.

In order to successfully create a 2D projection or a 3D visualisation you need to make sure the cells are well illuminated and that during the process of image acquisition you do not change any light settings on your microscope or camera. The reason why uniform illumination/exposure is important is because the software algorithms used to generate the 2D projections rely on finding out which pixels are in focus by iteratively comparing the brightness of neighbouring pixels as it goes through your image stack. Since the light waves coming from an object spreads out from its source the light will be at its brightest when the object making the light is in focus. By comparing the brightness of neighbouring pixels as the focal plane of your captured images changes the algorithm can discard all information in the image stack apart from the brightest pixels that are in focus.

Making a 2D projection

Install the Stack Focuser plugin in your ImageJ program. You should find it under the menu item ‘Plugins’ or you can search for it by pressing the letter ‘L’ while ImageJ is in focus to bring up the command finder. Open up the images relating to your stack by highlighting them in Finder/File Explorer (Mac/PC) and then drag and drop them onto the ImageJ toolbar. To create your projection you will need to make this collection of images into a single image stack by going to the menu item: Image > Stacks > Images to Stack. Click the Stack Focuser plugin and click ‘OK’. There is the option to generate a height map to see the general shape of your object as well as choosing if you want it to focus all three channels of light in an RGB image or just the one channel.

A 2D image projection of an Arabidopsis seed coat

Creating a 3D visualisation

Using the same image stack as before we are going to prepare it for 3D visualisation/projection. If your image stack was captured as brightfield first invert the image using Ctrl+Shift+I.  Initially we need to remove the background by selecting ‘Process > Subtract Background…’. Adjust the value of the rolling ball radius until you are satisfied with the previewed result. Values between 50-100 usually work well. The higher the value, the less background will be removed. If your image looks subdued after the background is removed you may need to adjust the Brightness/Contrast (Image > Adjust > Brightness/Contrast…, the auto option often works well).

To create a 3D projection go to Image > Stacks > 3D project…. Try increasing your slice spacing from the default of 1 to 5 or another number to get more depth to your 3D projections. If you change this slice spacing value also select the ‘Interpolate’ option otherwise your images will appear with visible lines. You can also specify how the projection will be presented in terms of how it is rotated in space. Saving the file as a .gif will create a video like image file that automatically loops between the frames and can be easily viewed on the web or in most external image viewing programs.

Changing settings for making a 3D image projection
By changing the spacing of your slices you will get more depth to your 3D projection. Remember to select interpolate if you specify this.


A 3D projection made using ‘3D project…’ command in ImageJ of the seed coat of an Arabidopsis plant after the embryo has emerged.


You can see from the images that you can get pretty good results even without using a more elaborate confocal microscope setup. Try experimenting with the number of slices to take for each image and if you are not happy with the results of the Stack Focuser plugin you can try experimenting by changing the default kernel size of 11 (20 works well but you can try between 5 and 30) or processing with Subtract Background… command before using the Stack Focuser plugin. I hope this guide has been useful to you and please comment below if you have other examples you would like to share.


ImageJ software


FIJI (Fiji Is Just ImageJ… with batteries included) if you want your ImageJ to have a lot of additional useful plugins installed by default


Stack Focuser plugin


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.