Creating a GUI with ImageJ components



I am new to ImageJ and Java and I am trying to create a GUI that allows users to view and manipulate ImageJ files, like stacks. My idea was to test this by creating a GUI that allows users to click through images in a stack, but if there is a simpler way to practice creating a GUI with ImageJ I am open to ideas. Based on the recommendations of a tutorial in the ImageJ website (, I downloaded NetBeans and have been attempting to follow the instructions. However, when I attempt step one of “Launch the Program”, I cannot find the “Modules” folder that I am supposed to open. I thought maybe this was related to the Maven error, and so I downloaded Maven but still get an error message when attempting to build the project. It also could be because I downloaded NetBeans IDE 8.2, while the instructions are intended for NetBeans 7.1.2. Or maybe the file on GitHub has been edited since the instructions were written. Unfortunately I don’t know enough about Java, ImageJ, NetBeans, or Maven to know what went wrong or to understand the troubleshooting articles that already exist. If someone could tell me what went wrong an how to fix it (in very simple beginner-level words) that would be awesome.


Good day,

what you intend to do sounds very ambitious for a beginner with Java.

If you explain in detail what you want to achieve and why, we may perhaps be able to propose a more convenient way of doing it.





I am working on a project where the end goal is to create a setup which collects images of an object from many angles and merges those to create a 3d image of the object. The purpose of the GUI is to allow the end user of this program to collect images, merge the images, and view the final 3d image from a convenient user friendly platform without interacting directly with the code or manipulating the images in ImageJ themselves.

At the moment we are at the start of the project and I was asked to figure out how to use ImageJ components in a GUI, to show that it is feasible to use ImageJ/JAVA for our project. Right now I am simply looking to create a very simple GUI that incorporates at least one function of ImageJ to show the compatibility of ImageJ with a GUI.



Hello kgiamm -

First off, I agree with Herbie that building your own gui is quite a
lot to ask of a java / gui novice, and is not likely to lead to success.

But new or experienced notwithstanding, why reinvent the wheel?

I can’t state with certainty that ImageJ would be the best platform
for the project you describe, but it looks like a good candidate. For
example, ImageJ has a built-in 3D Viewer:

Plugins > 3D Viewer

You might look at that to see if it does some of what you need.

I would suggest that you consider using the ImageJ application
itself as your gui. It already implements a lot of standard, useful
gui features that users will likely expect. It also has a number
of image processing tools that might be relevant to your project
that you can access programmatically or from the gui.

If I were doing what I imagine your project might be, I would use
the ImageJ application as my main gui and write a java plugin
for ImageJ for any specific processing I needed. (You can create,
work with, and display any custom gui elements you might want
from such a plugin, so you can do anything you could have done
writing your own gui application from scratch.)

Writing an ImageJ plugin that does something useful will still
entail a significant learning curve for someone new to java (and
ImageJ), but would be a much less daunting project than writing
your own top-level gui from scratch (even using various ImageJ
components to do so).

Thanks, mm


Good day,

AFAIK you are not looking for a 3D representation but one on a cylinder which is something completely different.