This is a read-only version of, available during the transition to the new website, which you can preview here.
Please direct any questions or issues to this Forum thread.
Thank you for your patience as we improve the website!

3D Viewer

3D Viewer
Project Fiji
Source on GitHub
License GPLv3
Release 4.0.2
Date Tue May 02 10:12:57 CDT 2017
Development status Active
Support status Active
Founders Benjamin Schmid, Johannes Schindelin
Leads Curtis Rueden
Developers Curtis Rueden
Debuggers Curtis Rueden
Reviewers Curtis Rueden
Support Curtis Rueden
Maintainers Curtis Rueden
Contributors Benjamin Schmid, Johannes Schindelin, Albert Cardona, Ignacio Arganda-Carreras, Michael Doube, Mark Hiner, Mark Longair, Nick Perry, Tobias Pietzsch, Stephan Saalfeld

This plugin offers hardware-accelerated visualization possibilities for image stacks, using the Java 3D library. Stacks can be displayed as texture-based volume renderings, surfaces or orthoslices.

Error creating thumbnail: Unable to save thumbnail to destination


Here you are a demo screencast separated into two different videos (~15 min in total) showing many of the features of the 3D viewer:

Beyond this, a lot more screencasts can be found here, covering the following topics:

  • Display stacks
  • Rendering modes and attributes
  • Adjusting the transfer functions
  • Editing volumes
  • Point lists
  • Landmark-based registration
  • Transformations
  • 3D Content in PDFs

For users

Comprehensive usage guidelines in form of FAQs and tutorials can be found here.

For developers

A lot of functions of the 3D Viewer are macro-recordable. However, if that is not enough (or if the function is not recorded properly), it is better to write a plugin. In the latter case no macros should be called from Java, as that would limit the code to work with the currently active 3D Viewer (even if the user clicked somewhere else).

This code snippet should get you started:

Image3DUniverse univ = new Image3DUniverse();;
univ.addMesh(yourImagePlus, null, "somename", 50, new boolean[] {true, true, true}, 2);

Full documentation for developers with tutorials and explained code snippets can be found here.


The Fiji Javadocs provide detailed information about the 3D Viewer API.


The 3D Viewer opens a window saying An unexpected exception occurred.

If in the same window, it also says:

java.lang.NullPointerException:Canvas3D: null GraphicsConfiguration

the reason is most likely that your graphics setup does not have any hardware 3D acceleration. This can happen e.g. when you run ImageJ via a remote X11 connection (3D acceleration works only when the graphics are displayed on the same machine as the program runs).

Unfortunately, there is not workaround/fix for this situation yet, except to use ImageJ locally when you want to use the 3D Viewer.

Problem with Intel graphics cards

There is a known problem with older Windows drivers for some Intel graphics cards. Usually, this is fixed by installing new drivers. If you would like to help make ImageJ nicer by detecting faulty driver versions, please contact us.

The 3D Viewer simply crashes

Unfortunately, there are quite a large number of possible reasons. Please help us by debugging the issues and contacting us with the information. You can also report a bug, which will provide a lot of additional, potentially useful information.

Only a gray rectangle is shown by the 3D Viewer

As with 3D Viewer crashes, there are quite a large number of possible reasons. Please help us by debugging the issues and contacting us with the information. You can also report a bug, which will provide a lot of addidtional, potentially useful information.