ImageJ is a public domain Java image processing program inspired by NIH Image for the Macintosh. It runs, either as an online applet or as a downloadable application, on any computer with a Java 1.1 or later virtual machine. It can display, edit, analyze, process, save and print 8-bit, 16-bit and 32-bit images. It can read many image formats including TIFF, GIF, JPEG, BMP, DICOM, FITS and "raw". It supports "stacks", a series of images that share a single window. It is multithreaded, so time-consuming operations such as image file reading can be performed in parallel with other operations. It can calculate area and pixel value statistics of user-defined selections. It can measure distances and angles. It can create density histograms and line profile plots. It supports standard image processing functions such as contrast manipulation, sharpening, smoothing, edge detection and median filtering. It does geometric transformations such as scaling, rotation and flips. Image can be zoomed up to 32:1 and down to 1:32. All analysis and processing functions are available at any magnification factor. The program supports any number of windows (images) simultaneously, limited only by available memory. Spatial calibration is available to provide real world dimensional measurements in units such as millimeters. Density or gray scale calibration is also available.
This review was originally posted on VersionTracker.com. The app works great but the documentation sucks. I'd like to see more info about how to accomplish tasks rather than just the basics of how a tool works. For example, I'd like to measure the perimeter of halftone dots (i.e. a repeating pattern). I've figured out how to measure the perimeter of an individual do - but not multiple dots within the same image. The documentation is no help.
This review was originally posted on VersionTracker.com. We have been using it for years at my University. Keeping in mind the price, and the collaborative method used to develop it, I think it is an awesome product. It is very versatile, and we use if for electron microscopy, astronomical images, and everything in between. It is mostly designed for medical/biology uses though.
This review was originally posted on VersionTracker.com. This program is amazing and is a worthy successor to the Mac-only NIH image. On our tight budget, we get high-quality image processing tools for free. The incorporation of the FFT filters into the main distribution was a big step forward: I never boot up Classic any more to use NIH Image.
The interface is not very Mac-like and is annoying, probably due to the cross-platform nature of the code. For heavy duty image processing (multiple FFTs or volume rendering), the program runs pretty slowly. I don't expect the speed to improve, but the features keep getting more numerous (but it doesn't feel bloated) and the bugs are rapidly addressed.
Thanks to Norbert Vischer, the Plot class now supports filled plots.
Run Help>Examples>Macro>Damped Wave Plot
to see an example.
Thanks to Norbert Vischer, when a macro error occurs, the line
number is copied to the clipboard and the error message is
displayed in the "Debug" window.
Added "Synthetic Images" and "Spiral Rotation" examples,
Added a "hidden" checkbox to the plot window
More>>Contents Style dialog.
The Process>Math>Macro command and
the ImageProcessor.applyMacro() method automatically
add "v=" if it is missing.
Thanks to Norbert Vischer, the seed set by the random("seed",n)
macro function is now used when creating images with random
content and by Process>Noise commands, allowing reproducible
test situations to be created.
Thanks to Francois Gannier, the x and y-axis labels are used
as the first two column headings in the table created by the plot window
"List" command when these labels start and end with a space character.
Thanks to Jan Brocher, fixed a bug that caused the
ColorThresholder.RGBtoYUV() method to not work as expected.
Thanks to Stein Rorvik, fixed a bug that caused function key
and numeric kaypad macro shortcuts to not work as expected when
"Require control key for shortcuts" was enabled in
the Edit>Options>Misc dialog.
Thanks to Christophe Leterrier, worked around a macOS High Sierra/APFS
bug that caused LUTs listed in the Image>Lookup Tables menu and file names
returned by the getFileList() macro function to not be sorted.
Thanks to Michael Kaul, fixed a v1.51s regression that could cause ImageJ
to fail to quit properly if there was an Action Bar launched at startup.
Thanks to Norbert Vischer, fixed a v1.51r26 regression that caused
the setBatchMode("show") macro function to not work as expected.