Version 1.38, 9 July 2007
- 1.38x, 9 July 2007
- Fixed a bug, introduced in v1.38u, that caused the Analyze>Calibrate
command to fail.
- Fixed a bug that caused a macro error if the
File>Import>Results dialog was canceled.
- Fixed a bug that caused image names to be truncated
when saving if the name contained a period followed by a
digit or more than four characters.
- Fixed a bug that caused stack metadata to be lost after use of
the Image>Adjust>Canvas Size command.
- Philippe Carl contributed the
Azimuthal Average plugin.
- 1.38w, 2 July 2007
- Fixed a bug, introduced in v1.38u, that caused the particle analyzer to
fail to work on stacks.
- Fixed bugs, introduced in v1.38u, that caused the
TransformJ
plugins and the
Dynamic Threshold
plugin to throw exceptions.
- 1.38v, 29 June 2007
- Added preview and grid options to Image>Rotate>Arbitrarily.
- Added the Help>Installation command.
- Added the get(int), set(int,int), getf(int), setf(int,float) and getPixelCount() ImageProcessor methods
for reading and writing pixels using a pixel array index instead of x and y coordinates.
- Fixed bugs in Image>Adjust>Threshold, and the setThreshold()
and setAutoThreshold() macro functions, that caused the threshold to not be
set correctly on blank 16-bit and 32-bit images.
- Fixed bugs that could cause Process>Binary>Convert to Mask to fail
on 16-bit and 32-bit stacks with blank slices,
or with high dynamic range 16 and 32 bit images.
- 1.38u, 15 June 2007
- Michael Schmid added previewing and multiprocessor support (when processing stacks)
to the Gaussian Blur, Median,
Mean, Minimum, Unsharp Mask and Variance filters, and
increased the speed of these filters by up to 100 times.
- Changed the name of the Edit>Options>Memory command to Memory and Threads and
added the "Parallel Threads for Stacks" field, which defaults to the number of available processors.
- Michael Schmid contributed the new Process>Noise>Remove Outliers filter.
- Added a preview option and multi-processor support to Process>Filter>Convolve and
removed the square kernel restriction.
- Results tables are no longer limited to 150 columns.
- The makeLine() macro function now accepts a 5th argument that specifies the line width.
- Fixed a bug that caused entries in the File>Open Recent submenu to not be
stored correctly in the preferences file if they contained non-ascii characters.
- Fixed a bug that could cause an exception when using the
Edit>Selection>Create Selection command.
- Ulf Dittmer fixed a bug on Mac OS X that could cause
the same image to be opened repeatedly when several images
were dragged onto the ImageJ icon.
- Fixed a bug, introduced in v1.38s, that caused a
delay when running a command for the first time.
- Fixed a bug on Windows that caused the Prefs.getHomeDir(), Menus.getPlugInsPath(), Menus.getMacrosPath()
methods and the getDirectory() macro function to sometimes return paths containing double path separators.
- Fixed a bug that caused File>Export>Image Sequence to fail when "Use Slice Labels as File Names" was enabled
and the file names contained multiple periods.
- Fixed a bug that sometimes caused text files containing the word "macro" to not open.
- Fixed a bug that could cause the ROI Manager "Multi Measure" function, and the Multi_Measure plugin, to fail
when the were a large number of ROIs.
- 1.38t, 25 May 2007
- Fixed a bug, introduced in v1.38s, that caused newly created horizontal
or vertical straight line selections to disappear.
- Fixed a bug that caused File>Revert to fail on images that
had been re-saved in TIFF format.
- 1.38s, 24 May 2007
- The Gaussian Blur and Unsharp Mask filters now display a single progress bar instead of
two or six.
- When saving in JPEG format, the current quality setting (0-100) is displayed in the title bar of
the "Save As" dialog.
- Added the ROI Manager More>>Remove Slice Info and More>>Specify commands.
- The ROI Manager Measure command no longer displays a "Process Stack?" dialog.
- ImageJ now opens gzipped FITS (".fits.gz") and raw (".gz") images.
- The File.directory and File.name macro functions now return the path to the last file dragged and dropped
on the ImageJ window.
- Added the getDimensions(width,height,channels,slices,frames) macro function.
- Added the IJ.getScreenSize() method.
- Added a getBounds() method to the Line class.
- Added the OpenDialog.setLastDirectory() and OpenDialog.setLastName() methods.
- Added the setInitialParameters(double[]) method to the CurveFitter class.
- Fixed bugs that could cause ImageJ to hang, especially when using the Sync_Windows plugin or when quitting.
- Fixed a bug that sometimes caused File>New>Image and File>Open to display
duplicate dialog boxes when invoked by typing ctrl-n or ctrl-o.
- Fixed a bug that caused dialog boxes to be incorrectly positioned on multi-monitor Linux systems.
- Fixed a bug that caused the standard deviation calculated by Analyze>Tools>Curve Fitting
to be incorrect.
- Fixed a bug that could cause an exception when opening 16-bit grayscale PNGs.
- Fixed a bug that caused directories with spaces in the path to fail to open when dragged
and dropped on the ImageJ window.
- Fixed a bug that could cause an exception in the particle analyzer when
processing a stack with more than 10,000 particles and "Add to Manager" was checked in the dialog box.
- Fixed a bug, introduced in v1.38q, that caused stacks with blank slice labels
to not be correctly saved in TIFF format.
- Fixed a bug, introduced in v1.38n, that could cause an exception when opening multiple 48-bit tiff images and stacks using JFileChooser.
- The
Concentric Circles
plugin displays concentric rings in a non-destructive overlay.
- The
Save Virtual Stack As 8-bit TIFFs
macro demonstrates how to process and save a virtual (disk resident) stack.
- 1.38r, 11 May 2007
- Michael Schmid contributed a faster and more accurate Gaussian Blur filter
(description)
and an improved Unsharp Mask filter
(source code)
that shows how easy it is to write a plugin that processes all ImageJ data types (8-bit, 16-bit, float and RGB)
by using the new CONVERT_TO_FLOAT flag.
- Added the File>Import>Results command, which opens an ImageJ Results
table, or any tab or comma-delimited text file. This command is based on Jerome Mutterer's
Import_Results_Table macro.
- Thanks to Johannes Schindelin, the Edit>Selection>Create Selection and Enlarge commands
create selections that are displayed, analyzed and processed faster because they consist of
fewer line segments.
- Added a "Smooth" checkbox to the "Fonts" window, which is opened by double clicking
on the text tool.
- Added an "Unscale" button to the Analyze>Set Scale dialog box.
- Added a "No Image Border" option to the Edit>Options>Appearance dialog box.
- In theAnalyze>Analyze Particles dialog box, the "Size" parameter is in pixels if the image's unit of lengh is "inch".
- ImageJ switches to the rectangle tool when the user clicks in the CP (Color Picker) window and the current tool is the eye dropper.
- When creating polygon and line selections, the length and angle of the current segment are based on
uncalibrated coordinates when the alt key is down.
- Added an Image>Show Info description (press "i") to the "HeLa Cells" sample image.
- File>Save As>FITS now saves 8-bit (by converting to 16-bit) and
signed 16-bit (by converting to float) images.
- Added the String.resetBuffer, String.append, String.copy and
String.paste macro functions
(documentation).
- The PointRoi.contains(x,y) method now returns true when (x,y) is one of the
points in the current point selection.
- Added the non-static setInstanceColor() method to the Roi class. This color overrides the
global color set by the static Roi.SetColor() method.
- Added the ImageJ.getArgs() method, which returns the command line arguments passed to ImageJ.
- Fixed a bug that caused re-opened composite selections to not work correctly with the
ROI Manager on Java 1.6.
- Fixed bugs that caused the "Set" option in Image>Adjust>Contrast/Brightness and
Image>Adjust>Threshold to not be recorded correctly with 32-bit (float) images.
- Fixed a bug that sometimes caused the progress bar to not be display when opening
slow to load images.
- Peng Xi contributed the
X Shifter plugin,
which corrects the pixel mismatch of confocal spot scanning images or stacks.
- Gilles Carpentier contributed the
Image, Stack and Timelapse Arrow Labelling toolset
(online documentation),
which allows the user to draw arrows on images and stacks. Requires ImageJ 1.38p or later.
- 1.38q, 27 April 2007
- Added the "Use Virtual Stack" option to the File>Import>Image Sequence dialog box.
- Double click on
(the point tool) to change the selection color.
- Added First Frame and Last Frame fields to the Image>Stacks>Animation Options dialog box,
and also the alt+\ keyboard shortcut for opening this dialog.
- The backslash ("\") keyboard shortcut for starting/stopping animation now works with European keyboards.
- ZIP-compressed TIFF and DICOM images open faster.
- File>Save As>Tiff now stores metadata and lookup tables before the image data, resulting in faster
loads when opening TIFFs from a URL or ZIP archive.
- Press "i" (Image>Show Info) to get a description of the File>Open Samples>T1 Head
and T1 Head Renderings sample images.
- The roiManager("Open", path) macro function displays a file open dialog if the second argument is "".
- Added the File.name and File.directory macro functions, which provide the name and
directory path of the last file opened using open(), saveAs(), File.open() or File.openAsString().
- Added the OpenDialog.getLastName() and OpenDialog.getLastDirectory() methods.
- Added the openZip(path) method to the Opener class and removed the ij.plugin.Zip_Reader class.
- Added the getCount() and getRoisAsArray() methods to the RoiManager class.
- Increased the maximum number of vertices a polygonal selection saved using File>Save As>Selection
can have from 32,767 to ~60,000.
- Fixed a bug that could cause particle analyzer measured areas to be slightly larger than expected
with particles with holes, or a composite selection with holes, and "Include Holes" was not
checked in the dialog box.
- Fixed a bug, introduced in 1.38a, that sometimes prevented selection from being added to the ROI Manager.
- Fixed a bug that caused the ImageJ applet to not work correctly when restarted
after being terminated by closing the browser window.
- Fixed a bug that could cause an exception when opening BMP files with names
not ending in ".bmp".
- Fixed a bug that caused ImageJ, when running as an applet, to not load StartupMacros.txt if the
URL did not end in "index.html".
- Ignacio Arganda-Carreras has released
SplineDeformationGenerator,
a plugin that generates deformations (fisheye, elastic, barrel/pincushion, perspective, etc.)
based on cubic B-splines.
- James Norman has released the
RoiPushTool,
a macro/plugin that allows users to "push" an
area of an established selection in any direction, and the
WindowlevelTool,
a macro/plugin that allows users to adjust
the window/level by dragging the mouse over the image.
- 1.38p, 13 April 2007
- Hold down the alt key when moving through the slices in a stack and the
B&C histogram is automatically updated.
- Process>Binary>Make Binary no longer ignores the "Black Background" flag
in the Process>Binary>Options dialog box.
- Added "Bat Cochlea Renderings" to the File>Open Samples menu. These are 3D renderings of "Bat Cochlea Volume",
one created using Image>Stack>3D Project and the other using the VolumeJ plugin.
- Added "T1 Head Rendering" to the File>Open Samples menu, an animation of the "T1 Head" dataset created using VolumeJ.
- Fixed a bug that caused the histogram in the B&C window to not
be updated after switching to a different stack slice.
- 1.38o, 12 April 2007
- Added mouse wheel support for TextWindows ("Results", "Log", etc.).
- Added "Calculate Threshold for Each Image" and "Black Background" checkboxes to the dialog displayed by
Process>Binary>Make Binary and Convert to Mask
when processing stacks.
- Analyze>Analyze Particles now appends summaries for single images to a table similar to the
table used for stack summaries.
- Added a "None" choice to "Output Types" in the Process>Binary>Find Maxima dialog.
- ZIP compressed TIFF and DICOM images open faster and use less memory when downloaded from a URL.
- Added "T1 Head" to the File>Open Samples menu, a 256x256x129
T1 weighted MRI dataset courtesy of Jeff Orchard
(www.cs.uwaterloo.ca/~jorchard/mri/).
- Thanks to a patch submitted by Shannon Stewman, the roiManager("Save", path) macro function
displays a file save dialog if the second argument is "".
- Fixed a bug that could cause an exception when using Analyze>Tools>Calibration Bar on Mac OS X.
- Fixed a bug, introduced in v1.37, that caused the flood fill tool to not
work correctly on floating-point images.
- Fixed a bug that caused the flood fill tool to sometimes fail when doing 4-connected filling of objects with holes.
- Fixed a bug that could cause some TIFF stacks with "white is zero" photometic interpretation
tags to not open correctly.
- Worked around a bug that sometimes caused the roiManager("select",i) macro function to fail on Mac OS X.
- Fixed a bug in Process>Binary>Find Maxima that caused it to not work as expected
if the image had non-area selection (e.g., points) .
- Fixed a bug that caused File>Save As>BMP to write an incorrect
bfSize value to the file header when saving RGB images.
- Gilles Carpentier contributed the
SelectionColorMenuTool macro,
which adds a toolbar menu for changing the selection color.
- Michael Schmid contributed
Blend Images,
a sample plugin that blends one image with another. This verbosely commented plugin works with
all image types because it uses the ip.toFloat(i,fp), ip.setPixels(i,fp) and
ip.getNChannels() methods added in ImageJ 1.38n.
- Jerome Mutterer contributed the
RGB Profiles Tool
macro, which draws red, green and blue
line profiles on the same plot.
- 1.38n, 30 March 2007
- Added the Image>Color>Convert to Composite command, which converts an RGB image, or stack with 2-7 slices,
into a composite color stack.
Use Edit>Adjust>Brightness/Contrast (shift-c) to adjust the brightness/contrast of each
channel of the composite stack. Use Image>Color>Convert Stack to RGB to convert to RGB.
Use Image>Color>Show LUT to plot the current channel's LUT,
or Image>Color>Edit LUT to edit it.
Use Image>Duplicate to extract a single channel or to convert to an ordinary stack.
48-bit RGB TIFFs open as 16-bit composite color stacks and
File>Save As>Tiff saves 3-slice, 16-bit composite stacks as 48-bit RGB TIFFs.
- Added the File>Open Samples>HeLa (1.3M 48-bit RGB) sample image,
a 16-bits/channel composite color image of HeLa cells with red lysosomes, green mitochondria
and red nucleus, contributed by Tony Collins.
- Added the File>Open Samples>Cardio (768K RGB DICOM) sample image,
a 3D heart reconstruction from a Siemens Sensation CT scanner, contributed by Oliver Lazar.
- Added the "Sort Names Numerically" checkbox to the File>Import>Image Sequence dialog box.
- Downloading of ZIP files using File>Import>URL can be aborted by pressing the esc key.
- Added the Analyze>Gels>Re-plot Lanes and Draw Lane Outlines commands, and enabled
"Invert Peaks" in Gel Analyze Options by default.
- The gel analyzer automatically draws lane outlines in a non-destructive graphics overlay.
- Macro functions defined in ImageJ/macros/FunctionLibrary.txt are appended to
macro files when they are run or installed.
- The setColor macro function accepts the same string constants as Plot.setColor
("black", "blue", "cyan", "darkGray", "gray", "green", "lightGray", "magenta", "orange", "pink", "red", "white" or "yellow").
- File>Import>URL can now open ZIP compressed DICOMs
(e.g., http://rsb.info.nih.gov/ij/images/ct.dcm.zip).
- Added the toFloat(i,fp), setPixels(i,fp) and getNChannels() methods to the ImageProcessor class,
courtesy of Michael Schmid
(example).
- Added a constructor to the DICOM class that accepts an InputStream.
- Johannes Schindelin contributed a patch that allows ImageJ to work with .class plugins
that have the main class in a package as long as the package name and
subdirectory name are the same.
- Fixed a bug that caused File>Import>URL to not correctly open
planar RGB TIFFs and DICOMs
(e.g., http://rsb.info.nih.gov/ij/images/cardio.dcm).
- Fixed a bug that caused Image>Show Info to not display the URL of images loaded using
File>Import>URL.
- Joachim Walter fixed a bug in the FFT_Filter plugin (Process>FFT>Custom Filter) that caused
incorrect calculation of the filter from structure sizes.
- Jerome Mutterer contributed the
SinglePanelGelAnalyzer
macro, which uses the Plot functions and the Roi Manager to
plot multiple gel lanes in a single window.
- The
SampleImagesMenu
macro adds a menu to the tool bar with all the images, LUTs
and macros in a specified directory.
- Uwe Walschus created a
PDF version
of the ImageJ macro language documentation.
- 1.38m, 16 March 2007
- Added a "Multi Measure" function to the ROI Manager, based on a similar function in
Bob Dougherty's
Multi_Measure plugin.
- The selection brush tool is faster and uses fewer CPU resources thanks to code contributed by Albert Cardona.
- Added "Width" and "Height" fields and "Menu Bar" and "Monospaced Font" checkboxes to the
Plugins>New... dialog, which are used by macros when opening text windows and tables.
- The print() macro function outputs to a text window
(example1,
example2)
or to a table
(example3,
example4)
if the first argument
is a window title in brackets.
- Added the getInfo("image.subtitle"), getInfo("slice.label"), getInfo(key),
getList("window.titles")
(example)
and getList("java.properties")
(example)
macro functions.
- Added the ImageWindow.createSubtitle() and ImageProcessor.getSnapshotPixels() methods.
- Added a constructor to the DICOM class that accepts a BufferedInputStream.
- Fixed a bug in Image>Stacks>3D Project that caused "Brightest Point"
projections with "X-Axis" rotation to not work correctly.
- Fixed a bug the caused the selection brush tool to fail with non-area selections.
- Fixed a bug that sometimes caused "setThreshold(min,max)" to be recorded when Convert to Mask
was run from a macro.
- Michael Schmid contributed
FilterTester,
a macro that tests whether ImageJ commands produce the same results as
previously and that they work correctly with stacks.
- Michael Doube released
Volume Slicer,
a macro for setting up batch-mode rendering jobs that run Kai Uwe Barthel's
Volume Viewer
plugin.
- Michael Schmid contributed the
FindStackMaxima
macro, which runs Process>Binary>Find Maxima on all the images in a stack,
creating a second stack for the output images.
- 1.38l, 5 March 2007
- Histogram and Plot windows are ignored when tabbing through open images.
- The maximize button works better with zoomed images.
- On Linux, the ImageJ window, menus and dialog boxes consistently use a light gray background.
- Added the ImageJ(Applet, int) constructor to the ImageJ class, where the second argument can be ImageJ.STANDALONE or ImageJ.EMBEDDED.
- Added the ImageJ.exitWhenQuitting(boolean) method.
- Added the ContrastAdjuster.update() method, which is used by File>Revert to update the "B&C" window when
the user restores the original image.
- Added the ImageProcessor.setSnapshotCopyMode(boolean) method.
ImageProcessor.getPixelsCopy() no longer returns a reference to the snapshot buffer unless this method has been called.
- Fixed a bug, introduced in v1.38k, that caused most filters in the Process>Filters submenu to fail when applied to a stack.
- 1.38k, 1 March 2007
- The ability to cycle through the open images by pressing the tab key is working again.
- Commands that open a Web page, such as Help>ImageJ Website, now work on Linux systems
that have any of the following commands: netscape, firefox, konqueror, mozilla, opera, epiphany or lynx.
- The slider buttons in the Image>Adjust>Brightness/Contrast tool use smaller increments with 16 and 32 bit images.
- The "Auto" option in Image>Adjust>Brightness/Contrast works better with images that have a solid background.
- File>Revert updates the Image>Adjust>Brightness/Contrast tool.
- The "Use JFileChooser to Open/Save" option in Edit>Options>Input/Output is no longer saved in
the preferences file on OS X.
- Changed the name of Edit>Options>Display to Edit>Options>Appearance.
- Added the "Menu Font Size" field to Edit>Options>Appearance. Set the size to "0" to use
the Java default menu font size.
- The directory path, returned by the getDirectory("image") macro function, is now retained
by Image>Stacks>Convert Stack to Images.
- Fixed a bug in Image>Stacks>Reslice that caused a black first slice when starting at the bottom or right.
- Fixed a bug that could cause an exception when using the roiManager() macro functions.
- Fixed a bug that sometimes caused the sliders in the "B & C" and "Threshold" windows to blink on Windows.
- Fixed a bug that caused Edit>Selection>Create Mask to fail if "Black Background" in Process>Binary>Options and
"Use Inverting LUT" in Edit>Options>Appearance were both enabled.
- Fixed a bug that caused Edit>Selection>Restore Selection to sometimes fail if the size of the selection was
the same as the size of the image.
- Fixed a bug that caused Edit>Selection>Restore Selection to fail in batch mode macros.
- Rainer Heintzmann has released
View5D,
an ImageJ plugin, Matlab plugin and Java applet that
interactively displays of up to 5 dimensional volumetric datasets.
- Nenad Amodaj and Nico Stuurman have released
Micro-Manager,
an open source software package for microscope image acquisition that runs as an ImageJ plugin.
Micro-Manager controls a number of cameras, shutters, filter wheels, stages and other devices, enabling
acquisition of time-lapses, z-stacks and multi-channel images.
- The
Save As JPEG
macro creates a command that allows the user to press "j' to set the
compression level and save in JPEG format.
- 1.38j, 12 February 2007
- Replaced the Window/ImageJ[enter] command with Show All. Press
shift-f, the shortcut for Show All, to make all windows associated with ImageJ visible.
- Clicking with the angle or segmented line tool deletes the current selection. Click a second time to
start creating an angle or line selection.
- The Image/Type/16-bit and Image/Type/32-bit conversion commands work with RGB images.
- File/Import/Image Sequence skips files with names ending in ".lut", ".roi" or ".pty".
- Thanks to Robert Dougherty, worked around a bug that sometimes caused the first numeric field in a dialog box
to not be editable on Intel Macs.
- 1.38i, 31 January 2007
- When running on Java 1.6, ImageJ opens RGB images using half as much memory.
- The Roi Manager restores selections located outside the image boundary to the center of the image.
- Fixed a bug that caused filter plugins that set the NO_CHANGES flag, but not NO_UNDO, to use extra memory.
- Fixed a bug in Image/Color/RGB Split that could cause it to leak memory.
- Fixed a bug that coused the roiManager("reset") macro function to not work correctly.
- 1.38h, 25 January 2007
- Process/Filters/Gaussian Blur now works with non-integer radii thanks to code contributed by
Kai Uwe Barthel.
- When running on Java 1.6, ImageJ opens 8-bit images using half as much memory.
- Added the setOption("DisableUndo", true) macro function. On Java 1.6, with this option enabled,
ImageJ can open and process an 8-bit image using one third as much memory.
- Added the Plugins/Utilities/Reset command, which replaces Plugins/Utilities/Unlock Image.
- Added eight links to the ImageJ website to the Help menu.
- The "B&C", "Threshold" and "Results" windows remember their screen locations.
- If no images are open, images less than one half the width of the screen open centered on the screen.
- Added a Duplicate command to the Edit menu of the "Results" window and to the drop down menu
that appears when you right click on the "Results" window.
- Added the shift-x keyboard shortcut for the Image/Crop command.
- Edit/Paste displays text on the system clipboard in a text window if the internal clipboard is
empty and there is not an image on the system clipboard
(example).
- Image windows no longer move to the left edge of the screen after being cropped or resized.
- The Plugins/Utilities/ImageJ Properties command displays more information.
- Added a constructor to the ParticleAnalyser class that accepts minCircularity and maxCircularity arguments.
- Fixed bugs that sometimes caused scroll bars in stack windows, in the "Results" window and in the "Log" window to blink
on machines running Windows.
- Fixed a bug that could cause negative calculated mean values with 8-bit images larger than 8MB.
- Fixed a bug that could cause an exception when the ParticleAnalzer class was called from a plugin.
- FCLab released a
plugin
for their FC1000 and FC2000 USB 2.0 cameras.
- Grant Harris released
CamAcqJ,
a plugin that works with QImaging Retiga cameras on Windows, and
a tutorial
that explains how to use the NetBeans IDE for plugin development.
- 1.38g, 12 January 2007
- Michael Schmid contributed an enhanced Plot class (used by Analyze/Plot Profile)
that adds grid lines to plots. This feature can be turned off using the "Draw Grid Lines" checkbox
in the Edit/Options/Profile Plot Options dialog box.
- Added support for mouse wheel scrolling in image windows. Hold the space bar down to scroll horizontally.
- Added the "Label Points" checkbox to the Edit>Options>Point Tool dialog.
- Image/Stacks/Reslice is faster and now works with single images (e.g., you can turn an image on its side).
- On Windows Vista/Java 1.6, tool icons are always drawn using antialiasing.
- Added the setAdditionalFunctions() method to the Interpreter class, which
allows plugins to add functions and global variables to the macro language.
- A ResultsTable displayed in a window not named "Results" can now be
edited using Edit/Cut and Edit/Clear.
- ImageJ displays an error message in the "Log" window if the system ResultsTable is
displayed in a window not named "Results".
- Added the setOption("QueueMacros", boolean) macro function
(example).
- Fixed a bug that caused values written to the "Results" window by a macro
or plugin to be lost without warning
if the window was closed or the Analyze/Measure command was used.
- Fixed bugs that caused the getImageID and getTitle macro functions to not be
aware of images opened by plugins and menu commands.
- Fixed a bug that caused the d2s() macro function to not work as expected if
the resulting string was longer than 12 characters.
- Fixed a bug that sometimes caused the progress bar to be left in an invalid
state by batch mode macros.
- The
AnimatedGaussianBlur
macro demonstrates how to create an animation that shows how an image changes with different filter parameters.
-
Ibidi
(www.ibidi.de)
released
Chemotaxis and Migration Tool,
a plugin for analyzing chemotactical or migration data obtained by video microscopy.
- Added a "Search ImageJ Website Using Google" option and a "Search Mailing List Archives"
link to the to the Search page at
rsb.info.nih.gov/ij/search.html.
- Michael Doube released
Umis_Array,
a macro designed to correlate mineralisation density information from an SEM image of bone and
cartilage to nanoindentation modulus from a UMIS nanoindentation array.
- 1.38f, 22 December 2006
- Added the File/Save As/FITS command, which is a stripped-down version Jennifer West's
SaveAs FITS plugin.
- Added support for FITS, PGM and PNG to the File/Save As/Image Sequence command.
- Files opened using drag and drop are now added to the File/Open Recent menu.
- Added the setOption("OpenUsingPlugins", boolean) macro function
(example).
- Fixed a bug that caused the isOpen() macro function to fail with images opened in batch mode.
- Johannes Schindelin released an alpha version of
ImageJA
(the 'A' standing for 'Applet'), an applet
version of ImageJ that can be embedded into a web page. The ImageJA
website is at
imageja.sourceforge.net.
- Gilles Carpentier contributed the
LSM Transmission Deblurring toolset
(online documentation),
which requires ImageJ 1.38e or later.
- The
Calculate Mean
plugin demonstrates how to use a mask to tally the values
and number of pixels within a non-rectangular selection.
- 1.38e, 15 December 2006
- As a shortcut for Image/Zoom/View 100%, press "+" with the alt key down.
- Menus in the ImageJ window use a larger font (14 pt.).
- Edit/Selection/Enlarge attempts to convert a composite selection into a
polygon selection when a value of zero is specified.
- Added the setCTable(float[],String) method to the Calibration class.
- Added the setKeyDown("esc") macro function
(example).
- Added the setSelectionLocation(x,y) macro function
(example).
- The saveAs("Measuremens",filepath) macro function now works in batch mode.
- Fixed a bug that could cause a plugin to fail if it called IJ.setTempCurrentImage() and
IJ.run("Enlarge"), or any another command that is implemented using macro code.
- Fixed a bug that caused the Edit/Selection/Enlarge command to fail if an image
with the name "Mask" was open.
- Fixed a bug that could cause macros that called run("Add Slice") to fail when not
running in batch mode.
- Jennifer West and Ian Cameron published the paper
Using the medical image processing package, ImageJ, for astronomy
in the Journal of the Royal Astronomical Society of Canada.
- The
PlotRadialMeanVersusAngle
macro generates a plot of mean radial pixel value versus angle.
- 1.38d, 1 December 2006
- Added a "Light Background" option to Process/Binary/Find Maxima.
- Changed the "White Background" option in Process/Subtract Background to "Light Background". Macros that
use the "white" keyword will continue to work.
- Added the Prefs.setImageURL() method, which can be called from the "AutoRun" macro in the StartupMacros to
specify the directory used to load the sample images.
- Fixed a bug, introduced in 1.38c, that caused the Image5D plugin to generate a NoSuchMethodError exception.
- v1.38c, 28 November 2006
- Added the
Process/Binary/Find Maxima
command, which is based on a plugin contributed by Michael Schmid.
- The menu that pops up when you right click on an image can now be customized
(example).
- Michael Schmid contributed improved versions of the Process/Binary/Distance Map, Ultimate Points and Watershed commands.
- Improved support for the maximize/minimize button in image windows.
- Fixed a bug on Mac OS X and Linux, introduced in 1.38a, that sometimes prevented a window displaying a zoomed image from being enlarged.
- Dimiter Prodanov contributed the
Float Morphology plugin,
which does mathematical morphology operations (erode, dilate, open, close) on 32 bit float images.
- Volker Lohweg has made available the
Inhomogen Isotropic Diffusion 2D plugin,
designed as a discrete version of the Perona-Malik PDE.
- Gilles Carpentier contributed the
LUTs, Macros and Tools Updater macro toolset.
- v1.38b, 16 November 2006
- Added macro language support for toolbar menus
(example).
- Albert Cardona added Linux support for opening files dragged and dropped onto the ImageJ window
and an option to open a dragged and dropped folder as a stack.
- Added "Sort" and "Help" options to the
ROI Manager.
- File/Import/URL opens URLs that end in ".html#name" in the default browser.
- The beginning control point of line selections is drawn using the selection color instead of white.
- Image/Stacks/Convert Stack to Images now uses image names in the form "stack-0001",
"stack-0002", etc., where "stack" is the name of the stack.
- Image/Stacks/Z Project creates image names in the form "XXX_stack", where XXX is
"AVG", "MAX", "MIN", "SUM", "STD" and "MED" and "stack" is the name of the stack.
- Added the File.rename() macro function.
- Increased the maximum number of macros that can be installed from 60 to 75.
- Edit/Selection/Create Selection creates, if possible, a non-composite selection. The
"Issue with ROI closing" workaround on the
Documentation Wiki
is no longer needed.
- Fixed a bug that caused a delay on Mac OS X when dragging and dropping files onto the ImageJ window.
- Fixed several bugs in Edit/Selection/Enlarge.
- Fixed a bug that caused color 16-bit ASCII PPM/PGM images to not open correctly.
- Fixed a bug that sometimes caused the "AutoRun" macro to be added to the Plugins/Macros menu.
- Fixed a bug that caused Image/Stacks/3D Project to fail when called from a batch mode macro.
- The
Convert Stack To Binary macro
converts a stack to binary using thresholds calculated locally for each image.
- Michael Schmid contributed the
Click Coordinates Tool macro.
- David Zachmeyer contributed the
Close All Windows macro,
which closes all open image windows.
- Michael Doube contributed the
RadialScattergraph macro,
which draws a radial scattergraph from a CSV (comma-separated values) list of angles and radii.
- v1.38a, 27 October 2006
- ImageJ 1.38a requires Java 1.4.2 or later due to the addition of mouse wheel and maximize/minimize support.
- Added support for the maximize/minimize button in the title bar of image windows.
- Added scroll wheel support to stack windows and the ROI Manager.
- When the the shift is key down, clicking and dragging with the zoom tool zooms to the selection.
- Edit/Paste improvements: pastes from system clipboard if internal clipboard is empty; if no images are open,
opens one and displays internal clipboard; improved Mac system clipboard support.
- Analyze/Calibrate has better support for 16-bit images.
- The ImageJ window is better positioned at startup when the preferences file is not found.
- Newly opened images are better sized and positioned.
- Alt key presses are recorded when using File/Open Next (Open previous) and Analyze/Plot Profile (Plot vertical profile).
- The Image/Stacks/Z Project command uses shorter names for generated images.
- Added the setOption("changes", boolean) macro function, which sets/resets the 'changes' flag of the current image.
- The drawString() macro function supports multiple lines
(example).
- Underscores in Choice control labels in GenericDialogs are converted to spaces.
- Fixed a bug in the selectImage(n) macro function that caused it to be very slow when n was greater than 1.
- Fixed a bug in the ROI Manager that prevented a selection from being added to more than one
stack slice.
- Fixed a bug that sometimes caused File/Import/Image Sequence to not sort files in numeric order.
- Fixed bugs in File/Import/Image Sequence that sometimes caused the estimated stack size to be incorrect.
- Fixed a bug in the IJ.getDirectory() method that caused it to not return null when the user canceled the dialog.
Version 1.37, 13 October 2006
- Patrick Pirrotte released
IJProxy,
a plugin for setting the HTTP proxy settings used by ImageJ
- v1.37u, 6 October 2006
- Lookup tables in the ImageJ/luts folder are added to the Image/Lookup Tables menu.
- Added the "Add to Manager" option to Analyze/Analyze Particles.
- Added the setOption("Show All", boolean) macro function.
- Added the IJ.suppressPluginNotFoundError() method, used by
HandleExtraFileTypes
to better support the
LOCI Bio-Formats
plugin.
- v1.37t, 2 October 2006
- Added the ">>" tool, a drop down menu for installing alternate macro tool sets or for reverting to the default StartupMacros set.
- In the ROI Manager's "Show All" mode, click on label (selection number) to activate the corresponding selection.
- Macros with names ending in "Action Tool" define tools that execute when the user
clicks on the tool icon
(examples).
- Version information is displayed in the status bar when the mouse is over an unused tool.
- Added the "Label" command to the ROI Manager.
- The "AutoRun" macro now only runs when the macros in StartupMacros.txt are installed at start up.
- A default StartupMacros set is loaded from ij.jar if it is not found in the macros folder.
- "Thumbs.db" files are ignored when opening images.
- Fixed a bug that caused the "Use Pointer Cursor" option in Edit/Options/Misc to be ignored when a macro tool was being used.
- Fixed a bug that sometimes caused incorrect Plugins menu entries when using the -Dplugins.dir command line option.
- Erik Meijering has released
MTrackJ,
a plugin for manual tracking of moving objects and measurement
of traveled distances and instant velocities.
- Guy Levy has released
ParticleTracker,
a plugin for multiple particle detection and tracking from digital videos.
- 24 plugins are now available on the
ImageJ Documentation Wiki.
- The
Tool Demo
plugin demonstates how a plugin can add a tool to the ImageJ toolbar..
- Arne Seitz released a
collection of Plugins
for importing PerkinElmer UltraViewERS data into ImageJ.
- v1.37s, 19 September 2006
- Added Analyze/Tools/ROI Manager "Show All" and "Fill" options. Click "Show All" to
display all selections on the ROI Manager list.
Click "Show All" again to stop displaying them. To move a selection, choose it from the list,
click "Update", then move it.
- Added the Plugins/Utilities/Search command.
- Fixed a bug that could cause the "Record Starts" option to not
work as expected when the particle analyzer was called from a plugin
- v1.37r, 7 September 2006
- The three line selection tools now share a single toolbar slot. Right click on the tool icon to switch to
a different tool.
- Point selections are now displayed as white crosses.
- The center of the point selection tool icon is drawn using the current selection color.
- Uncompressed 1-bit TIFF stacks open correctly.
- Clicking on "Open" or "Save" in the Process/Filters/Convolve dialog no longer causes the file-path
to be recorded.
- Double clicking on the freehand selection tool icon no longer displays the Set Measurements dialog.
- Added the setOption() macro function.
- Added the ImageCanvas.disablePopupMenu() method.
- Added the PointRoi(x,y) constructor to the PointRoi class.
- Fixed a macro bug that caused the precision of numeric variables passed to run() functions to
be limited to four decimal places.
- Fixed a bug that sometimes caused the rename() macro function to not work as expected.
- Patrick Pirrotte and Jerome Mutterer released
LSMToolbox,
a plugin for working with images acquired using Zeiss confocal microscopes.
- Patrick Pirrotte released
IJUpdate,
a plugin that supports upgrading/downgrading
to different versions of ImageJ.
- Johannes Schindelin released the
Scrollable StackWindow
plugin, which adds mouse wheel support to stack windows.
- Gilles Carpentier contributed the
Macros And Tools Updater tool,
which looks for new and updated macros and tools, and installs them.
- Jerome Mutterer contributed the
Version Checker macro,
which uses the File.openUrlAsString() function added in 1.37q to verify that you are
running the latest version of ImageJ.
- v1.37q, 30 August 2006
- Added the Edit>Selection>Add to Manager command. Press 't', the shortcut for this command,
to open the ROI Manager or to add a selection to it.
- Added the "More>>" drop down menu to the ROI Manager with Combine, Split and Add Particles commands.
- Messages displayed in the status bar are not overwritten until the cursor moves at least 12 screen pixels away from its location at the time the message was displayed.
- The unit of time ("sec", "msec", etc.) can be entered into the "Frame Interval" field of the Image/Properties dialog box.
- Added the "Interpolate Line Profiles" checkbox to the Edit/Options/Profile Plot Options dialog box.
- Added the roiManager("Select All"), roiManager("index") and File.openUrlAsString() macro functions.
- Added getTimeUnit() and setTimeUnit() methods to the Calibration class.
- The Calibration class implements the Cloneable interface.
- File/Save As/Image Sequence not longer saves the file name in the TIFF header as an "Info" property.
- Fixed a bug that could cause File/Import/Image Sequence to fail on Windows XP systems with directories containing hidden "Thumbs.db" files.
- Fixed bugs in the ImageWindow class that caused incorrect behavior when it was used to replace an existing window containing a zoomed image or an image with a selection.
- Fixed a bug that could result in a blank, non-functional image when the close() macro function was called in batch mode. (1.37p)
- Jerome Mutterer contributed the
Snake macro set,
which demonstrates advanced macro programming techniques.
- Johannes Schindelin contributed the
3D Angle Tool.
- Philippe Carl contributed the
Radial Profile Extended plugin.
- Dimiter Prodanov contributed the
JCalc plugin,
a simple calculator that demonstrates how to write a PlugInFrame.
- v1.37o, 15 August 2006
- Added a "Background" and "Serif Font" options to Analyze/Tools/Scale Bar, based on
code contributed by Divakar Ramachandran.
- Fixed a bug, introduced in v1.37n, that caused the particle analyzer's "Record Starts" option to fail.
- Johannes Schindelin contributed a
JNLP
file (rsb.info.nih.gov/ij/ImageJ.jnlp)
that runs ImageJ using
Java Web Start
and patches that allow plugins to run. (The plugins
and macros folders are assumed to be in the ImageJ folder in the users home directory.)
Another link for running ImageJ using Web Start is available at
rsb.info.nih.gov/ij/applets.html.
- v1.37n, 11 August 2006
- The "zoom indicator", in the upper left corner of magnified images, shows what portion of the
image is currently displayed.
- The spatial scale of profile plots is now set and the cursor coordinates are displayed in the status bar.
- Histogram and profile plot windows are centered on the screen and no longer have the line of information
above the image.
- Image/Stacks/Plot Z-axis Profile now correctly displays the "Slice" value in the Results window.
- The "plugins.dir" property, used to specify the parent of the plugins and macros directories, is now
recognized when there is no "ImageJ" window.
- Drawing text on images is faster on some Linux systems.
- The default headings are no longer assigned to a ResultsTable when it is created or reset.
- Added the ResultsTable.setDefaultHeadings() method.
- Fixed a bug that could cause incorrect text display on some Linux systems.
- Fixed bugs that could cause an exception when importing a DICOM series, especially
one with more than 10,000 images.
- Fixed a bug that could cause the selectImage(id) macro function to fail if there was another open image
with the same title as the one being selected.
- Fixed a bug that could cause columns added to the Results table using setResult() or rt.setValue()
to not appear in the correct order.
- Balaji contributed the
Time Series Analyzer plugin.
- Jonas Wilson-Leedy and Rolf Ingermann contributed the
Computer Assisted Sperm Analyzer plugin.
- v1.37m, 28 July 2006
- Histogram and plot windows are centered on the screen and no longer have the information line above the image.
- The pixel value unit of 32-bit images can be set in the Analyze/Calibrate dialog box.
- Drawing of text on images on Linux is much faster.
- Fixed a bug that could cause the selectImage() and selectWindow() macro functions to fail if the image being
selected and another image had the same name.
- Fixed a bug that could cause an exception when opening a DICOM series using File/Import/Image Sequence
- Fixed a bug that caused the "Slice" parameter to not be displayed correctly by Image/Stacks/Plot Z-axis Profile.
- Ignacio Arganda-Carreras has made available
bUnwarpJ,
a plugin for bidirectional elastic registration of two images.
- Jerome Mutterer contributed the
Calculator Tool macro.
- v1.37l, 20 July 2006
- Image/Selection/Create Mask and Process/Binary/Convert to Mask create black background masks if
"Black Background" is checked in the Process/Binary/Options dialog box.
- "Reset" in Image/Adjust/Threshold resets the histogram and threshold limits to the current slice. If the
alt key is down, it resets based on the histogram of the entire stack.
- Plugins/Edit opens macro files with ".ijm" extensions.
- Plugins in jar files that use the package statement are installed on startup.
- IJ.getDirectory() calls are recorded.
- Fixed a bug that caused "Save" of a single selection in the ROI Manager to fail if no image was open.
- Fixed a bug, introduced in v1.37i, that caused Image/Color/Convert Stack to RGB to fail
with 8-bit stacks.
- Fixed a bug, introduced in v1.37k, that caused the setKeyDown macro function to not work as expected
with makeRectangle, makeOval, makePolygon and makeSelection.
- Gilles Carpentier contributed the
Macro Plugin Shortcuts Tool,
which makes plugin shortcuts for macros and tools.
- Discovering Image Processing for ImageJ
is now available from the
Center for Image Processing in Education.
- Patrick Pirrotte has written a
guide
that explains how to develop plugins using Eclipse.
- v1.37k, 14 July 2006
- Added the selection brush tool, based on Johannes Schindelin and Tom Larkworthy's
ROI Brush Tool.
It shares a toolbar slot with the oval selection tool, so you have to double click,
or right click, on that tool to activate it.
- Renamed the Process/Binary/Threshold command to Make Binary
and removed the option to apply the threshold to only one slice in a stack.
- Added the Process/Binary/Convert to Mask command, which is similar to Make Binary but always
creates images with white (0) backgrounds and inverting LUTs.
- Renamed Edit/Options/Images to Edit/Options/Display.
- Added the "Double Buffer Selections" option to the Edit/Options/Display dialog,
based on code contributed by Erik Meijering. This
option reduces flicker when working with complex selections but it also increases memory usage
and slows screen updates. It is not needed on Mac OS X, which has built in double buffering.
- Added the "CT" sample image.
- ImageJ opens a DICOM (.dcm) image contained in a ZIP archive.
- Windows and Linux users can select multiple items in the ROI Manager by holding down the shift key.
- File/Import/URL opens files ending in .html or .htm in the default browser.
- Image/Stacks/Make Montage saves the number of rows and columns as an image property that can
be retrieved by macros using the getMetadata function.
- The ImagePlus.setRoi() method no longer erases the previous selection, so macros like
CircularSelectionTool
that continuously draw selections are less likely to flicker.
- The run() macro function does the equivalent of setKeyDown("none") before returning.
- Calling setBatchMode("exit & display") in a macro
displays all open batch mode images and exits batch mode.
- Calling roiManager("Split") in a macro splits a composite selection into its components.
- ImageJ, when running on Mac OS X, is less likely to hang while quitting.
- A better message is displayed when an class not found error occurs while a plugin is being loaded.
- Fixed a bug in the getDirectory() function that could cause it to fail when selecting a
root directory on Windows (e.g., "D:\").
- Fixed a bug that caused Edit/Draw to incorrectly draw composite selections.
- The
Sine/Cosine Table
plugin demonstrates how to add values to the ImageJ Results Table.
- Johannes Schindelin contributed the
Topolines macro,
which creates a selection whose outlines are topographic lines.
- Jerome Mutterer contributed the
HDR Explorer Tool macro
for viewing High Dynamic Range Images. It adjusts the display range
to local min and max, a little like what the eye does when scanning a scene.
- The
SelectionIntersection macro
creates the intersection of two ROI Manager selections.
- Cyndy Erickson and Janet Campbell at the University of New Hampshire Coastal Ocean Observing Center have written a
37 page PDF tutorial
with the title "Hands-on Tutorial on How to Access and Work with Remote Sensing Images Using ImageJ".
- Gilles Carpentier contributed the
URLtools macro set,
which adds online resources to the ImageJ tool bar.
- Jerome Mutterer contributed the
HueRotation macro,
which rotates the hue values of an RGB image by a specified angle.
- v1.37j, 29 June 2006
- Added the Edit/Selection/Create Selection command, based on the Threshold_To_Selection plugin contributed by
Johannes Schindelin. This command creates a composite selection from a thresholded image or a binary mask.
- Send commands like "\\Clear" and "\\Update:text" to the Log window to clear it or update its contents.
Refer to the
LogWindowTricks
macro for an example.
- Error and message dialogs use a larger font.
- Added the get(x,y), set(x,y,value), getf(x,y) and setf(x,y,value) methods
to the ImageProcessor class. The get() and set() methods read/write pixels as integers,
and getf() and setf() read/write pixels as floats. Refer to the
Image Inverter
plugin for an example.
- Added the TextPanel.clear() method.
- Added the "CT" sample image (signed 16-bits with DICOM tags).
- Fixed a bug that caused File/New/Image to sometimes create incorrect 8-bit and RGB "Ramp" images.
- Fixed a bug that caused macros with braceless if-else statements containing calls to built in string functions
that returned null to fail.
- Fixed a bug, introduced in 1.35p, that caused macro calls to Image/Properties to
fail to set the voxel depth.
- Jonathan Jackson contributed the
Concatenate
plugin, which concatenates two or more images or stacks.
- Johannes Schindelin and Tom Larkworthy contributed the
ROI Brush
plugin.
- Frank Rogge has made available
QA-Distri,
a package of 11 plugins for QA in digital radiology.
- Olivier Marchal and Noel Converset contributed the
FRET and Colocalization Analyzer plugin.
- Jerome Mutterer contributed the
Montage Shuffler tool macro
for reording images in a montage created using Image/Stacks/Make Montage. Also includes a bonus puzzle to practice with.
- Gilles Carpentier created an improved
AppleScript application
for updating ImageJ on Mac OS X.
- Mikulas Stencel and Jiri Janacek contributed the
Lipschitz Filter plugin.
- v1.37i, 16 June 2006
- Images with inverting LUTs have "(inverting LUT)" added to the information at the top of the window.
- Zoom level is maintained when converting between RGB and RGB (HSV) Stack.
- The Gaussian Blur and Unsharp Mask filters are faster.
- Edit/Cut and Edit/Copy in TextWindows ("Results", "Log", etc.) no longer require a selection.
- Added the Plugins/Macros/Open Startup Macros command.
- Added "Black Background" checkbox to Analyze/Tools/Fractal Box Count.
- File/Import/URL can now open text files.
- A repeated Edit/Select All in a TextWindow is equivalent to "select none".
- Double click on a line containing a file path in a TextWindow to open the file.
- "Apply"in the B&C window is recorded.
- "Update" and "Delete" in the ROI Manager are recorded.
- Added RoiManager.getName() method, which can be called from a macro using
call("ij.plugin.frame.RoiManager.getName", index).
- The "plugins.dir" property (set from the command line using -Dplugins.dir=<path>) can now be either a path to the plugins directory or the parent
directory.
- ImageJ is less likely to hang when quitting.
- Fixed a bug that caused an exception when using Image/Scale with "Interpolate" checked on a one pixel high or one pixel wide image.
- Fixed a bug that caused an exception when Process/Binary/Erode, Dilate etc. were
used on an RGB image.
- Fixed a bug that caused Image Calculator AND, OR and XOR operations to fail with float images.
- Fixed a bug in the ROI Manager that caused saving of selections in directories with an apostrophe in the name to fail.
- Fixed a bug that caused an exception when using the Unsharp Mask filter on some Linux systems.
- Jerome Mutterer contributed the
Action Bar plugin, which creates
an easy to use and customizable tool bar.
- The
PerimeterAndCircularityTest
macro displays measured and theoretical area, perimeter and
circularity of circles with radii between 0.5 and 100.
- Ben Tupper adding an alphabetical index to the top of the
Built-in Macro Functions list.
- v1.37h, 2 June 2006
- The brush tool and drawing of wide lines are faster.
- Commands in menus containing both plugins and macros are now sorted.
- In "Save changes?" dialogs, press return to save the changes, "n" to not save the changes or esc to cancel.
- Close message dialogs (e.g., "Are you sure you want to quit ImageJ?") by pressing return or cancel by pressing esc.
- Macros installed in the Plugins/Macros folder now appear in the Plugins/Utilities/Control Panel.
- When using a macro tool, the cursor no longer changes from a cross to a pointer when it moves over a selection.
- Added the roiManager("rename", "new name") macro function.
- Added the TextPanel.setLine(int, String) method.
- Fixed a bug that caused Edit/Adjust/Brightness/Contrast, and the autoSetThreshold macro function, to not correctly set the threshold for images with symmetrical bimodal histograms.
- Fixed a bug, introduced in 1.37d, that caused the
RunMacro program
to fail if files were not specified using a full path.
- Fixed a bug in the ROI Manager that caused the name to be lost when saving
and restoring a composite selection.
- Fixed a bug that caused Edit/Selection/Enlarge to fail if the enlargement factor was negative and the selection touched the image edge.
- Fixed a bug that caused ImageJ to crash on startup on Linux systems using IceWM.
- Fabrice Cordelieres and Susanne Bolte contributed
JACoP
(Just Another Co-localization Plugin).
- Johannes Schindelin has developed
plugins
that read/write Amira Mesh files and display Amira Surface files.
- Pictures from the first ImageJ User and Developer Conference are available at
imagejconf.tudor.lu.
- Jerome Mutterer contributed the
WeatherOverFrance macro,
which downloads weather maps and animates them.
- The macros from the
"Extending ImageJ with Macros" workshop at the
ImageJ Conference
are now
available.
Copy them to the plugins folder, restart ImageJ,
and run them using commands in the Plugins/Conference Macros
menu (requires ImageJ 1.37g or later).
- David Stepensky contributed the
FRETcalc
(FRET by acceptor photobleaching) plugin.
- Hidenobu Tachibana has created a
Japanese language version
of the ImageJ website.
- BioArts
has created a
Japanese language version of ImageJ
for Windows and Mac OS X.
- v1.37g, 15 May 2006
- Macros in the plugins folder with an ".ijm" extension (ImageJ Macro), and an underscore in the name,
are installed in the Plugins menu at startup. (added 15 May)
- Added Font menu to TextWindows ("Results", "Log", etc.).
- The Edit/Options/Font window (or double click on text tool) now lists all available fonts.
- On Mac OS X, opening images using drag and drop is faster.
- Added the Macros/Evaluate Line command to the editor.
- In the "Log" window, double click on paths to open Java and macro source files (Use with
Find and
Search_Macros
macros).
- Single lines copied from TextWindows ("Results", "Log", etc.) no longer have \n at the end.
- The maximum size of the macro symbol table increased from 32K to 512K.
- Fixed a bug that could cause calculated centroid coordinates to be incorrect with large images.
- Fixed a bug in the image calculator that caused ANDing of an RGB image and an 8-bit mask
to not work correctly if the mask had an inverting LUT.
- Jerome Mutterer contributed the
Fonts macro,
which demonstrates how to use the new getFontList() macro function.
- v1.37f, 5 May 2006
- Fixed a bug, introduced in 1.37e, that sometimes caused the particle analyzer to fail if "Include Holes" was not checked.
- Added getFontList() macro function
(example).
- Hold the shift key down to open a macro installed in the Plugins menu instead of running it.
- Keyboard shortcuts are no longer ignored when the Plugins/Utilities/Control Panel is in front.
- Control Panel windows are centered on the screen.
- v1.37e, 4 May 2006
- Thanks to Joachim Wesner, added a "Complex Fourier Transform" option to the Process/FFT/FFT Options dialog.
- The call() macro function extended to call methods() that do not return a string
(examples).
- Added an "Export Raw in Intel Byte Order" option to Edit/Options/Input/Output.
- The "Redirect To:" feature of the Measure command works with binary masks (8-bit images with the name "mask").
- ImageJ no longer displays an error if the plugins folder is missing.
- Added the drawRect(), drawOval() and fillOval macro functions.
- Made all the fields in ImageJCanvas protected for easier subclassing.
- Added setInsets() method to GenericDialog class.
- Used setInsets() to improve the layout of the Properties, Set Measurements, Scale and FFT Options dialogs.
- The IJ.runUserPlugIn() method no longer requires that the plugins folder be present.
- Added the recordString() method to the Recorder class.
- Added the getCanvas() method to the ImagePlus class.
- Fixed a bug that caused the setColor() macro function to not work correctly with signed 16-bit images.
- Fixed a bug that sometimes caused the JFileChooser to not be used even when "Use JFileChooser to Open/Save" was checked.
- Fixed a bug that caused incorrect titles to be used in JFileChooser dialogs.
- Fixed a bug that caused ImageJ to fail to start if a 'var' declaration in StartupMacros generated an error.
- Fixed a bug that could cause Analyze Particles to fail on images with a width or height of more than
32,000 pixels if "Include Holes" was not checked.
- Fixed a bug that caused the name to be lost if a selection in the ROI Manager was edited and updated.
- Johannes Schindelin contributed the
EPS Writer
(Encapsulated PostScript) plugin.
- v1.37d, 20 April 2006
- Added "Enlarge Image to Fit Result" option to Image/Rotate/Arbitrarily.
- Added "Case Sensitive" and "Whole Words" options to the text editor's Edit/Find command.
- Added "Rodbard (NIH Image)" to the list of functions in Analyze/Calibrate.
- The flood fill (paint bucket) macro tool is now recorded.
- Global variables can now be defined anywhere in a macro file outside of macro and function blocks.
- The drawString() macro function uses antialiasing.
- Macros with names ending in "Tool Selected" are not installed in the menu bar.
- Added constructors to the ImagePlus and ShortProcessor classes that support 16-bit BufferedImages.
- Fixed a bug that caused File/Save As/Image Sequence to not transfer calibration and DICOM tags to files saved in TIFF format.
- Fixed a bug that sometimes caused incorrect histograms of calibrated 8-bit images and signed 16-bit images.
- Fixed a bug that caused incorrect histograms of images containing line, point or angle selections.
- Fixed a bug that caused histograms of images with more than 16 million pixels with the same value to be drawn incorrectly.
- Fixed a bug that sometimes caused Image/Stacks/Z Project to produce incorrect
"Standard Deviation" output with 16 and 32 bit images.
- Fixed bug that caused text to be drawn incorrectly on contrast enhanced 8-bit images.
- Fixed a bug in File/Import/Image Sequence that caused a bogus "ZVI Reader plugin not found" error message when
opening files from a directory containing a "Thumbs.db" file.
- Fixed a bug that caused opening of images from the command line to fail after use of the "cd" command.
- Fixed a bug, introduced in 1.37b, that caused null characters in Image/Show Info output of DICOM images.
- Seth Gammon contributed a
plugin
for spectral unmixing of bioluminescence signals.
- Yasunari Tosa contributed the
Multi Otsu Threshold
plugin.
- Nikos Katsikanis contributed the
Cairn Image Splitter
plugin.
- Jan Palenicek has developed an
ImageJ launcher
for Psion PDAs running the Epoc OS.
- Jonathon Jackson contributed a
wrapper script
for launching ImageJ from the Unix command line.
- Jerome Mutterer contributed the
Show All LUTs
macro, which displays
a montage
of all the LUTs in the luts folder.
- Gabriel Landini contributed the
LUTFileTool
macro, which loads LUT files from the 'ImageJ/luts' directory. He also contributed
a collection of 68 LUT files
(luts.zip, LUT_Montage.jpg).
- v1.37c, 4 April 2006
- Improved Image/Scale command.
- The ImageJ window is slightly larger.
- Added "Antialiased Tool Icons" option to Edit/Options/Misc.
- Restored selections that extend past the image boundary are no longer centered.
- Image screen updates are faster on OS X/Java 1.4.2 and on Linux.
- Added the call() macro function, contributed by Johannes Schindelin, that allows macros
to call static Java methods.
- Call getDirectory("luts") in a macro or plugin to get the path to the ImageJ luts folder.
- Moved the Run Macro command in the editor from the File menu to the Macros menu.
- Fixed bug that caused excessive memory consumption on Windows
when changing LUTs or thresholding.
- Fixed a bug that sometimes caused thresholding of 16 and 32 bit images to
not work correctly on OS X.
- Fixed a bug that caused Image/Crop to fail with non-rectangular selections
that extended beyond the image boundary.
- Fixed a bug, introduced in v1.37a, that prevented running macros installed in the editor's Macros menu
- Jerome Mutterer contributed the
Image To Tool Icon
macro, which converts a 16x16 image (e.g., a
favicon)
into a macro tool icon string.
- The Wikipedia has an
article
about ImageJ.
- Forrest Mims III has written a
review of ImageJ
in The Citizen Scientist, the journal of the
Society for Amateur Scientists
- Gilles Carpentier has created a
web page
that explains how to send commands to ImageJ from AppleScript.
- v1.37b, 24 March 2006
- Added the File/New/ submenu with four command: "Image..." (replaces File/New),
"Text Window" (opens a text editor), "Internal Clipboard" (displays internal
clipboard) and "System Clipboard" (displays system
clipboard; requires Java 1.4 or later).
- Added the Edit/Copy to System and
File/Save As>PNG commands (requires Java 1.4 or later).
- Added a "Propagate to all open images" checkbox to the "Set" dialog in Image/Adjust/Brightness-Contrast and Image/Adjust/Window-Level.
- Analyze/Tools/Save XY Coordinates works with stacks.
- Image/Adjust/Size and Image/Scale now average source
pixels when reducing RGB image by more than 4:1 (e.g., when creating thumbnails).
- Peak areas displayed by the gel analyzer, when the image is calibrated, now use three decimal places.
- Fixed a bug that caused the
Measure and Label
macro, and similar macros, to delete results
without warning when switching between measuring lines and measuring areas.
- Fixed a bug that sometimes caused selections moved by a macro from one slice to another in
a stack to not have the slice number portion of the name updated.
- Tabs written to the "Log" window are no longer converted to spaces.
- Fixed a bug that sometimes caused incorrect display of selected lines in the "Log" window.
- Aurelien Stalder and Daniel Sage have developed the
DropSnake and LB_ADSA
plugins for high-accuracy measurement of contact angles of sessile drops.
- The
CompositeSelections
macro demonstrates how to create discountinuous selections and selections with holes in them.
- v1.37a, 17 March 2006
- Added Font menu to the text editor.
- Added "Min" and "Max" transfer modes to Edit/Paste Control.
- The makeOval(), makeRectangle() and makePolygon() macro functions add to the current selection
if preceded by setKeyDown("shift"), and subtract if preceded by setKeyDown("alt").
- Fixed a bug in Process/Image Calculator that caused it to fail when processing single images in two unequal length stacks.
- Fixed a bug that could cause ImageJ to hang when saving when "Use JFileChooser to Open/Save" was enabled
in Edit/Options/Input-Output.
- Fixed a bug that caused opening of images with pathnames starting with "\\" to fail.
- Fixed a bug that could cause the run() macro function to fail if the keyword for a checkbox in the options
string was contained in a bracketed literal (e.g., "xx=[aa bb cc] bb").
- Ann Arbor Sensor Systems
has developed a
plugin
for their AXT100 thermal imaging camera.
- Maria Barilla contributed
plugins for converting
RGB images into Luv or Lab float stacks.
Version 1.36, 13 March 2006
- v1.36b, 13 March 2006
- Fixed a bug that caused ImageJ to hang if an infinite number was passed to the Plot.add() macro function.
- Fixed a bug that caused histograms to be plotted incorrectly if "Y Max" was set and the "Log" button was pressed.
- In macros, use "setKeyDown('shift'); run('Histogram');" to display a log scaled histogram.
- Fixed a bug that sometimes caused images opened with the Jimi Reader plugin to be displayed incorrectly.
- v1.36a, 10 March 2006
- Added the File>Save As>PGM command, based on a plugin contributed by Johannes Schindelin.
- File>Revert displays a "Revert to saved?" message if the current image has changes.
- The default title used by Image>Scale is now the title of the current image + "-1", "-2", etc.
- Fixed a bug, introduced in 1.35p, that generated an exception when opening PGM files.
- Fixed a bug on Windows that caused Edit/Options/Memory to fail and the "user.dir" property to change when files were dropped on the ImageJ icon.
- The
Editor Demo
plugin demonstrates how to open an editor window containing text.
- Johannes Schindelin contributed the
PNM/PGM/PPM Writer
plugin.
- The
Display Pixel Values
macro displays pixels values in the "Results" window.
- The
Shift RGB Channel
macro shifts the red, green or blue channel in an RGB image by a specified number of pixels.
- Thomas Kuo and Jiyun Byun contributed the
ITCN (Image-based Tool for Counting Nuclei)
plugin.
- The
PlotProfileWithSD
macro creates profile plots with standard deviation error bars.
Version 1.35, 6 March 2006
- v1.35s, 6 March 2006
- The split() macro function no longer ignores blank lines when using "\n" to split lines.
- Fixed a bug that caused the "Use Inverting Lookup Table" flag in Edit/Options/Image
to be ignored when converting to 8-bits.
- Tony Collins contributed the
Leica TIFF Sequence plugin.
- Yannick Krempp contributed
Correct X Shift plugin.
- v1.35r, 1 March 2006
- ImageJ now opens 64-bit (double) FITS images.
- Added a "64-bit Real" image type to File/Import/Raw.
- The "java.io.tmpdir" is used when opening ZIP files.
- Added the getResultLabel(), File.open(), File.openAsString() and File.close() macro functions.
- The 'flags' variable returned by the getCursorLoc() macro function is updated when the mouse is released.
- Fixed a bug that sometimes caused incorrect unit conversions in the Image/Properties dialog.
- Fixed a bug that caused Process/Math/Min (or Max) to sometimes not work correctly with float images.
- Fixed a bug that caused an exception if the IJ.getDirectory() method was called from the event dispatch thread.
- Fixed a bug that caused the "Info" image property to not be saved with ZIP files.
- Fixed a bug that prevented stacks >2GB from being saved as TIFF files. Note that to work with >2GB stacks
you need a 64-bit CPU (e.g., AMD64), a 64-bit OS (e.g., Fedora x86_64) and a 64-bit JVM (e.g., J2SE for AMD64).
- Kai Uwe Barthel contributed the Pong
macro, which demonstrates how to do interactive graphics using the ImageJ macro language.
- The
Signed 16-bit Image
plugin demonstrates how to create a signed 16-bit image from an array.
- v1.35q, 16 February 2006
- Added Process/Math>Exp command and corresponding ImageProcessor.exp() method.
- Image/Zoom/To Selection command improved, thanks to code contributed by Jon Harman.
- File/Save As in TextWindows ("Log", "Info for xxx", etc.) is now recordable.
- The newImage macro function now defaults to "black" for 16 and 32 bit images.
- Fixed a bug that could cause ImageJ to "hang" when quitting with open modified images.
- Fixed a bug that caused the Image/Adjust/Brightness/Contrast tool to not work correctly with 32-bit images containing negative values.
- Fixed a bug, introduced in 1.35o, that caused the Multi_Measure plugin to fail.
- Duane Schwartzwald contributed
Color Space Converter plugin.
- The
CreateImageFromFunction
macro demonstrates how to use a math function to generate an image.
- Added a
signed version
of the ImageJ applet to the ImageJ website that allows use of the
File/Open and File/Save As/ commands.
- v1.35p, 31 January 2006
- Added the "Origin" field to Image>Properties for setting the origin of the coordinate system used by Measure,
Analyze Particles and the ROI Manager.
- Thanks to Jarek Sacha, ImageJ now opens 16 bit/channel color (i.e., 48 bit RGB) images in PGM format.
- Added the getLocalCalibration() method to the ImagePlus class.
- The 208x222 "Lena" sample image was replaced by a 512x512 RGB version.
- Fixed bugs that could cause incorrect display of 16 bit signed pixel values if "Global" calibration was enabled.
- Fixed a bug that sometimes caused an exception when opening LZW compressed 8-bit tiff files.
- Fixed a bug in the applet version of ImageJ that sometimes caused an exception after a restart.
- Damien Farrell contributed
Radon Transform,
a plugin that does back projection of images.
- George Silva contributed a new Windows launcher (ImageJ.exe) that supports
file-associations, drag and drop, auto-configuration and command line operation.
If the ImageJ\jre directory is missing, it detects the latest installed Java, generates
the configuration file (ImageJ.cfg) and sets the memory limit to 2/3 of installed memory or 640MB, whichever is lower.
It is included with a new ImageJ 1.35p installer available on the
Downloads page,
or separately as a
ZIP archive.
Refer to the
Readme
for more information.
- Remi Cathelin contributed
Auto Gamma,
a plugin that gamma corrects images, and
Linearize GelData,
a plugin that linearizes square-root encoded 16-bit .gel images.
- Andreas Jahnen and Johannes Hermen are organizing the
ImageJ User & Developer Conference, which will take place in May at the
Public Research Centre Henri Tudor
in Luxembourg.
- v1.35n, 20 January 2006
- Fixed a bug, introduced in v1.35m, which could cause ImageJ to crash on dual processor Macs.
- v1.35m, 19 January 2006
- Added the Edit/Options/Input/Ouput menu and moved the JPEG Quality and Open/Save Using JFileChooser options to it.
- The default extension in the "Results" window File/Save As command, and in File/Save As/Measurements,
is now ".xls". This can be changed in the Edit/Options/Input/Ouput dialog.
- The algorithm used by Process/Binary/Ultimate Points and Watershed was improved.
- File/Revert works with PGM files.
- Added a "Use Foreground Color" option to Image/Stacks/Make Montage.
- In the "Results" window, added ctrl-s keyboard shortcut for Save As.
- The "Results" window File/Save As command is recordable.
- Added "M51 Galaxy (116K, RGB)"
(www.noao.edu/outreach/aop/observers/m51.html)
to the File>Open Samples menu.
- Added the getVersion() macro function.
- The roiManager("select", index) function is faster.
- Added the close() method to the ImagePlus class.
- Fixed a bug in the selectImage(id) macro function that caused it to fail when id was greater than zero.
- Fixed a bug that caused the run("RGB Merge...") macro function to not correctly delete the source images in batch mode.
- Fixed bugs in Image/Color/Edit LUT that caused "Open" and "Save" exceptions.
- Fixed a bug on Mac OS X that could cause a thread deadlock (the dreaded spinning beach ball) when switching windows.
- Jerome Mutterer contibuted the
Import Results Table
macro.
- v1.35l, 9 January 2006
- Added the ImageListener interface, which enables plugins to be called when images are opened, closed or updated. The
Image Listener plugin demonstrates how to use this interface.
- Added the IJ.openImage() method.
- Fixed a bug that caused the wand tool and particle analyzer to fail with some 32-bit images.
- Fixed a bug in the particle analyzer that caused it to fail with 32-bit images when "Flood Fill" was checked.
- Fixed a bug, introduced in v1.33, that caused scrolling (by holding down the space bar) while creating a polygon selection to fail.
- Fixed a bug in IJ.selectWindow() that caused a 2 second delay when it was called from the event dispatch thread.
- v1.35k, 23 December 2005
- Added the File/Open Next command, which is based on a plugin contribute by Jon Harmon. To open the next image
in a directory, press shift-o. To open the previous image, press alt-shift-o.
- The straight line tool supports sub-pixel addressing. To try this out, zoom in 3200% and create a straight line selection.
- Changed "Flood File" in Analyze/Analyze Particles to "Include Holes", and changed the default
maximum particle size from 999999 to Infinity.
- The ImagePlus.getShortTitle() method removes file name extensions.
- To support sub-pixel addressing, added the screenXD(), screenYD(), offScreenXD() and offScreenYD() methods to the ImageCanvas class.
- Fixed a bug in File>Save As/Image Sequence that could cause it to fail when saving DICOMs and "Use Labels as File Names" was checked in the dialog.
- Fixed bugs that could cause the "Divide by Zero Value" and "Scale When Converting"
options to sometimes reset on Mac OS 9.
- v1.35j, 8 December 2005
- Added -ijpath, -port, -macro, -batch, -eval and -run command line options. These options are described at
the beginning of
ImageJ.java.
- Dialog boxes are no longer resizable, which removes the ugly "grow box" on Mac OS X.
- Keyboard shortcuts are now more likely to work when the "Threshold" and "B & C" windows are in front.
- Added a BARG image type (used by MCID) to the FileInfo class.
- Little-endian ARGB images are now imported correctly.
- Fixed a bug in Process>Subtract Background that generated errors along the right and bottom edges of the background corrected image.
- Fixed a bug that caused a bogus dialog box on startup with Java 1.3.1 on OS X.
- Fixed a bug on Mac OS X that sometimes caused more than one "save changes?" dialog to be open at a time.
- Fixed a bug in the getProfile() macro function that caused it to return incorrect data if the line selection started or ended on or outside the image boundary.
- Vladimir Pilny and Jiri Janacek contributed the
Anisotropic Diffusion 2D plugin,
a filter that reduces noise while preserving edges.
- Jerome Mutterer contributed the
PDF Writer plugin.
- The
OpenGL Example
plugin by Ulf Dittmer shows how to use JOGL/OpenGL graphics.
- Gilles Carpentier contributed the
Magnifying Glass Tool macro,
which is documented at image.bio.methods.free.fr/magtooldoc.html.
- v1.35i, 18 November 2005
- The Analyze/Tools/Curve Fitting tool now accepts comma-delimited data, ignores invalid invisible characters, and displays R^2.
- The R^2 value displayed by Analyze/Calibrate is now calculated correctly.
- Added "Duplicate" to the drop down menu displayed when right-clicking on an image.
- Image/Duplicate creates unique image names by appending "-1", "-2". etc. to the name of the image being duplicated.
- Thanks to code contributed by Ulrik Stervbo, "Open" in the Roi Manager no longer clears the list and reads only .roi files in ZIP archives.
- Added sanity checks to the TIFF decoder.
- Added the selectionName, setSelectionName and toolID macro functions.
- Fixed bugs in File/Import/Text Image that caused it to sometimes fail with files containing invalid invisible characters and to sometimes not read the last line.
- Audrey Karperien contributed the
Fractal Growth Models plugin.
- Audrey Karperien contributed a
plugin
that draws diffusion limited aggregate (fractal growth) models.
- v1.35h, 10 November 2005
- Added "24-bit Integer" image type to File/Import/Raw.
- Fixed a bug, introduced in 1.35g, that sometimes caused a bogus error message when launching ImageJ on Windows.
- Fixed a bug that could caused an extra error message when attempting to open a LUT.
- Jon and Jeff Hardin contributed the
QuickTime Stack Writer plugin.
- v1.35g, 3 November 2005
- On Windows, dropping an image on the ImageJ icon, when ImageJ is already running,
no longer launches another copy of ImageJ. ImageJ uses sockets to detect if it is already
running, a technique suggested by Curtis Rueden.
- On Mac OS X, images dropped on the ImageJ icon now open when ImageJ is not already running.
- Added the Analyze/Distribution command, based on a plugin by Gabriel Landini, and
removed the particle analyzer "Bins" and "Area Distribution" options.
- Pressing Esc cancels a dialog box.
- The particle analyzer supports redirected sampling of RGB images.
Note that redirected sampling is enabled using the "Redirect To:" option
in Analyze/Set Measurements.
- Added an "Update All When Normalizing" option to Process/Enhance Contrast that appears with images that have a selection.
- Changed the "Interpolate Images <100%" option in Edit>Options>Image to "Interpolate Zoomed Images".
- Process/Binary/Threshold and "Auto" in the thresholding tool set the threshold levels of the binary images they create.
- Newly created elliptical selections are allowed to extend beyond the image boundary.
- The toolbar double click threshold was changed from 500 to 650 milliseconds.
- The macro interpreter displays an "Arrays of arrays not supported" message when a macro tries to assign an array to an array element.
- The X axis range (histMin and histMax) of 16-bit images can be be set in the getHistogram() macro function.
- Added the File.exists(), File.getName(), File.getParent(), File.getAbsolutePath(), File.isDirectory(), File.length(), File.makeDirectory(),
File.dateLastModified(), File.lastModified(), File.delete() and File.separator() macro functions.
- Fixed a bug that could cause an exception when using the setupUndo() macro function.
- Fixed a bug that caused Process/Enhance Contrast to not work correctly with non-rectangular selections.
- Fixed a recently introduced bug that caused attempts to add/subtract a polygon selection to/from an existing selection to fail.
- Worked around a Mac OS X/Java 5.0 bug that caused X, Y coordinates displayed in plot windows to be truncated.
- Fixed bugs in the setThreshold(), setAutoThreshold(), resetThreshold(), setMinAndMax() and getMinAndMax() macro functions that caused them to sometimes fail with 16-bit images, especially signed 16-bit images.
- Jerome Mutterer contibuted the
Tiff Comments Editor
macro set, which lets you edit the TIFF comments field of the active image.
- Kunito Yoshida contributed the
Windowed-Sinc Filter plugin, which does low pass filtering of time series stacks.
- Jon Harmon developed
DStretch, a plugin for digital enhancement of pictographs.
He also created a customized ImageJ applet that includes DStretch and 7 sample pictographs.
- Dimiter Prodanov contributed a
plugin that does granulometric filtering.
- v1.35f, 24 October 2005
- Fixed a bug, introduced in 1.35e, that sometimes caused "-1", "-2", etc. to be appended to the image name
after using a type conversion command.
- On Mac OS X, the getDirectory() macro function uses the native file open dialog instead of JFileChooser.
- Daniel Sage et al. have finished a
revamped version of the
Extended
Depth of Field plugin, which merges a stack of microscopic images taken at different focal lengths into a single focused composite image.
This version is faster, uses less memory, has a better user interface, and does 3D surface plotting.
- José G. Conde and Nathaniel Gonzalez have made available the
Visible Human Preprocessing Toolkit and Multiple Image Processor
plugins.
- v1.35e, 18 October 2005
- Added the Process/FFT/FFT Options... command.
- Newly opened images with duplicate names have "-1", "-2", etc. added to the name.
- Added the "Circularity" field to Analyze/Analyze Particles dialog. Particles outside the specified
circularity range are excluded from the analysis.
- Min and max values entered into the particle analyzer dialog box are now scaled values (e.g., mm^2) when the image is spatially calibrated.
- Added the split() method to the Tools class.
- Fixed a bug in Process/Enhance Contrast that caused it to fail when "Normalize" was checked in the dialog box,
or with RGB images, and there was a selection.
- Fixed a bug that caused histograms of 8-bit and RGB stacks to not use a bin width of 1.
- Fixed a bug that caused imported DICOM sequences to sometimes not be sorted correctly by image number.
- Fixed a bug that could sometimes cause ImageJ to hang on Mac OS X when opening files
if "Open/Save Using JFileChooser" was checked in Edit/Options/Misc.
- Fixed a bug that caused TIFFs to be saved incorrectly when using File/Save with renamed images.
- Fixed a bug that sometimes caused a syntax error when running a macro containing invisible characters.
- Gilles Carpentier contributed the
Change Color Tool macro.
- The
QuickTime Movie Writer plugin
now works with Java 1.4 and later on Mac OS X and is packaged with three other QuickTime plugins
(Capture,
Open and
Play).
- The
Batch RGB Merge
macro converts a set of images consisting of separate color channels into an RGB Stack.
- Jonathan Jackson contributed
plugins
for opening and saving UNC (University of North Carolina) format images.
- Sandro Morganella contributed the
IMT Snake plugin,
used for extracting the intima-media thickness (IMT) of the carotid artery in ultrasound images.
- v1.35d, 22 September 2005
- The "Redirect To" option in Analyze>Set Measurements now works with stacks.
- Fixed a bug that caused the Measure and Fill commands to fail after use of Edit/Selection/Fit Spline.
- Fixed a bug that sometimes caused an incorrect paste of non-rectangular selections.
- Fixed bugs that sometimes caused LZW compressed TIFF files to open incorrectly.
- Fixed a macro interpreter bug that caused an error when 'a.length' was used in a print() statement, where 'a' is an array.
- Kai Uwe Barthel has created a stand-alone version of his
Color Inspector 3D
plugin.
- Jerome Mutterer contibuted the
LSM Batch With Colors
macro, which uses the
LSM Reader
to batch convert
LSM files, keeping the original channel colors.
- v1.35c, 7 September 2005
Added "Rename" and "Deselect" buttons to the
ROI Manager
and removed "Add and Draw" and "Open All", which have been replaced by macros
in the
ROIManagerMacros
macro set.
- Macros file names can can now use either ".ijm" or ".txt" extensions.
- File/Revert works with ZIP compressed TIFF images.
- Fixed a bug with the way the ROI Manager handles duplicate names.
- Daniel Sage has made available the
SpotTracker plugin,
which tracks a single particle over a sequence of noisy images.
- George Silva contributed the Packard
InstantImager Reader plugin.
- The
RGB Histogram
macro generates red, green and blue channel histograms and saves them in a stack.
- The
MeasureRGB
macro separately measures the red, green and blue channels of an RGB image.
- The
ExtractRGBChannels
macro demonstrates how to extract the red, green and blue channels from an RGB image.
- v1.35b, 26 August 2005
- Added Rotate, Enlarge and Make Band commands to the Image/Selection submenu.
These commands are the first ones to have been written in the ImageJ macro language.
- The polygon and polyline tools are now recordable.
- Added the setRGBWeights() and makePolygon() macro functions and extended the
makeLine() function so it can be used to create polyline selections.
- Added the Dialog.addNumber(label, default, decimalPlaces, columns, units) macro function.
- Added a constructor to the FloatProcessor that accepts a float[][] argument.
- Fixed a bug, introduced in v1.34, that caused the "save changes" dialog to not be displayed
when closing image windows.
- Chris Davies contibuted the
AzimuthalProfile macro,
which saves profile plots at different azimuthal angles.
- Jonathon Jackson contributed the
Convert to 16-bit Signed,
a plugin that converts images and stacks to signed 16-bit.
- The
Kuwahara Filter plugin smooths images
while preserving edges.
- Guy Williams contributed the
NIfTI Input/Output plugins.
- Camillo Bosco and Sebastiano Battiato have made available
plugins
for performing power and log transforms, contrast stretching and spatial filtering.
- Vilppu Tuominen has made available the
LargeMontage,
an plugin that creates a montage/mosaic out of a set of image file.
- Audrey Karperien contributed the
Fractal Generator plugin,
which draws fractal contours using adjustable size and iteration settings.
- Jim Hull contributed
three plugins
that open Molecular Imaging and Nanoscope AFM files.
- v1.35a, 9 August 2005
- Display a histogram by pressing alt-h and a dialog box will be presented that allows the
bin count and x and y ranges to be specified.
- Analyze/Measure calculates area fractions of 32-bit images.
- TIFF files that specify 72 pixels/inch in the header now open without spatial calibration.
- Images opened using the JFileChooser are added to the File>Open>Recent list.
- Analyze/Set Measurements settings are now saved and restored by the saveSettings() and
restoreSettings() macro functions.
- Added the getSelectionStart() and getSelectionEnd() methods to the TextPanel class.
- Fixed a bug that caused macro statements of the form v=a[i] to fail if the first element of
the array was a string and the element being assigned was a number.
- Fixed a bug that caused the setBatchMode(false) macro call to not
work correctly if the active image was a histogram.
Version 1.34, 12 July 2005
- John Lydon has made available a
44 page PDF document with the title
"The measurement of the modal mineralogy of rocks from SEM imagery: the use of Multispec and ImageJ freeware".
- Laurent Gelman et al. have made available
PixFRET,
a plugin for FRET (Fluorescence Resonance Energy Transfer) calculations.
- v1.34r, 8 July 2005
- Added the imageCalculator() macro function.
- Added a "Text File" type to Plugins/New.
- Plugins/New now uses "My_Plugin", "Filter_Plugin" and "Plugin_Frame" as the default plugin names.
- Fixed a bug that could cause bogus "There are no images open" errors in batch mode macros.
- Fixed a bug in Plugins/New that caused the generated plugin frame to use a tiny window.
- v1.34q, 1 July 2005
- The Measure and Histogram commands now use scientific notation to display very small and very large values.
- File/Import/Text Image opens text format images that use scientific notation.
- Add a "Global" checkbox to Image/Properties.
- Added the setMetadata() and getMetadata() macro functions.
- Clicking outside a selection with the polygon tool no longer starts the creation of a polygon selection.
- Opening a signed 16-bit image disables global calibration.
- The "zeroClip" calibration flag is saved in the TIFF header.
- The File/New "Fill With:" Clipboard option now works correctly with non-rectangular selections.
- Fixed a bug related to pasting non-rectangular selections into same-sized rectangular selections.
- Fixed several BMP read/write bugs thanks to sample images and code contributed by Yasunari Tosa.
- Fixed a bug that could cause Process>Noise>Add Noise and Add Specified Noise
to generate biased noise.
- Fixed a bug that could cause the wand tool to fail with 32-bit images containing NaN pixels.
- Fixed a bug that could cause 32-bit images containing NaNs to be saved incorrectly.
- Leo Durosemont contributed the Telecran (Etch-a-sketch) macro set,
which demonstrates interactive numeric keypad control of macros.
- The
ButtonBar example macro set
adds six buttons to the ImageJ tool bar.
- Walter O'Dell contributed a
plugin
that performs template matching for detection of objects in an image
- Sonia Choubrac, Jean-Nicolas Dacher, Michael Dolores and Sylvain Payrouse
contributed the
MR Urography plugin.
- Pierre Besson has made available a
3D deconvolution plugin.
- Christian Kreutzfeldt has written a
collection of macros
that allow estimation of molecular weights in electrophoresis gels.
- Fabrice Cordelieres contributed the
3D Objects Counter,
Metamorph nd Stack Builder and
DeltaVision Opener
plugins.
- Gilles Carpentier contributed the
Three Channel Fluorescence Image Exploration Tools
macro set.
Documentation and a
sample image are available.
- Gali Baler contributed the
PointsToStack macro,
which creates a stack of sub-images based on a set of user-adjustable points.
- v1.34p, 10 June 2005
- Added "Fill with Background Color" options to the Image/Scale and Image/Rotate/Arbitrarily dialogs.
- Holding down the alt key forces text files to be opened in a TextWindow instead of an Editor window.
- Holding down alt or shift causes Plugins/Compile and Run to compile using the -g option, which adds debugging
information required by symbolic debuggers.
- The "Exclude on Edges" option in the particle analyzer now works correctly with non-rectangular selections.
- The getDirectory() macro function returns the path the the users home directory or
to the ImageJ directory when called with "home" or "startup".
- The ColorProcessor.putPixel() method no longer sets the alpha bits.
- Fixed a bug that could cause BMP images opened in ImageJ to become locked.
- Fixed a bug with the getDirectory() macro function that could cause ImageJ to hang on Mac OS X 10.4 dual processor systems.
- Joachim Walter contributed a
5D data set
(w=256, h=256, ch=2, z=24, t=7) that can be used to test his
Image5D plugins.
- Gilles Carpentier contributed the
Arrow Maker Tool
macro. Examples are at
image.bio.methods.free.fr/Arrowsdoc.html.
- Gali Baler has written
detailed instructions
on how to debug plugins using the NetBeans IDE.
- Ronald Petie contributed the
Anaglyph plugin,
which uses two photographs, made at different angles, to make a stereo image.
- Joachim Walter contributed the
Image5D plugins,
which display images that have up to 5 dimensions: x, y, channel (color), slice (z) and frame (t).
- Federico Viel and Vincenzo Della Mea have made available a
Microscope Stage Controller
plugin.
- The
ArrowTool tool draws arrows.
- The
Translate
macro does image translation.
- Gilles Carpentier contributed the
MultiCursorTool
macro, which displays multiple synchronized cursors.
- Audrey Karperien and Thomas Roy contibuted the
Hull and Circle
plugin for finding the convex hull and bounding circle of patterns in binary images.
- v1.34n, 17 May 2005
- Non-rectangular selections can now be dragged paste the edges of the image.
- Added the getDateAndTime() macro function.
- The command recorder correctly records threshold levels of signed 16-bit images.
- Fixed a bug that prevented filtering of images using the "3-3-2 RGB" LUT.
- Fixed a bug that caused "Standard Deviation" projections using Image/Stacks/Z Project to fail with some 16-bit stacks.
- Fixed a bug with Process/Binary/Threshold that caused all slice labels of the output stack to be
set to the first slice label of the input stack.
- Fixed a bug that caused drawn lines to be the same width when the line width was set to both w and w+1.
- Fixed a bug that caused drawn lines to be positioned incorrectly when the starting coordinates were negative.
- Fixed a bug that caused batch mode macros doing 90 degree rotations to fail.
- Fixed a bug that caused the lengthOf() macro function to fail when called with a string array element.
- Fixed a bug that caused the exit() macro function to fail when called with a variable as an argument.
- The
GetDateAndTime
macro, contibuted by Bill Heeschen, demonstrates how to display the date and time.
- The ChangeColors
macro replaces foreground colors in an image with the background color.
- Jerome Mutterer contibuted the
3Dflight
macro, which demonstrates scripting of Kai Barthel's
Volume Viewer
plugin.
- The BigCursorTool
macro simulates a full window cross-hair cursor using a polygon selection.
- The Windows version of ImageJ is now available bundled with Java 5.0, Update 3.
- v1.34m, 29 April 2005
- Added the Dialog.* macro functions. The
DialogDemo
macro provides an example.
- File>Import>Image Sequence opens files without leading zeros in the names in the correct order.
- The applet version of ImageJ closes non-image windows when quitting.
- The WindowManager.closeAllWindows() method closes non-image windows.
- Fixed a bug that sometimes caused signed DICOM images opened using File>Import>Image Sequence to not open correctly.
- Fixed a bug that caused some filters to fail on images with a paste operation in progress.
- Fixed a bug that caused Process/Filters/Gaussian Blur to not work correctly if "Normalize Kernel" was not
checked in the Process/Filters/Convolve dialog.
- Fixed a bug that caused Image/Zoom/To Selection to sometimes fail with small selections.
- Fixed a bug that sometimes caused Image/Type/ commands to fail in batch mode macros.
- Fixed a bug in Process/FFT/FD Math that caused an exception when "Do Inverse Transform" was not selected in the dialog.
- Fixed a bug that could cause a syntax error when comparing strings in a macro function.
- Fixed a bug that caused batch mode macros calling runMacro() or eval() to fail.
- The CalculateMean
macro demonstrates how one macro can call another macro and pass it a variable number
of numeric values.
- The DeconvolutionDemo
macro demonstrates how to use a point spread function (PSF) and frequency domain convolution
and deconvolution to blur and de-blur an image.
- On Mac OS X, ImageJ may not run after the 10.3.9 upgrade but a new software update ("Java Update for Mac OS X v10.3.9") is supposed to fix the problem.
- v1.34l, 15 April 2005
- The "Flood Fill" particle analyzer option enables measurement of nested particles and causes interior holes to be ignored.
- Added "Skewness" and "Kurtosis" options to the Analyze/Set Measurements dialog.
- The results table can now contain up to 150 columns.
- Results table values are stored as doubles (15 digit precision) instead of floats (7 digit precision).
- Analyze/Measure will display the bounding rectangle of line selections.
- Faster image display on Java 1.5 (aka 5.0).
- Images with up to five dimensions (width*height*channels*depth*time) can be defined in the Image/Properties dialog but
the rest of ImageJ has not yet been updated to support 4D and 5D images.
- Thanks to Ulf Dittmer, ImageJ now opens PBM (Portable BitMap) images, where before it would only open PGM (Portable GreyMap) and PPM (Portable PixMap).
- The applet version of Image will auto-load images. There is an example at
rsb.info.nih.gov/ij/applet2/.
- "Hello World" is no longer automatically added to macro files created using Plugins>New.
- Fixed a bug that caused incorrect line profile plots of images with non-square pixels.
- Fixed a bug that caused incorrect wide line profile plots of density calibrated images.
- Fixed a bug in Image/Stacks/3D Project that caused it to fail if "Rotation Angle Increment" was negative.
- Fixed a bug that caused File/Save As/AVI to fail when using Java 1.1.
- Fixed a bug that could cause an exception if there was an error while opening an image in a macro.
- Fixed a bug in the getDirectory() macro function that resulted in double back slashes with root directories on Windows.
- v1.34k, 1 April 2005
- Slices labels (e.g., DICOM tags) are saved in the TIFF header.
- File/Import/Image Sequence improvements: DICOM images are sorted by image number,
the folder name is used as the title of the stack, better error messages, and
dialog box error messages are redirected to the "Log" window.
- Image/Image Calculator now names output stacks "Result of <image1>".
- The print dialog box is not displayed when File/Print is called from a macro.
- The screen is not updated when setSlice() is used in batch mode macros.
- The saveAs() macro function displays a file save dialog if the second
argument is omitted.
- Added "count", "select", "deselect" and "reset" options to the
roiManager() macro function. For an example, see the
ROI Manager Stack Demo
macro.
- Added the setVoxelSize() and getLocationAndSize() macro functions.
- Added the IJ.redirectErrorMessages() method.
- Fixed a bug that caused the fill() macro function to fail with non-rectangular selections
extending past the image bounds.
- The
SortDemo
macro demonstrates how to sort an array of numbers or an array of strings.
- Andreas Schleifenbaum contributed the
PlotStack
macro, which draws a graph in a stack.
- Remi Cathelin and Christophe Klopp contributed
plugins
for opening/saving images in the ISAC format used by Fuji BAS scanners.
- Ron DeSpain contributed the
Max Value Segmentation
macro, which demonstrates pixel-by-pixel processing of multiple images.
- The
Rotate Image
macro rotates images based on the orientation of a straight line selection.
- Dimiter Prodanov contributed the
RGB Measure Plus
plugin.
- Martin Schlüter contributed the
XYZ2DEM Importer
plugin, which imports XYZ coordinates from a text file and interpolates a Digital Elevation Model (DEM)
image using Delaunay triangulation.
- Michael Doube contributed the
VolumeFractionOfBone
macro, which measures the volume fraction and mineral density of bone in mineralised tissues.
- v1.34j, 16 March 2005
- The tool bar can now contain one more tool.
- Analyze/Histogram works better with float images containing NaNs and +/-Infinity.
- Thanks to Curtis Rueden, ImageJ opens 16-bit LZW compressed TIFFs.
- File/Import/Image Sequence no longer displays "Opening: xxx" messages in the status bar.
- The Mac OS X menu bar is less likely to disappear.
- Added a flood fill (paint bucket) tool to the
DrawingTools macro set.
- Added the floodFill() macro function.
- Added the restorePreviousTool() macro function, which allows creation of tools that perform an action
when they are clicked or double-clicked. The
AboutTool macro
is an example of a single-click action tool and the
Flood Fill Tool
is an example of a double-click action tool.
- Image/Duplicate no longer deletes the source image's selection.
- A "plugins.config" file is automatically generated for JAR files that do not contain one.
- Fixed a bug that caused an exception when using the Plot.show() macro function in batch mode.
- Fixed a bug in Process/Binary/Threshold that sometimes caused a non-functional scroll bar to
appear below the image.
- Fixed a bug in the doWand() macro function that sometimes caused the previous selection to be restored.
- Fixed bugs that prevented .zip files and files using HandleExtraFileTypes from opening from the command line.
- Fixed a bug that caused the median to be calculated incorrectly for float images containing NaNs.
- Per Christian Henden has written
Fractal Count, Map Fractal Count, Susan Filtering, Extrude Map and Gaussian Noise plugins.
- David Bright has created
tutorial exercises
for ImageJ and NIH Image.
- The
OpenImagesFromList
macro demonstrates how to open images using a text file list.
- Paul Werten contributed the
BackgroundCorrectedDensity
macro, which calculates background-corrected integrated density.
- The
QuickTime Capture plugin
now capture multiple frames to a stack and works with Java 1.4.2 on Mac OS X.
- Gilles Carpentier contributed the
DisplayTiffInfo
macro, which displays the Image Description tag of TIFFs created by programs such MetaMorph.
- Philippe Thévenaz has made available
StackReg,
a plugin for the recursive alignment of a stack of images.
- Curtis Rueden contributed the
Zeiss ZVI Reader
plugin.
- Kai Uwe Barthel contributed the
Volume Viewer
plugin, which interactively displays a stack as volume within a 3D space.
- Olivier Marchal and Jerome Mutterer contibuted the
'A trous' Wavelet Filter noise reducing plugin.
- v1.34i, 15 February 2005
- JPEG, GIF and PNG images are no longer cached, which reduces the amount of memory required to open and process these images.
- Added a "Median" option to Analyze/Set Measurements.
- Added an "Auto-Next Slice" option to Edit/Options/Point Tool.
- Image/Show Info adds ">" to the description of DICOM tags that are part of a sequence.
- The default directory used by Plugins/Edit is the ImageJ folder instead of the plugins folder.
- Added the
getStatistics(),
getRawStatistics(),
calibrate(),
replace(),
asin() and
acos()
macro functions.
- The area fraction displayed by the "Summarize" option in Analyze/Analyze Particles no longer ignores selections.
- Worked around a Java 5.0/Linux bug that caused exceptions when opening windows.
- Fixed a bug that could cause macro paste operations to fail if the transfer mode was not "Copy".
- Fixed a bug that caused an exception when opening some Metamorph TIFFs.
- Fixed a bug that caused the getImageID() and getTitle() macro functions to fail after an open() call.
- Jerome Mutterer contibuted
a macro
that changes an image's display gamma by remapping the LUT, which
preserves the pixel values, unlike the built-in Process/Math/Gamma
command.
- v1.34g, 1 February 2005
- The "Auto" option in Image/Adjust/Threshold is recordable.
- File/New now sets the initial display range of 16-bit images to 0-65535 and of 32-bit images to 0-1.
- ImageJ opens 48-bit RGB TIFF stacks.
- The angle in the Image/Rotate/Arbitrarily dialog is displayed using two decimal places.
- The TIFF ImageDescription field is now available as the description field returned by ImagePlus.getOriginalFileInfo().
- Added getSelectionBounds(), getSliceNumber(), fillRect(), screenWidth(), screenHeight(), eval(), runMacro() and toString() macro functions.
- Second argument of getResult() macro function is optional and it now returns NaN if the specified column is not found.
- Added an optional third "mode" argument to the setThreshold() macro function.
- Plugins/Macros/Install displays an error message if the file contains more than 60 macros.
- In the macro language, user functions now override built in functions.
- Fixed a bug in the DICOM reader that caused files with a thumbnail in an indefinite length sequence (e.g., GE Senographe 2000 D) to not open correctly.
- Fixed a bug that sometimes caused macro keyboard shortcuts to fail.
- Fixed a bug that caused a macro to fail if a boolean expression contained line breaks.
- Fixed a bug that could cause ImageJ to crash if a macro with a name duplicating an ImageJ menu command was copied to the plugins folder.
- Fixed stack related problems in the setFont() and setColor() macro functions.
- Fixed a bug that caused Image/Adjust/Brightness/Contrast to sometimes fail if used after a paste operation.
- Fixed a bug that caused user a function call at the beginning of a macro file to fail.
- Fixed a bug that caused Image/Adjust/Brightness/Contrast "Apply" operations on stacks with non-rectangular selections to fail.
- Fixed a bug that could cause ImageJ to hang when quitting on Mac OS X.
- The MeasureAreaFraction
macro measures area percentages in thresholded images or 8-bit binary images.
- The RecordProfile
macro saves profile plot data in the "Results" table.
- The Artillery
macro demonstrates macro programming techniques, and also provides a little relaxation.
- Olivier Marchal and Jerome Mutterer contibuted the
Haar Wavelet
noise reducing filter.
- The OpenSeriesUsingFilter
macro opens an image series as a stack using a customizable file name filter.
- Bo de Lange contributed the
MeasurePieSegmentsTool
macro, which measures and labels predefined pie shaped selections.
- Sergio Caballero has made available the
Colocalize RGB and
Area Calculator plugins.
- Greg Jefferis has made available the
Biorad Writer plugin.
- v1.34f, 13 January 2005
- Added the "Y Max" option to the dialog box displayed when Analyze/Histogram is used on a 32-bit image.
- Batch mode macros that switch between on-screen images run much faster.
- Fixed several batch mode macro bugs.
- The CustomHistogram
macro displays a histogram of the active image or stack using a specified number of bins and fixed X and Y axis.
- v1.34e, 10 January 2005
- Image/Show Info displays additional tags from the headers of DICOM images.
- File/Save As/Raw Data now works correctly with signed 16-bit images and stacks.
- Added the keyDown() macro function. (c)
- Fixed a bug in the setLocation() macro function that could cause it to fail in batch mode macros.
- Fixed a bug in the newImage() macro function that caused it to return before
the newly created image was activated. (d)
- Fixed bugs in the SelectImage() and selectWindow() macro functions that could cause them to fail
in batch mode macros (d).
- The ConvertDicomDictionary
macro converts the DICOM dictionary to the format used by ImageJ.
- The CircularQuadrantMeasure
tool creates an oval (or circular) selection centered around where you click and measures and labels its four quadrants.
- The MakeMontage
macro demonstrates several macro coding techniques.
- v1.34b, 5 January 2005
- Angles displayed by the straight line, polygon and polyline tools are in the range -180 to 180 degrees instead of 0 to 360 degrees.
- The print() macro function accepsts multiple arguments.
- Added the toLowerCase() and toUpperCase() macro functions.
- Fixed a recording bug in Image/Color/Edit LUT.
- Fixed a bug that caused an error when an "AutoRun" macro used a global variable.
- Fixed a bug that caused run("Close") to sometimes fail in batch mode macros.
- Fixed bugs that caused saving in JPEG and BMP formats to fail in batch mode macros.
- Fixed a bug in the macro interpreter that caused an error with assignments in the form
x = f()*y, where f() is a user-defined function.
- Fixed a minor bug in the MedianCut class (Image/Type/8-bit Color).
- Fixed a bug, introduced in 1.33s, that caused the DICOM reader to attempt to open thumbnail images stored in private sequence tags.
- Gary Chinga developed
Image CorrelationJ,
a plugin that calculating the correlation of two images or stacks.
- The BatchConvert
macros convert a folder of images to a different format.
- v1.34a, 21 December 2004
- Thanks to code contributed by Curtis Rueden, ImageJ now opens LZW compressed
8-bit and RGB TIFFs.
- The "Save changes to..." dialog is no longer displayed when a text window is closed by a macro.
- Fixed a bug, introduced in 1.33s, that caused the DICOM reader to open a thumbnail of the image.
Version 1.33u, 15 December 2004
- v1.33u, 15 December 2004
- Image/Stacks/Plot Z-axis Profile uses the "Minimum Y" and "Maximum Y"
values set in Edit/Options/Profile Plot Options, and it no longer requires a selection.
- Added the parseInt() and parseFloat() macro functions.
- Fixed a bug that caused 16-bit signed images imported using File/Import/Raw
to open incorrectly if "Open All Files in Folder" was checked.
- v1.33t, 13 December 2004
- In the Image/Adjust/Size dialog, when "Constrain" is checked, the width
is calculated when the height is changed, and vis versa.
- In the Image/Scale dialog, when the x scale is changed, the y scale is set to the same value.
- Process/FFT/Custom Filter works better with non-float images.
- Added the setAutoThreshold() and rename() macro functions.
- Fixed bugs in Image/Stacks/Convert Images to Stack and ImagePlus.getStack() that caused them to not carry over
the DICOM and FITS header information.
- Added an example
that shows how to analyze a dot blot.
- v1.33s, 7 December 2004
- All DICOM tags are now displayed by Image/Show Info, not just the ones in ImageJ's DICOM dictionary.
- Added the newImage(), save(), saveAs() and getZoom() macro functions, and updated the recorder to generate calls
to newImage() and saveAs().
- The saveSettings() macro function saves more Edit/Options settings.
- Fixed a bug that caused shortcuts created with Plugins/Shortcuts/Install Plugin to fail if the argument
contained one or more back slashes.
- The Cooke Corporation released a
Windows 2000/XP plugin for their
pco.1200hs, pco.1600, pco.2000 and pco.4000 14-bit CCD cameras.
- Gilles Carpentier contributed the
GaussianConvolution
macro, which does image smoothing using a custom Gaussian matrix.
- The StackProfilePlot
macro generates profile plots of all the images in a stack and stores then in another stack.
- Jerome Mutterer contibuted
a macro
that extracts the original name and acquisition mode of JPEG images taken with a Nikon
DXM 1200 camera and ACT-1 software.
- Gabriel Landini contributed the
ResizeImagesAndStack
macro which creates a stack from images that differ in size.
- v1.33r, 26 November 2004
- Analyze/Plot Profile works with straight lines wider than one pixel.
- Double-clicking on any line tool opens a slider widget for setting the line width.
- Added "Use Inverting LUT" option to Edit/Options/Image, which causes, with 8-bit images, zero to be
displayed as white and 255 as black.
- Added "Integrated Density" option to Analyze/Set Measurements. Integrated density
is the product of the area and mean.
- Hold down alt when using Image/Color/RGB Split to keep original image.
- Process/Binary/Erode and Dilate are faster and use less memory.
- Added a "Count" field to Process/Binary/Options.
- Added the 0018,0073, 0018,0074 and 0018,0075 tags to the DICOM dictionary.
- File/Run Macro in the text editor runs the first macro in a macro set.
- Added the setSlice(), getImageInfo() and isNaN() macro functions and the NaN predefined constant.
- The open() macro function now aborts the macro if there is an error or if the file is not found.
- Macros that open windows run more reliably, especially on Mac OS 9.
- Fixed a bug that caused an exception if an invalid value was entered in the ColorChooser used by Image/Color/Edit LUT and Color Picker.
- Fixed an edge handling bug in Process/Binary/Erode and Dilate.
- Fixed an array element argument passing bug in the macro language.
- Kai Uwe Barthel contributed an
interactive 3D surface plot
plugin.
- Michael Schmid contributed the
MaskToSelectionMacros
macro set.
- The OpenMacIPLab
macro opens 16-bit images created by the Mac version of IPLab.
- The ListSelectionCoordinates
macro displays the coordinates of the points that define the current selection, the length of the segments
connecting the points and the average segment length.
- Gabriel Landini contributed the
RandomSampleAndMeasure
macro which creates random selections, then measures and labels them.
- Philippe Thévenaz et al. have made available the
UnwarpJ
plugin that performs spline-based elastic registration of two images.
- Gabriel Landini contributed the
EDM_16bits
macro which extends Process/Binary/Distance Map to support objects
with a radius greater than 255.
- The RadialIntegratedIntensity
macro plots integrated radial intensity from 0-360 degrees.
- The ListDicomTags
macro displays the values of selected DICOM tags.
- Joel Sheffield contributed the
ReplaceRedWithMagenta
macro that replaces the red channel in an RGB by magenta to allow easier viewing by color blind viewers.
- v1.33p, 10 November 2004
- A node can be added to a polygon or polyline selection by shift-clicking on an existing node. A node can be deleted by alt-clicking on it.
- A point in a point selection can be deleted by alt-clicking on it. (Use shift-click to add points.)
- The "+", "-", ">" and "<" shortcuts (without control key) are more likely to work with European keyboards.
- Compiler errors are display using a monospaced font so the "^" error pointer is correctly positioned.
- The IJ.runMacro() method is up to 30 times faster.
- On Mac OS X, text windows use a larger font.
- Worked around a Mac OS X bug that caused the end of newly opened text files to be displayed instead of the beginning.
- Worked around a Mac OS X bug that caused lines in a text windows to be displayed incorrectly after a 'return' was entered.
- v1.33o, 4 November 2004
- Added the Image/Zoom submenu, with commands for zooming in,
zooming out, reverting to original magnification and for zooming to a selection.
- Added the File/Open Recent submenu.
- Added an option to Analyze/Histogram to generate stack histograms.
- Added the "Use Stack Histogram" option to Process/Enhance Contrast and renamed
the "Process Entire Stack" option to "Normalize All n Slices".
- File/Save re-saves TIFF files without a file save dialog.
- Added the "Require Control Key" option to Edit/Options/Misc.
- Plugins/Macros/Install is now recordable.
- "[" and "]" can be used instead of single quotes to delimit parameters that may contain
spaces in run() calls (e.g., run("Tiff...", "save=["+path+"]")).
- Added the atan2() macro function.
- Fixed a bug that caused an exception when opening 48-bit TIFF stacks.
- Fixed a bug in File/Save As/AVI that caused it to sometimes not correctly set the file
length when replacing an existing file.
- Fixed a bug in the macro interpreter that caused statements in the form print(n+s) to fail,
where n is a numeric variable and s is a string variable.
- Fixed a bug that sometimes caused bogus "No windows Open" errors when running a macro.
- Fixed a bug that could cause the roiManager() macro function to sometimes fail if the Roi Manager
was opened and then closed.
- Joachim Walter contributed the
Spectral Unmixing plugins,
which correct for spectral bleedthrough between color channels of fluorescence images.
- Gilles Carpentier contributed the
FFTRemoveStreaks
macro for removing interference streaks from confocal images.
Before and
after
images are provided.
- Jarek Sacha has made available a
plugin
for texture synthesis using image quilting.
- Dimiter Prodanov contributed the
Color Profiler
plugin.
- v1.33n, 22 October 2004
- Added the setBatchMode() macro function. Five example macros are available:
BatchModeTest,
BatchModeCalculator,
BatchMeasure,
BatchSetScale and
BatchRGBMeasure.
- The getFileList() macro function removes files whose names start with ".".
- The selectImage() macro function accepts a string argument.
- Added the close() macro function.
- Added the addResult("Label", row, string) macro function. The
BatchRGBMeasure
macro demonstrates how to use this new function.
- Edit/Selection/Fit Ellipse and Edit/Selection/Convex Hull work with multi-point selections.
- The "Summarize" option in Analyze/Analyze Particles summarizes stacks.
- The "Area" parameter is automatically enabled when "Summarize" or "Size Distribution" is selected in the
Analyze/Analyze Particles dialog.
- Press 'Esc' to abort commands in the Process/Filters submenu.
- Added the IJ.getImageCount() method.
- Fixed bugs that caused Process/Filters commands, Copy, Paste and the Image Calculator to abort macros run from the command line.
- Fixed a bug in Process/Filters/Unsharp Mask when used with RGB images with Rectangular selections.
- Fixed a bug the caused the "Summarize" option in Analyze/Analyze Particles to note work correctly
when analyzing a single image in a stack.
- Fixed a bug in the addResult() macro function that sometimes caused leftover row labels.
- Fixed a bug in Analyze/Tools/Scale Bar that caused it to fail when run from a macro.
- v1.33m, 8 October 2004
- Process/Image Calculator result images inherit the spatial calibration of the first source image.
- The Image Calculator generates a 32-bit result if either input image is signed 16-bit.
- Analyze/Label uses larger font sizes with images displayed using less than 100% magnification.
- Printing works better, especially for large images.
- Added "Rotate 90 degrees" option to File/Page Setup
- File/Import/Image Sequence, File/New, Image/Stacks/3D Project and Image/Stacks/Reslice can be abort by pressing 'Esc'.
- On Mac OS X, the status bar uses a smaller font.
- Image/Stacks/Reslice shows required and available memory in the dialog, preallocates the output stack, and, with line selections, shows the area to sliced.
- The DICOM reader now attempts to open all files with a ".dcm" extension.
- File/New opens stacks faster when "Fill With:" is set to "Black" and it displays the elapsed time in the status bar.
- Fixed a bug in Image/Stacks/Reslice that caused it to sometimes use the wrong display range for the output stack.
- Fixed a bug that caused Analyze/Tools/Calibration Bar to not work correctly with nonlinear calibration functions.
- Fixed a bug that caused the Mac OS X menu bar to disappear when the "B&C" window was active.
- Worked around a Mac OS X bug that caused invalid text editor "Save Changes" dialogs.
- Jérôme Mutterer contributed the
Subtstack Select
plugin.
- v1.33l, 24 September 2004
- Process/Subtract Background works with 16-bit images.
- Rows in the "Results" table are renumbered after a Cut or Clear.
- Analyze/Summarize works correctly after rows have been
Cut or Cleared from the "Results" table.
- Analyze/Summarize works correctly with line measurements.
- Fixed a bug that could cause macros run from the
command line
to abort.
- The
ApplyDicomRescaleSlope
macro multiplies images in a stack by the DICOM Rescale Slope value.
- The
JTwain
plugin uses the Asprise
JTwain
library to acquire images from TWAIN sources.
- Fabrice Cordelieres contributed the
Manual Tracking
plugin.
- Noel Bonnet has
made available plugins for
anisotropic diffusion, shading correction, contrast enhancement,
image gradients, segmentation and generating a toolbar.
- v1.33k, 7 September 2004
- The getProfile() macro function averages horizontally if preceded by setKeyDown("alt").
- Added the getMinAndMax() macro function. See the
DisplayRangeMacros
for examples.
- Added the ResultsTable.setLabel(String, row) method.
- The "Interpolate" option in Image/Stacks/3D Project is ignored if the slice spacing (in pixels) is less than or equal to 1.0.
- Fixed a bug that caused 0.5 to be added to 32-bit images rotated using
Image/Rotate/Arbitrarily when "Interpolate" was selected.
- Fixed a bug that could cause a "too many files open" error when attempting to open TIFF files.
- Fixed a bug, when using ImageJ as a library, that prevented memory from being
released when an image window was closed.
- Fixed a bug in Image/Stacks/3D Project that caused color LUTs to not carry over to the projections stack if "Interpolate" was selected.
- Worked around a Windows/Java 1.5 bug that caused Cntrl+V to fail in the editor (Plugins/Edit).
- v1.33j, 18 August 2004
- Analyze/Analyze Particles now works with 16-bit signed images.
- For 16 and 32-bit images, Image/Adjust/Threshold
now does a B&C "Reset" to work around a display range not equal to pixel value range
thresholding bug.
- File/Open opens the ZIP archives saved by the ROI Manager.
- File/Save As/AVI and File/Import/Image Sequence now
always display a progress bar.
- Operations on stacks now always display a progress bar.
- Added the setFont() macro function.
See the
TextDemo
macro for examples.
- Added the roiManager("Open", path) and roiManager("Save", path)
macro functions.
- Removed the "Thresh." and "Update" buttons from the Image>Adjust>Brightness/Contrast window.
The DisplayRangeMacros replace the "Update" button.
- v1.33i, 11 August 2004
- Added the Edit/Selection/Specify command.
- Macro shortcuts can override built in shortcuts. The
KeyboardShortcuts
macro file contains examples.
- Ctrl-x, ctrl-v and ctrl-a (Cut, Copy and Select All) keyboard shortcuts work in the "Results" window.
- Fixed a bug that prevented status bar display of calibrated frequency values as the cursor is moved over FFT images.
The FFT Measurements
example shows how to use this feature to measure distances between atomic planes in a TEM image.
- Fixed a bug that caused Image/Stacks/3D Project to ignore selections when "Interpolate" was checked.
- Fixed a bug (introduced in 1.33a) that sometimes caused DICOM images to be displayed incorrectly if the RescaleSlope tag was not 1.
- Fixed a bug that sometimes caused DICOM window and level to be set incorrectly.
-
Michael Abramoff, Paulo Magalhaes and Sunanda Ram wrote an article about ImageJ:
Abramoff, M.D., Magalhaes, P.J., Ram, S.J. "Image Processing
with ImageJ". Biophotonics International, July 2004, pp. 36-42.
- The ParticleCircularityHistogram
macro calculates and displays a particle circularity distribution histogram.
- Dirk Scheffler contributed the
DICOM Directory Analyser
plugin.
- Scion released Windows and Mac OS X
plugins
for their Firewire cameras.
- David Dunlap and Marco Caimi contributed the
AVI Splitter
plugin that opens an AVI file for viewing and allows the user to export one or more
segments of the file to an ImageJ stack.
- The
Convert to 16-bit Signed
plugin converts an unsigned 16-bit image into a signed 16-bit image.
- v1.33h, 30 July 2004
- Run a macro or plugin by clicking on an icon in the tool bar
(example).
- The "Fill With: White" option in Edit/New now works with 16-bit and 32-bit images.
- The "Fill With: Clipboard" option in Edit/New displays a more helpful message when
the internal clipboard is empty.
- Added Edit/Select All command to text editor (Edit/New).
- Message dialogs use anti-aliased text.
- The command recorder displays an error message if it encounters a duplicate keyword.
- Added the IJ.error(title, message) method.
- Fixed a bug that caused macros to continue running after an error.
- Fixed a bug that caused the command recorder to insert extra spaces in the options string.
- Bertram Manz contributed the
Bruker Opener plugin.
- Gilles Carpentier created an
AppleScript application
for updating ImageJ on Mac OS X using drag and drop.
- Christopher Philip Mauer contributed the
2D Hybrid Median Filter,
3D Hybrid Median Filter,
RG2B Colocalization and
RGB Zprojector
plugins.
- v1.33g, 15 July 2004
- Extended the cross hair tool and renamed it "point selection tool". Shift-click to add
a point. Double-click on the tool icon to configure. Use the getPolygon() method or
getSelectionCoordinates() function to retrieve the points.
- Analyze/Measure records point tool Z coordinates.
- ROI Manager improvements:
- ROIs added to the list are now bound to the stack slice.
- List items are in the form YYYY-XXXX or SSSS-YYYY-XXXX,
where SSSS is the slice number, YYYY is the y-center and XXXX is the x-center.
- ROI modifications do not alter an ROI on the list unless
"Update" is clicked.
- Removed the "Rename" option. Use "Save" instead.
- ImageJ keyboard shortcuts work when the ROI Manager
is the active window.
- Added support for numeric keypad macro shortcuts in the form "[n0]".."[n0]",
"[n/]", "[n*]", "[n-]", "[n+]" and "[n.]"
- Fixed a bug that generated redundant coordinates when using the freehand and freeline tools
on magnified images.
- Fixed a bug that caused the Prefs.set() method to fail with strings containing a backslash.
- Gilles Carpentier created another example
AppleScript application
that opens an image in ImageJ and processes it. Requires Mac OS X 10.3
- Marco Brugnara contributed the
Contact Angle
plugin.
- The
RoiManagerAddParticles
macro demonstrates how to add particle analyzer outlines to the ROI Manager.
- The
LabelParticlesWithArea
macro demonstrates how to label particles with the "Area" value.
- v1.33f, 7 July 2004
- Macros in "StartupMacros.txt" with the name "AutoRun" run when ImageJ starts up.
- Added "Rename" to menu that pops up when you right click on an image.
- Center of mass of RGB images is now calculated.
- ROI Manager improvements:
- "Add", "Add & Draw", "Measure", "Draw" and "Combine" are recordable.
- "Select All" removed. Most functions now operate on all ROIs if
no items on the list are selected.
- "Open All" removed. "Save" now saves ROIs as a ZIP archive and
"Open" opens ZIP archives.
- "Fill" removed. Instead, use "Combine" and the Edit/Fill command.
- List items are now in the form "TXXXX-YYYY", where T is the selection type,
XXXX is the x-center and YYYY is the y-center.
- Added the roiManager() macro function.
- Worked around a Mac OS X pop-up menu bug.
- v1.33e, 28 June 2004
- With straight line selections, Analyze/Measure now records the angle.
- Fixed several bugs that caused composite selections to be mistaken for line selections.
- Fixed a bug that caused recording of "Apply" in Image/Adjust/Threshold to fail.
- Fixed a bug that could cause File/Import/Image Sequence to fail if the
number of images and a file name filter were specified in the dialog.
- Fixed a bug that caused Edit/Clear Outside to not work with stacks.
- Fixed a bug that caused some operations on stacks to fail with selections inverted
using Edit/Selection/Make Inverse.
- Fixed a bug that caused the getMask() method to sometimes return a mask with a null
pixel array.
- Fixed a bug that caused Help/About ImageJ to generate an exception when ImageJ
was running as an applet.
- Gilles Carpentier created an example
AppleScript application
that opens an image in ImageJ and processes it. Requires Mac OS X 10.3
- Kai Uwe Barthel contributed the
3D Color Inspector
plugin.
- v1.33d, 18 June 2004
- Added the open() macro function and IJ.open() method.
- When using File/Open, the command recorder generates a
call to open() instead of run().
- The command recorder records Image/Adjust/Threshold as a comment.
- Image/Stacks/3D Project of RGB images now works with rectangular selections.
- Fixed a bug that caused ImageProcessor.setColor() to fail with thresholded images.
- Fixed a bug that caused Image/Stacks/3D Project to fail when used from command line programs and macros.
- Fixed a bug that caused plot windows to "popup" in command line programs and macros.
- Fixed a bug that sometimes caused commands to abort if the user clicked on the active image.
- Fixed a bug that caused Plot.setLimits() to sometimes fail.
- The
3D-Distance-Tool
macro measures the 3D distance between two points in a stack.
- The
LineAngleTool
macro draws a line and measures the angle between that line and the vertical axis.
- RunMacro
program runs ImageJ macros from the command line.
- v1.33c, 3 June 2004
- The maximum number of decimal places that can be specified in Analyze/Set Measurements
was increased from 8 to 9.
- Added the IJ.runMacro(macro, arg) and IJ.runMacroFile(path, arg) methods.
- The return statement, when not called in a function, now exits the macro.
If the macro was called using IJ.runMacro() or IJ.runMacroFile(),
it can also return a string value.
- Added the getArgument() and setKeyDown() macro functions.
- Fixed several bugs that caused exceptions or incorrect operation when processing images with
non-rectangular selections extending beyond the edges of the image.
- Fixed a bug that caused an exception if the ByteProcessor.putPixel() method was called
with coordinates that were not inside the image.
- Fixed a bug that caused Process/Filters/Mean to not work correctly
with non-rectangular images if "Separable Square Mask" was checked.
- v1.33b, 26 May 2004
- Opens uncompressed 12-bit TIFFs, including TIFF stacks.
- Pasted non-rectangular selections can be dragged beyond edge of image.
- Copied selections larger than target image can now be pasted.
- Fixed a bug that caused the "Results" window to be opened when using ImageJ as a library. The
Command Line Example
demonstrates how a Java program can use ImageJ as a library.
- Fixed a bug that caused an exception when using Edit/Cut or Edit/Clear Outside with non-rectangular
selections extending beyond the image boundary.
- v1.33a, 19 May 2004
- Adds the Rescale Intercept value (usually -1024 for CT) to DICOM images.
- Calibration data in TIFF and DICOM images imported by File/Import/Image Sequence is now used.
- Fixed a bug that caused most Process/Math commands to fail with 16-bit signed images.
- Added the saveSettings() and restoreSettings() macro functions.
- Image/Color/RGB merge works with 16 and 32 bit images and stacks.
- With 16-bit signed images, the ImageProcessor putPixelValue() method now works symmetrically with getPixelValue().
Version 1.32j, 12 May 2004
- Tony Collins has assembled 98 plugins useful for microscopy and
written an accompanying 45 page manual. The software and manual are available at
http://www.uhnresearch.ca/facilities/wcif/download.php, or online at
http://www.uhnresearch.ca/facilities/wcif/imagej/.
- Pedro Ramos-Cabrer contributed the
Slice Labeler
plugin.
- Thomas Stamm contributed the
DICOM Sort
plugin.
- A
Windows installer
is now available that creates desktop and Start menu shortcuts, an uninstaller,
and is 1.7MB smaller than the ZIP distribution. It was created using the
Marner Java Launcher (ImageJ.exe)
and the
Inno Setup installer generator.
- Fixed bugs in Image/Lookup Tables/Apply LUT and extended
it to work with thresholded images. (j)
- Fixed a bug Analyze/Analyze Particles that sometimes caused the "Summarize" option
to fail if "Clear Results Table" was not checked. (j)
- Dimiter Prodanov contributed the
Color Histogram
plugin.
- Edoardo "Dado" Marcora wrote a
small tutorial
on how to use
Jython
with ImageJ.
- Jeff hardin contributed the
JMF Movie Player plugin.
- Added the Edit/Options/Memory command for setting the Java heap size, which is the
maximum amount of memory available to ImageJ. Requires
Mac OS X or a version of ImageJ that was installed by the new
Windows installer. (i)
- The IJ.showMessage() method and the showMessage() macro function now display HTML formatted text.
For examples, run the HtmlDialogDemo macro.
- Plugins/Compile and Run now runs pre-compiled plugins (.class files). This allows running externally
compiled plugins without having to restart ImageJ. (i)
- Removed the "Create Plugin" button from Plugins/Macros/Record and added a "Name:" field and "?" button.
Use the editor's Edit/Convert to Plugin command to convert a macro generated by the recorder into a plugin. (i)
- Renamed Edit/Options/Miscellaneous as Edit/Options/Misc. (i)
- Fixed a macro bug that caused run() commands to fail if the ending of a keyword in the options string
was the same as another keyword. (i)
- Fixed a bug in the PluginClassLoader that could case loading of resources from JAR files to fail. (i)
- When running Java 1.4.1 or later, or a version of ImageJ installed by the new Windows installer,
ImageJ can display the maximum available memory and the percent memory used. The Window/About ImageJ and
Plugins/Utilities/ImageJ Properties commands, and the status bar when it is clicked, display a string in
the form "22MB of 600MB (4%)". The Plugins/Utilities/Memory Monitor tool
displays the percent memory used. (h)
- The "Out of memory" error message now displays the amount of memory available to ImageJ,
which is approximately equal to the amound set by the -Xmx command line option. (h)
- Added the "Black Canvas" option to the Edit/Options/Image dialog. (h)
- Moved the "Interpolate Images<100%" and "Open Images at 100%" options from
Edit/Options/Misc to Edit/Options/Image. (h)
- Fixed a bug in Process/FFT/Inverse FFT that could cause it to fail if there was a selection. (h)
- Fixed a bug that could cause a blank error dialog box to be displayed when opeing a TIFF. (h)
- Added the Edit/Options/Conversions command, which displays a dialog with "Scale When Converting" and
"Unweighted Color To Grayscale Conversions" options. (g)
- On Windows, the Help/ImageJ Web Site and Help/Online Docs commands no
longer cause the DOS window to open. (g)
- File/Import/URL will open a Web page in the default browser if the specified URL ends in "/". (g)
- Analyze/Calibrate now displays the correct Rodbard equation. (g)
- Macros located in the plugins folder or sub-folder, with at least one underscore
in the name, are installed when ImageJ starts up. (g)
- Added the Plugins/Macros/Run command. (g)
- Added the setupUndo() macro function. For an example, see the
DrawingTools
macros. (g)
- The makeSelection() macro function now accepts a numeric selection type. See the
ScaleSelection macro
for an example. (g)
macros. (g)
- Added the "D" (draw dot) command to the tool macro
icon description language. (g)
- Speeded up the macro language return statement. (g)
- Fixed a macro language bug that caused comparisons of strings longer than eight characters to fail. (g)
- Fixed a bug that prevented macro language
calculator mode
statements from starting with "(". (g)
- Fixed a bug that caused Process/Binay/Threshold to fail with contrast enhanced images. (g)
- Fixed a bug that caused Process/Enhance Contrast to not work as expected when the
"Saturated Pixels" parameter was zero. (g)
- Fixed a bug in the fromCharCode() macro function that caused it to return extra characters. (g)
- Fixed a bug that caused Help/ImageJ Web Site and Help/Online Docs to fail on Windows Me. (g)
- Fixed a bug that caused text file larger than 60K to fail to open on Windows Me. (g)
- Added the getDirectory(), getFileList(), getPixelSize(), startsWith() and endsWith() macro functions.
The
ListFilesRecursively and
ShowImageInfo
demonstrate how to use these functions. (f)
- Image/Stacks/Make Montage displays slice labels, if available, instead of slice numbers. (f)
- Fixed a bug that caused incorrect display of results table row labels with DICOM and FITS images. (f)
- Fixed a bug in Image/Stacks/Plot Z-axis Profile that caused incorrect display of results
table row labels. (f)
- Added the Open() method to the DICOM class. (f)
- Added the setNormalize() method to the DICOM class. (f)
- Gali Baler contributed the
Exif_Reader
plugin for extracting EXIF metadata from digital camera images.
- Cezar M. Tigaret contributed the ShapeRoi class that gives ImageJ the ability
to add/subtract selections and to invert selections. (e)
- Hold down the shift key to add to a selection and the alt key to subtract
from it. Requires Java 1.2 or later. (e)
- Added the Edit/Selection/Invert Selection command. Requires Java 1.2 or later. (e)
- Added the Plugins/Utilities/Capture Screen command, which was written by Gali Baler.
Requires Java 1.3 or later. (e)
- Added a "Combine" option to the ROI Manager. (e)
- Added a "Convert to RGB" option to Import/Image Sequence. (e)
- Added the getThreshold(lower, upper) macro function. (e)
- The number of decimal places used for scale (resolution) values displayed by Analyze/Set Scale and
Image/Show Info are increased as needed. (e)
- The selectWindow("title") macro function now waits up to four seconds. (e)
- Fixed a bug in the isOpen() macro function that caused it to fail when the argument was a string variable. (e)
- Fixed a bug that caused Roi Manager's "Save" function to corrupt the ROI list if the user canceled the save. (e)
- Dimiter Prodanov contributed
an example
that shows how to link ImageJ to a RDBMS engine like MySQL.
- Tony Collins and Tony parker have made available an enhanced version of the
Dispose All Windows
plugin that allows the user to select windows to be closed.
- Analyze/Label now works with the particle analyzer. (d)
- Fixed a bug in v1.32c that sometimes caused the ColorProcessor.fill(mask) method to fail. (d)
- Fixed a bug in v1.32c that caused Image/Adjust/Canvas Size to fail on Mac OS 9. (d)
- Ulf Dittmer enhanced the Prefs class to allow plugins access to the ImageJ preference
file ("IJ_Prefs.txt") and contributed the
Preference Demo plugin that
demonstrates how to save and restore user preferences. (c)
- Added the Image/Color/Edit LUT command, written by Gali Baler. (c)
- Added the Analyze/Label command. As a shortcut, press alt-d. Press alt-m, alt-d
to measure and label. (c)
- Edit/Draw labels the selection with the current measurement number if the alt key is down. (c)
- Added a "Zero Fill" option to Image/Adjust/Canvas Size. (c)
- Moved Analyze/Show LUT to Image/Color/Show LUT. (c)
- Masks are now 8-bits. Roi.getMask(), ImagePlus.getMask() and ImageProcessor.getMask()
return a ByteProcessor instead of int[]. ImageProcessor.setMask(),
ImageProcessor.getHistogram(), ImageProcessor.fill() and ImageProcessor.reset() now expect
a ByteProcessor argument. Added the ImageProcessor.getMaskArray() method which returns a byte array.
The background pixels in a byte mask are zero. Plugins resident on the ImageJ Web site that use masks (e.g.,
Stack Histogram,
Stack Normalizer and
Color Comparison) and
have been updated to use byte masks. (c)
- Filling and drawing of ellipses is faster and the rendering is exactly the same way on all platforms. (c)
- Fixed a bug that caused importing of 1 bit stacks to fail. (c)
- Fixed a bug that caused an invalid error message when opening 1 bit TIFFs. (c)
- Fixed a bug that caused histogram bin start values of 16 bit signed images to be truncated. (c)
- Fixed a bug that caused the "Apply" option in Image/Adjust/Contrast/Brightness to fail
with non-rectangular selections. (c)
- Fixed a bug that prevented the command execution time from being displayed in the status bar if
there was a selection. (c)
- The length of freehand lines used by Image/Stacks/Reslice is now the same
as that reported by the Measure command. (c)
- File name extensions ending in a digit are no longer hidden when "Show Label" is checked
in Analyze/Set Measurements. (c)
- Worked around an OS X/Java 1.4 bug that caused particle labeling to fail. (c)
- Worked around an OS X/Java 1.4 bug that sometimes caused the text tool to enter an extra "d". (c)
- Worked around an OS X/Java 1.4 bug that caused interactive thresolding of 16 and 32 bit images to fail. (c)
- Matt Daniels contributed the
Spectrum Extractor
plugin.
- Brigitte Forster et al. of the
Swiss Federal Institute of Technology Lausanne
have made available the
Extended Depth of Focus
plugin.
- The
PNG Writer plugin
saves images in PNG format on systems running Java 1.4 or later.
- Moved the Image/Benchmarks commands to a
package of plugins
and added the Plugins/Utilities/Benchmark command. (b)
- Multiple files can be selected (by shift-clicking) and opened using File/Open if
"Use JFileChooser" is enabled in Edit/Options/Miscelleaneous. (b)
- Plugins packaged in a JAR file are installed in submenus corresponding to the
folder that contains the JAR file if the *'plugins.config' in the JAR file
does not specify a menu. (b)
- Plugins>Utilities>ImageJ Properties displays a few more properties and,
if the alt key is down, displays all Java properties. (b)
- Keyboard shortcuts now work when the "Results" window is active. (b)
- Added a "Start At" option to File/Save As/Image Sequence. (b)
- Added a "Border Width" option to Image/Stacks/Make Montage. (b)
- XOR mode rubber banding no longer used by the polygon, polyline and angle tools, working
around XOR drawing bugs on Mac OS X. (b)
- Trevor Croft contributed an improved File/Open FITS reader. (b)
- Fixed a bug that caused the '<' and '>' shortcuts to fail to work after using
the slice selector scroll bar. (b)
- Fixed a bug that caused the angle tool to fail for angles of 0 and 180 degrees. (b)
- Clones of the Roi classes are serializable. (b)
- Added the the getPolygon() method to the Roi class and the SetRoi(Polygon), setRoi(Roi),
drawPolgon() and fillPolygon() methods to the ImageProcessor class. (b)
- ResultsTable.getValue() throws an exception i f the column name is not valid. (b)
- Adam Baker contributed the
Quicktime Still Extractor
plugin.
- Stirling Churchman contributed a
plugin
that opens Andor .SIF files.
- Erik Meijering has made available
NeuronJ,
a plugin for neurite tracing and quantification.
- Jerek Sacha contributed the
Maximum Entropy Threshold
plugin.
- Plots generated by Analyze/Gels/Plot Lanes are now normalized when plotting OD calibrated images. (a)
- Selecting a line in the "Results" window no longer requires dragging the mouse. (a)
- Tool descriptions displayed in status bar as cursor moves over tool bar. (a)
- Fixed a bug in File/Save As/AVI that caused it to create AVI files that
could not be opened by the Windows Media Player if the stack's frame rate was less than 1.0. (a)
- Fixed a bug that caused plugins to fail to load if a folder in the plugins folder was not readable. (a)
- Worked around a Mac OS X/Java 1.4 bug that caused labeling done by the Analyze/Gels commands to fail. (a)
- Fixed a bug that caused Process/Binary/Skeletonize to sometimes reduce 45 degree lines to a single pixel. (a)
- Fixed a bug that caused Process/Smooth, Process/Sharpen and Process/Find Edges
to throw an exception with one pixel wide images. (a)
Version 1.31v, 4 February 2004
- The OS X version of ImageJ has a
new icon
based on a photograph by
Tom Grill
of a Hartnack microscope, circa 1870's, at
www.arsmachina.com.
- Albert Cardona has made available a
3D Editing
plugin.
- Jerome Mutterer and Christophe Laummonerie contributed the
RGB Profiler and
Colocalization Finder
plugins.
- Cezar M. Tigaret contributed a greatly improved Plugins/Utilities/Control Panel command
that displays all ImageJ commands in a hierarchical tree structure. (v)
- Process/Binary/Erode, Dilate, Open, Close and Skeletonize now process edge pixels. (v)
- Added the Process/Math/Abs command. (v)
- Added the Edit/Zap Gremlins command to the text editor. (v)
- Menu keyboard shortcuts, when used with the control key held down, no longer
sometimes run commands twice. Note that, except when using the text tool, there is
no need to hold down the control or command key when using keyboard shortcuts. (v)
- Attempts to do 16-bit to 16-bit and 32-bit to 32-bit conversions no longer generate an error message. (v)
- Fixed a bug that sometimes caused the alt key to appear to be stuck down. (v)
- Double-clicking in the Color Picker (Image/Color/Color Picker) brings up a dialog
with sliders for selecting RGB values. (u)
- For 32-bit images, Analyze/Histogram displays a dialog that allows the user to specify the number of bins
and the range of values to be included in the histogram. (u)
- Removed the "Real Histogram Bins" option from the Edit/Options/Miscelleaneous dialog. (u)
- For 16 and 32 bit images, the column label in files created by the Histogram window "List"
option changed from "value" to "bin start". (u)
- The mode of 16-bit images is now the most frequently occuring pixel value rather than the start of the
histogram bin with the largest count. (u)
- Process/Binary/Watershed now uses the Process/Binary/Options dialog. (u)
- Fixed bugs in Process/Noise/Despeckle that caused it to fail with 8-bit stacks and to
not process pixels along the edges of 8-bit images. (u)
- Spatial calibration of images with pixelWidth=1, pixelHeight=1 and pixelDepth!=1 now works as expected. (u)
- Fixed a bug in Analyze/Analyze Particles that erased outside the ROI
if "Cancel" was selected in the "Save?" (Results) dialog. (u)
- Shanrong Zhang contributed
plugins
that open multiple image files from Varian MRI imaging systems
and EVS 900 micro-CT systems.
- Ulf Dittmer added ICO support to the
Jimi Writer
plugin.
- Eric Kischell (keesh) contributed the
Grid Cycloid Arc
plugin.
- Added the Image/Color/Color Picker tool, written by Gali Baler, and retired
Image/Colors. Press shift-k to activate the new color picker. (t)
- Fixed a bug that caused the dynamically updated X and Y values in plot windows to sometimes be invalid. (t)
- Dimiter Prodanov contributed the
GrayMorphology
plugin.
- Jerome Mutterer contributed a
macro
that draws the Mandelbrot set.
- Christopher Mei contributed the
Anisotropic Diffusion,
Mixture Modeling,
Otsu Thresholding and
Watershed Algorithm
plugins.
- The text editor's Save As command is better at choosing the initial directory. (s)
- The Roi clone() method, used by Edit/Selection/Restore Selection, now correctly
duplicates polygon and poly-line selections. (s)
- Worked around a bug that could cause some of the Image/Lookup Tables commands to fail
with some JVMs. (s)
- Fixed a bug in Image/Adjust/Canvas Size that caused it to fail with non-displayed images. (s)
- Fixed a bug that caused the macro recorder to fail with dialogs containing a single checkbox. (s)
- When using ImageJ as a library, the "Results" window can be displayed without the "ImageJ" window being open. (s)
- Added the "Use JFileChooser" option to Edit/Options/Miscelleaneous. Upgrading to the
OS X/Java 1.4.1 version of ImageJ and enabling this
option may reduce the likelihood of ImageJ
crashing on Panther (Mac OS X 10.3). (r)
- Hold down the control key to create centered rectangular and oval selections. This
feature, which currently does not work on the Mac,
is based on code contributed by Richard Bonnaire. (q)
- The image size at the top of image windows is in megabytes for image >= 1024K. (q)
- The "Black Background" option in Process/Binary/Options is saved in the preferences file. (q)
- Image/Stacks/Reslice, with RGB stacks, is faster and uses less memory. (q)
- Replaced the "1/2 Size" option in File/Import/Image Sequence with a more flexible "Scale" option and
fixed a bug that caused memory sizes greater than 2GB to not display correctly. (q)
- Fixed a bug that caused run() macro functions to fail if an option keyword was repeated in the options string. (q)
- The
Virtual Stack Opener
opens an image sequence as a "virtual" (disk-resident) stack.
- Paulo Magalhães contributed the
Ratio Plus plugin,
which calculates the ratio between two images or stacks, as used in Fura-2 experiments.
- The
JAR Plugin demonstrates how
a plugin can be packaged in a JAR file and installed in multiple menus.
- Kurt De Vos contributed the
Excel Writer plugin. This is
the first plugin packaged as a JAR file. It requires ImageJ 1.31p or later.
- Adam Baker contributed the
Radial Grid plugin.
- The
PolygonArea
macro calculates the area of a selection and compares it to the area calculated by
the Measure command.
- ImageJ can install plugins packaged in a JAR file. There is an
example. (p)
- Added the getBoolean() macro function. (p)
- The "List" option in Analyze/Histogram, with calibrated 8-bit images, now displays both calibrated and uncalibrated values. (p)
- A macro error is displayed when the options string in a run() call contains an invalid numeric value. (p)
- Plugins/Edit displays an error message when the user attempts to overwrite a write-protected file. (p)
- Worked around OS X/Java 1.4 bugs in Analyze/Surface Plot, Plugins/Utilities/Monitor Memory
and the freehand selection tools. (p)
- Jeff Hardin updated the QuickTime
Movie Opener and
Movie Player
plugins to work with Java 1.4.x on OS X.
- Joachim Walter contributed the
HyperVolume Opener plugin.
- Added an
example plugin that demonstrates
how to display a grid of numeric fields in a dialog box.
- A Java 1.4.x version of the OS X ImageJ application that may run more
reliably on Panther
is available on the
Download page.
- Kevin (Gali) Baler contributed a plugin for drawing
dotted and dashed lines.
- Added Process/Binary/Fill Holes, based on code contributed by Gabriel Landini. (o)
- Process/Binary/Options allows the user to specify the background color (black or white)
of binary images. (o)
- Daniel Tyreus rewrote the PluginClassLoader so it can read jar files
and non .class resources (images, config files, etc) from the plugins folder.
Everything except the actual class that extends PlugIn
can now be placed in a jar file anywhere in the plugins folder or immediate subfolders.
JavaDocs
are available. (n)
- Polygon filling is now done using Java code instead of java.awt.Graphics.fillPolygon(). The new
fill routine is faster, uses less memory, and works the same way on all platforms. Since
Analyze/Measure does polygon filling, this means that measurement results are exactly the
same on all platforms. (n)
- Analyze/Analyze Particles is faster due to the new polygon filler. (n)
- Worked around several Java 1.4.1 on Mac OS X problems. (n)
- Fixed a bug that could cause ImageJ to hang when quitting on Mac OS X. (m)
- Added the Edit/Selection/Create Mask command. (m)
- Added a "Redirect To" option in Analyze/Set Measurements. (m)
- Changed the "Filled" option in Analyze/Analyze Particles to "Masks". (m)
- The Cooke Corporation released
Windows plugins
for their SensiCam and PixelFly cameras. Plugins for Mac and Linux are under development.
- Kevin (Gali) Baler contributed the
Z Profiler plugin.
- Added the drawPlot() method to the PlotWindow class. See the
Z Profiler plugin
for an example.
- Fixed a bug, introduced in v1.31j, that caused the substring(), lastIndexOf(),
charCodeAt(), split(), makeSelection() and indexOf() macro functions to fail. (l)
- Added "Open..." and "Save..." buttons to the Process/Convolve and
Analyze/Calibrate dialog boxes. (l)
- Added new calibration function, y = a+b*ln(x-c), useful for calibrating to OD standards. (l)
- The Invert, Smooth, Sharpen, Find Edges, Add Noise
and Despeckle commands no longer attempt to process 8-bit true color images. (l)
- Plugins/Edit now opens files with upper case extensions. (l)
- Image/Stacks/Convert Images to Stack now ignores any open stacks. (l)
- Added the setZCoordinate() macro function. For an example, check out the
Z Profile Plotting Tool. (l)
- Added the addPanel() method to the GenericDialog class. (l)
- Erik Meijering has made available
RandomJ,
a collection of plugins (Binomial, Exponential, Gamma, Gaussian, Poisson and Uniform)
for image randomization.
- Added a collection of macro plotting functions. Refer to the
ExamplePlots
macro file for examples. (k)
- Plots created using the Plot class are clipped to the frame. (j);
- Image/Adjust/Threshold auto-adjusts the threshold when it first "sees" a new image. (j)
- The mean, min, max, mode or stddev of the pixels along a line selection are
measured if the parameter is selected in Analyze/Set Measurements.
- Added the "List Values" checkbox to Edit/Options/Profile Plot Options. (j)
- Added the
Dynamic Profiler plugin.
- Walter O'Dell contributed the
DICOM Rewriter plugin for anonymizing DICOM files.
- Fixed a bug in v1.31h that caused images opened by macros to not be refreshed. (i)
- Added a "Median" options to Image/Stacks/Z Project. (h)
- File/Import/URL "remembers" the URL. (h)
- Added a "White Background" checkbox to Process/Binary/Distance Map,
Ultimate Points and Watershed. (h)
- Worked around a bug that caused the Brightness/Contrast and Threshold windows to not
display correctly with Java 1.4.1 on Mac OS X. (h)
- Added a "Selection Only" option to the File>Page Setup dialog. (h)
- Fixed a bug that caused File/Import/Image Sequence to fail to work with PGM files. (h)
- Added the
Animated Sine Wave plugin.
- Added the Edit>Selection>Convex Hull command. (g)
- Added the Edit>Selection>Fit Ellipse command. (g)
- Added a "Normalize" option to Process>Enhance Contrast. (g)
- Added the Process>Math/NaN Background command which sets non-thresholded pixels
in float images to the NaN (Not a Number) value. For float images, the "Apply" option
in Image/Adjust Threshold runs this command. (g)
- Added the setResult() and updateResults() macro functions. Refer to the
Convexity and Solidarity macro
for an example. (g)
- Audrey Karperien contributed the
Named Measurement plugin.
- Added the "Process Entire Stack" checkbox to the Image/Scale dialog box. (f)
- The commands in the Process/FFT submenu work with RGB images and
images that are not a power of 2 size. (f)
- Process/Filters/Unsharp Mask is faster and uses less memory. (f)
- Fixed a bug that caused ImageJ to crash when it was run from the
command line while in the plugins directory. (f)
- Added the Process/FFT/FD Math command, which does frequency domain auto-correlation,
cross-correlation, convolution and deconvolution. (e)
- Fixed bugs in and enhanced the commands in the Process/FFT submenu. (e)
- Fixed a bug that caused the run("Paste") macro function to not work reliably. (e)
- Gabriel Landini has made available a
collection of macros,
including Laplacian, Prewitt, Roberts and Sobel filters, and John Conway's game of life.
- Fixed a bug in File/Save As/BMP that caused it do save 8-bit images incorrectly. (d)
- Added a "32-bit Result" option to Process/Image Calculator. (d)
- The default divide-by-zero value used when dividing 32-bit (float) images is infinity. (d)
- On Mac OSX, the preferences file (IJ_Prefs.txt) is saved in [home]/Library/Preferences. (d)
- Interpolation is disabled when "One Polygon Per Line" is checked in Analyze/Surface Plot.
- Added the getResultsTable() static method and the getValue(String, int) instance method to the
ResultsTable class. (d)
- Kunito Yoshida contributed a
plugin for acquiring images using
the SensiCam long exposure Camera.
- The HandleExtraFileTypes
plugin upgraded to work with images that have text headers. (c)
- The main ImageJ window, except on the Mac, is now resizable. (c)
- The standard deviation used by Process/Noise/Add Specified Noise is saved in the preference file.
- The URL of the images in the File/Open Samples submenu is displayed by Plugins/Utilities/ImageJ Properties. (c)
- 48-bit RGB TIFFs are opened as 16-bit stacks. (c)
- Fixed a bug that caused ImageJ to hang when opening an image with a height more than about 20 time higher
than the height of the screen. (c)
- Selections can now have names. The File/Open, File/Save As Selection,
Image/Show Info, Analyze/Measure and Analyze/Tools/ROI Manager commands were
extended to support this feature. (c)
- Made several improvements to Analyze/Tools/ROI Manager, including a new "Rename" option. (c)
- Jeffrey Kuhn's
Resize Canvas
plugin is now built in as the
Image/Adjust/Canvas Size command. (c)
- Added the Process/Filters/Variance command. (c)
- Added the Process/Filters/Show Circular Masks command. (c)
- Fixed a macro image open synchronization bug on Mac OS X. A
test case
is available. (c)
- Added the setValueUnit() method to the Calibration class. (c)
- Added the getXValues() method to the PlotWindow class. (c)
- Added the
WandAutoMeasure
tool macro.
- Fixed a bug that could cause ImageJ running on OS X to hang when quitting. (b)
- File/Import/LUT opens lookup tables in text format. (b)
- Added the Process/Binary/Watershed command. (b)
- Added "List" option to the Analyze/Show LUT widow. (b)
- Plugins that call IJ.run() are now recorded correctly. (b)
- 1.5 and 2.5 radius circular masks used by Process/Filters commands
are no longer identical to 1.0 and 2.0 radius masks. (b)
- Added the makeSelection() macro function. (b)
- The segment length and angle are displayed in the status bar as polygon
and segmented line selections are being created. (b)
- File/New settings are saved in the preferences file. (b)
- The frame rate in Image/Stacks/Animation Options can now be set as
low as 0.1 fps. (b)
- Process/Filters/Mean is much faster for large kernels. (b)
- Added the
Graphic Overlay plugin.
- Fixed a bug that caused the run("Image Sequence...", "open=...") macro function to fail
when importing DICOM images. (a)
- Fixed a bug with the getInfo() macro function that caused an exception when the
active image contained a selection. (a)
- The makeRectangle() and makeOval() macro functions delete the current selection
if the width or height argument is less than one. (a)
Version 1.30v, 3 July 2003
- Added the
IPLab Reader plugin.
- Gregory Jefferis contributed the
HandleExtraFileTypes plugin.
- Added support for the HandleExtraFileTypes plugin. (u)
- Image/Adjust/Brightness/Contrast now works with 8-bit images with Java 1.4. (u)
- Added "Label All Slices" option to Analyze/Tools/Scale Bar. (u)
- Renamed File/Save As/ROI as File/Save As/Selection and extended
it to support all selection types. (u)
- Fixed setLocation() macro function. (u)
- File/Save As/Image Sequence displays an error if the number
of digits used to generate file names is insufficient. (t)
- The "Apply" function closes the Image/Adjust/Thresold window. (t)
- Image/Duplicate preserves DICOM header information. (t)
- 16-bit to 8-bit scaling improved. (t)
- Anthony Padua and Daniel Barboria contributed the
Substack Maker plugin.
- Angelo Taibi contributed the
Dual-Energy plugin.
- Gregory Jefferis has written a
plugin
to import DM3 transmission electron microscope images.
- Replaced Process/Equalize with Process/Enhance Contrast. (s)
- File/Import/URL opens DICOMs. (s)
- Plugins/Edit and Plugins/Compile and Run are recordable. (s)
- The first <<out of memory>> message refers to
rsb.info.nih.gov/ij/docs/install/. (s)
- Joachim Walter's
FFT Filter plugin
is now built in as the Process/FFT/Band-pass Filter command. (r)
- Added the addNumericField(label, default, digits, columns, units) method
to the GenericDialog class. See the Process/FFT/Band-pass Filter dialog
for an example of how it can be used. (r)
- The path keyword recorded by file open and save dialogs is now
the first word of the dialog title instead of "path". (r)
- Plugins/Utilities/ImageJ Properties works when ImageJ is running as an applet. (r)
- Sonia Choubrac et al. contributed the
Renal Function and Urinary Excretion plugins.
- Julio Cabrera contributed a
texture analysis plugin.
- Dimiter Prodanov contributed the
Granulometry plugin.
- Fixed a bug that caused incorrect histograms of non-rectangular selections that extended beyound
the image boundary. (q)
- Plot window coordinates are displayed with more precision and the "List", "Copy" and "Save"
options use the decimal places specified in Analyze/Set Measurements. (q)
- The y-value interactively displayed in plot windows is now the
graph y-value instead of the cursor y-value. (q)
- Changing "Decimal Places" in Analyze/Set Measurements no longer opens
an empty "Results" window. (q)
- Image/Color/RGB Split (Merge) now maintain spatial calibration. (q)
- Plugins/Utilities/Commands renamed List Commands and
Plugins/Utilities/Shortcuts renamed List Shortcuts. (q)
- Image/Stacks/Z Project works with RGB stacks. (q)
- Fixed Analyze/Tools/Scale Bar Undo bug. (q)
- Pasted rectangular selections can be dragged beyond the image edge. (q)
- The ImagePlus getOriginalFileInfo() method works with stacks opened using
File/Import/Image Sequence. (q)
- Updated the example servlet
to use Sun's JPEGImageEncoder.
- Jarek Sacha created a
packaged version ImageJ 1.30q
that can easily be installed on the Sharp Zaurus PDA.
- Daniel Sage et al. of the
Swiss Federal Institute of Technology Lausanne
have written
fractional splines and wavelets plugins.
- Christopher Philip Mauer contributed the
Kalman Filter plugin, which
removes noise from time lapse image streams.
- The ImageProcessor putPixel() method now clips values outside the range 0-255
(8 bit images) and 0-65535 (16 bit images). (p)
- ImageJ now executes macros passed on the command line. For example,
java -cp ij.jar ij.ImageJ script.txt
causes ImageJ to run the macro script.txt on startup. (p)
- The ReturnStatements.txt
macro demonstrates the use of return statements to return arrays and strings. (p)
- ShowPath.txt
macro demonstrates how to retrieve the path. (p)
- The message "1 macro installed" no longer displayed when opening text files. (p)
- Kurt DE Vos contributed the
Image Viewer plugin.
- Jerome Mutterer contributed the
Guess RAW plugin.
- Improved macro run-time error checking. (o)
- Added the split() macro function. (o)
- Copying the contents of text windows such as "Results" to the clipboard is now faster and more reliable. (o)
- Analyze/Tools/ROI Manager and Edit/Options/Fonts are now listed in the Window menu. (o)
- Walter O'Dell contributed the
Contour Plotter plugin.
- Added Process/FFT submenu. (n)
- Added the indexOf(s1,s2,fromIndex) macro function. (n)
- Image/Type/8-bit Color is now always check if the active image's LUT has any color entries. (n)
- Fixed a bug in File/Import/Image Sequence that caused an exception if ImageJ was not able to open any
images in the specified folder. (n)
- Anthony Padua contributed the
Query DICOM Header plugin.
- Pierre Bourdoncle and Christophe Chamot contributed the
Colocalization plugin.
- File/Import/Image Sequence saves DICOM and FITS header information in
the stack so Image/Show Info can display header information for each image. (m)
- Added the File/Save As/Text command for saving the contents of TextWindows such as
"Log" and "Info for XXX". (m)
- The selectWindow() macro function and the File/Close command now work with
non-image windows. (m)
- Added the getInfo() macro function. (m)
- Moved the Select All, Select None and Restore Selection
commands to the new Edit/Selection submenu. (m)
- Added the Edit/Selection/Fit Spline command, which is based on code contributed by
Eric Kischell and John Bradley (author of XV). (m)
- Added BMP option to File/Save As/Image Sequence. (m)
- File/Import/Image Sequence no longer display "Unable to open"
messages for files with names starting with a period. (m)
- Image/Stacks/Z project now carries over calibration to the projection image. (m)
- Tony Parker created a
plugin
that extends and improves the Stacks/3D Project command.
- Fixed a bug that caused the setPasteMode("Multiply") macro function to fail. There is a test case at
PasteControlDemo.txt. (l)
- Rectangular, oval, polygon, straight line, segmented line and angle selections
can now be edited by dragging "handles". The cursor changes to a hand when
the mouse is over a handle. (l)
- Tool macro options can be set by double-clicking on the tool icon. For examples, see
LineTool.txt and
SprayCanTool.txt. (l)
- Tool macros now draw using the current foreground color. (l)
- Patrick Pirrotte & Jerome Mutterer contributed the
HyperVolume Browser plugin.
- Added support for tool macros. For examples, see
Tools.txt,
PencilTool.txt
and CircularSelectionTool.txt. (k)
- Added the getSelectionCoordinates() macro function and removed the nCoordinates function and the xCoordinates
and yCoordinates built in arrays. See
SelectionCoordinates.txt,
ConvexHull.txt and
FeretsDiameter.txt
for examples. (k)
- The "Auto" function in Image/Adjust/Threshold now works with 16-bit images. (j)
- Fixed a bug in Analyze/Analyze Particles that could cause invalid results when
working with a selection. As a result of the fix, particles are now clipped at the selection boundary. (j)
- Fixed a bug in The ROI Manager that could cause the "Measure" function to not work correctly
when measuring a single slice in a stack. (j)
- Added the getLut() and setLut() macro functions. See
LookupTables.txt
for examples. (j)
- Eric Kischell contributed the
Joel Time Stamper
plugin which adds time annotation to images opened from a list.
- Patrick Pirrotte & Jerome Mutterer contributed the
LUT Panel
plugin which provides fast access to LUT functions and a LUT editor.
- When using the text tool, alt-m or alt-u displays the micron symbol and alt-shift-a displays the Anstrom symbol.
- Enter "A" as the unit of length in Analyze/Set Scale or Image/Properties and
it will be converted to the Angstrom symbol. Enter "um" and it will be converted to "µm".
- Added "Open Images at 100%" option to Edit/Options/Miscellaneous. (i)
- Added "Hide Text" option to Analyze/Tools/Scale Bar. (i)
- The "Auto" option in Image/Adjust/Threshold works with 16-bit images. (i)
- Added getBoundingRect(), indexOf(), lastIndexOf(), substring(),
fromCharCode() and charCodeAt() functions to the macro language. (i)
- Analyze/Histogram no longer ignores the "Limit to Threshold" measurement option. (h)
- File/New uses a progress bar when creating stacks. (h)
- "Out of memory" errors now displayed in "Log" window. (h)
- Added getHistogram(), getLine() and getVoxelSize() functions to the macro language. (h)
- Moved Plugins/Record to Plugins/Macros/Record. (h)
- PixelSmart released an ImageJ plugin for their
line of video frame grabbers cards (Windows only).
- Added the Plugins/Macros/Install Macros command. (g)
- Macros in the file ImageJ/macros/StartupMacros.txt are automatically installed
in the Plugins->Macros submenu at startup. (g)
- Added the File/Save As/BMP command. (g)
- ImageJ now opens 32-bit (BGR0) BMP images. (g)
- The "Limit to Threshold" option in Analyze/Set Measurements now works with
32-bit floating-point images. (g)
- Pixels with a value of Float.NaN (0f/0f), Float.POSITIVE_INFINITY (1f/0f)
or Float.NEGATIVE_INFINITY (-1f/0f) are ignored when making measurements on 32-bit images. (g)
- Added support for macro keyboard shortcuts. For examples, see
Shortcuts.txt. (e)
- User-defined macro arrays are now typeless. For an example, see
Arrays.txt. (d)
- Added the getCursorLoc(x,y,z,flags), getImageID(), selectImage(id), isOpen(id),
isActive(id) and atan(angle) macro functions. (e)
- Added the Angle tool. (d)
- Process/Noise/Add Noise and Process/Noise/Add Specified Noise work with 16 bit images. (d)
- Process/Noise/Despeckle works with 16 and 32 bit images. (d)
- Displays an error if the "Width", "Height" and "Offset" fields in the File/Import/Raw dialog are not
consistant with the file size. (d)
- ImageJ opens 3D FITS data sets and opens FITS files more reliably thanks to code contributed by Alex Cabello. (c)
- Fixed a bug that caused the "Global" option in Analyze/Set Scale and
Analyze/Calibrate to not work as expected. (c)
- Added the newArray(size), getProfile() and setLocation(x,y)
macro functions. (c)
- Added the Image/Lookup Tables/Apply LUT command. (c)
- Added "Flip Vertically" and "Rotate 90 Degrees" options to the Image/Stacks/Reslice command. (c)
- The offset field in the File/Import/Raw dialog can now be greater than 2,147,483,648
(2GB). (c)
- Added the changeFont() and setLineWidth() methods to the PlotWindow class. The
Example Plot plugin
demonstrates how to use these methods. (c)
- Fixed a bug in Image/Adjust/Threshold that sometimes caused incorrect
display and plotting of the threshold levels of 16 and 32 bit images. (c)
- The "Set" option in Image/Adjust/Threshold, when used with 32-bit images, is now
recorded correctly. (c)
- Processing of entire stacks in Image/Scale is now optional. (b)
- Fixed a bug, introduced in 1.29d, that caused Image/Scale to work incorrectly if the
Y Scale was less than one and "Create New Window" was not checked. (b)
- Fixed a bug that caused "wand error" messages when using Analyze/Analyze Particles with a
non-rectangular selection and a lower threshold of zero. (b)
- Added the IJ.showProgress(currentIndex,lastIndex) method. (b)
- Revert now works with FITS images. (b)
- 32-bit DICOMS now open correctly. (b)
- Fixed a bug that caused the "Delete" function in the ROI Manager to sometimes fail
if more than one ROI was selected. (b)
- Added the selectionType(), bitDepth(), setColor(value) and exit()
functions to the macro language. (a)
- Fixed a bug in Image/Scale that could cause the source image to have
incorrect spatial calibration. (a)
Version 1.29, 19 December 2002
- Worked around a printing bug with Java 1.3.1 on Windows. (x)
- Added an example
that shows how to write command line utilities that use ij.jar as a library. (v)
- Added an example
that shows how to calibrate using an OD step tablet.
- The IJ.run() methods now work when the ImageJ window is not open. (u)
- The Image/Rotate/90 Degrees commands now preserve calibartion settings. (u)
- Image/Stacks/3D Project now works with RGB stacks and has an option to interpolate in the Z-dimension. (t)
- Image/Stacks/Reslice now works with RGB stacks. (t)
- The RGB Stack Splitter and RGB Stack Merge plugins are now built into ImageJ as the
Image/Color/RGB Split and Image/Color/RGB Merge commands. (t)
- Added the Image/Color submenu and moved the Image/Stacks/Convert Stack
to RGB command to it. (t)
- Added "Outline Lanes" and "Invert Peaks" options to Analyze/Gels/Gel Analyzer Options,
and options are now saved in the preferences file. (s)
- Added the Image/Adjust/Window/Level and Image/Adjust/Color Balance commands. (r)
- Added sliders to Image/Adjust/Brightness/Contrast for adjusting the display range min and max. (q)
- Eric Kischell's
Drag And Drop
plugin is now built into ImageJ, allowing images,
ROIs, LUTs, and text files to be opened by dragging and dropping them on the main ImageJ window.
This plugin appears to only work on Windows but Mac users can open files by dragging
and dropping on the ImageJ icon. (o)
- Fixed a bug that could cause the Image/Adjust/Brightness/Contrast tool to fail
when used with RGB stacks. (o)
- The length() macro function was renamed lengthOf(). (o)
- Walter O'Dell contributed the
Window/Level Adjuster
plugin.
- The FeretsDiameter,
ConvexHull and
BouncingBar
macros demonstrate ROI coordinate caculations and animation. (n)
- Added a "Feret's Diameter" option to Analyze/Set Measurements. (n)
- The InvertImage
and BullsEye
macros demonstrate pixel-by-pixel processing. (h)
- Thanks to Alexei Stapinski, ImageJ can now open 16 bit ASCII PGM files. (m)
- Anthony Padua updated the
Specify ROI
plugin and created a spreadsheet that generates macros that use it.
- Added a "32-bit Unsigned" type to File/Import/Raw. (l)
- The text editor File/Save command reverts to File/Save As if the
text has not been previously saved. (l)
- Fixed a bug that would sometimes prevent the "Log" window from closing. (l)
- Added the Image/Stacks/Set Slice command. (k)
- The Edit/Paste Control tool can be recorded. (k)
- Fixed a bug with the way Process/Binary/Threshold supports undo. (k)
- Process/Binary/Distance Map and Ultimate Points
work with stacks. (k)
- On JDK 1.4, the Compile and Run command suppresses the "javac.Main deprecated" warning. (k)
- Fixed a bug that sometimes caused duplicate paths when recording File/Open. (k)
- Erik Meijering finished a new package,
FeatureJ, containing plugins for the
extraction of features such as Gaussian-scaled derivatives, Canny edges,
Laplacian zero-crossings, eigenvalues of the Hessian, global statistics,
and eigenvalues of the structure tensor, from up to 3D gray-scale image
sequences.
- Rick Turner has added some filter plugins (Prewitt, Roberts, Sobel, etc.) to his
home page.
- Michael Umorin contributed the
Stack Focuser
plugin.
- The Process/Filters/Convolve and Analyze/Calibrate commands are now recordable. (j)
- Fixed a bug that could cause an exception when removing a slice from a two-slice stack
and adding another. (j)
- Added a "Record Starts" option to Analyze/Analyze Particles. The
CircularParticles macro
demonstrates how to use this feature. (i)
- Added the Macros/Install Macros command to the text editor. The updated Polygon and MacroSet macros
(http://rsb.info.nih.gov/ij/macros/)
contain installable macros. (i)
- Added a "Circularity" option to Analyze/Set Measurements. (i)
- Fixed a bug that sometimes made it impossible to activate an Image from the Window menu
if the start of the image name was the same as the name of another image. (i)
- The Polygon macro
demonstrates user-defined functions and control of screen updates. (h)
- The text tool uses a larger default font size for images magnified less than 100%. (h)
- Added a "Circularity" option to Analyze/Set Measurements. (h)
- Updated the Plasma benchmark.
- A few example macros are now available at
rsb.info.nih.gov/ij/macros/.
- Fixed minor labeling problems in Analyze/Gels. (f)
- Image/Rotate/Arbitrarily and Image/Stacks/Make Montage work better with signed 16 bit images. (e)
- 16 and 32 bit stacks with blank first slices now display correctly when first opened. (e)
- Fixed a bug in Analyze/Gels (introduced in v1.28) that caused inverted peaks and disabled OD calibration. (d)
- Fixed a bug in Image/Scale that caused the image to be slightly shifted up and to the left. (d)
- Analyze/Tools/XY Coordinates now saves in tab-delimited format. (d)
- Kavagiou Zaharoula contributed a
plugin
that combines images to create a mosaic.
- Fixed command recording problems in Image/Stacks/Reslice and
Edit/Options/Profile Plot Options. (b)
- Added a "Create Macro" option to Plugins/Record. (b)
- Added an option to create a sample macro in Plugins/New. (b)
- Worked around text window cut and paste problems on Mac OS 10.2. (b)
- The "Convert to 8-bit Grayscale" option in File/Import/Image Sequence normalizes 8-bit images
with color LUTs or with nonstandard grayscale LUTs. (a)
- Worked around a problem with truncated text on Mac OS 10.2. (a)
Version 1.28, 22 August 2002
- Several Mac OS X 10.2 related problems are fixed in the latest OS X version of ImageJ.
- Audrey Karperien contributed a
plugin that encloses an image in a convex hull then calculates circularity and roundness and
a
plugin that records data for fractal dimension and lacunarity using a box counting algorithm.
- Added the "Antialiased Text" option to Edit/Options/Miscellaneous (requires Java 2). (u)
- Added the "Interpolate Images <100%" option to Edit/Options/Miscellaneous (requires Java 2).
This option may improve the display quality of large images magnified less than 100% but images will take longer to display. (u)
- Added the "Smooth" option to Analyze/Surface Plot. (t)
- Updated Image/Stacks/Reslice. (s)
- Fixed a bug in Analyze/Surface Plot that could result in incorrect plots of 32-bit float
images with color LUTs. (s)
- Image/Stacks/Convert Images to Stack, Convert Stack to Images
and Make Montage now work correctly with calibrated images. (r)
- Daniel Marsh created the
BMP Writer
a plugin.
- Marcus Lamer created the
Sequenzer
plugin for generating intermediate images between two reference images.
- Jarek Sacha created the
3D Toolkit,
a package of plugins for reading and writing 3D images in MetaImage and VTK formats.
- Added the "One Polygon per Line" option to Analyze/Surface Plot. (p)
- The Analyze/Gels commands work with vertical lanes. (p)
- Hemerson Pistori and Eduardo Rocha Costa contributed the
Hough Transform for Circles plugin.
- Bill O'Connell updated his
Oval Profile Plot
and Color Comparison
plugins.
- Gary Chinga contributed a
plugin
that uses Gaussian filtering to decompose an image surface into waveness and roughness.
- Added the Analyze/Tools/Calibration Bar command, written by Bob Dougherty and Daniel Marsh. (o)
- On Mac OS X, the layout of the threshold and brightness/contrast tools is better due to the use
Daniel Marsh's new TrimmedButton class. (o)
- Gary Chinga and Oeyvind Eriksen contributed a
plugin
that performs erosion, dilation, opening and closing of binary images.
- Improved Analyze/Tools/Scale Bar. (n)
- Analyze/Analyze Particles works with thresholded 16-bit and 32-bit images. (n)
- The wand tool works with 16-bit and 32-bit images. (n)
- File/Revert works with DICOM and BMP images. (n)
- Closing the "Log" windows exits debugging mode. (n)
- With stacks, the Z-coordinate of the cursor is displayed in the status bar. (n)
- The pixel value in the status bar is updated when using "<" and ">" to
step through a stack. (n)
- Yannick Krempp and Jerome Mutterer contributed
LSM Reader,
a plugin that opens files produced by Zeiss LSM 510 confocal microscopes.
- Daniel Marsh has written the
Color Chooser
a plugin.
- ImageJ is now compiled without debugging information, which reduces the size of ij.jar from 615k to 484k. (m)
- The ImageJ source now includes an
Ant build file ("build.xml") that can generate ij.jar, src.zip and
the API documentation.
- Daniel Marsh has written
AVI Reader,
a plugin that opens uncompressed 8-bit and 24-bit AVI movies.
- Adrian Daerr has written
JNIAkiz,
a plugin and JNI library for full-frame-rate capture using Scion frame grabber cards.
- Added the File/Save As/AVI command. (l)
- The ImageProcessor convertToShort() and convertToFloat() methods now work with RGB images. (l)
- Analyze/Analyze Particles displays a summary that includes total area and area fraction if "Display Results" is not checked
in the dialog and "Clear Results Table" is. (i)
- The animation speed specified in Image/Stacks/Animation Options is saved in the preferences file (IJ_Prefs.txt). (l)
- Gary Chinga contributed the Shape Descriptors plugin.
- Analyze/Surface Plot draws axis with labels. (k)
- Commands in the Process/Filters submenu work with non-rectangular selections. (k)
- The "OK" button is displayed to the left of the "Cancel" button in most dialogs except on the Macintosh. (k)
- Right-clicking finalizes polygon and polyline selections. (k)
- Fixed a bug that caused 3x3 convolution filtes to not work correctly on 16-bit images. (k)
- Analyze/Clear Results no longer displays an empty "Results" window. (k)
- Added the Analyze/Surface Plot command, which was created by Daniel Marsh. (j)
- The "Limit to Threshold" option in Analyze/Set Measurements works with 16-bit images. (j)
- Commands in the Process/Filters submenu work with rectangular selections. (j)
- Joachim Walter contributed the Sync Measure 3D plugin.
- Karl Schmidt contributed the MRI Analysis Calculator
and Image Layering Toolbox plugins.
- Paul Baggethun contributed the Microscope Scale plugin
that spatially calibrates images using hard-coded magnifications and length units.
- Fixed a bug, introduced in 1.28g, that prevented user plugins from being loaded from ij.jar when ImageJ is running as an applet. (i)
- Added Analyze/Tools/Scale Bar. (h)
- In the Analyze/Set Scale and Image/Properties dialogs, "um" is automatically converted to "µm". (h)
- Added the Help/Online Docs command. (h)
- Plugins/Utilities/Memory Monitor now opens centered on the screen. (h)
- There is a new About Box (Help/About ImageJ). (h)
- Perimeter measurements of rectangular and oval selections no longer ignore spatial calibration. (g)
- When using Java 2, saving in JPEG format is about 10 times faster. (g)
- Fixed a bug that could cause File/Import> and other submenus to not appear when running ImageJ in countries other than the USA. (g)
- Image/Adjust/Threshold "remembers" the thresholding mode during an ImageJ session. (g)
- Bob Dougherty has written the
Live Histogram plugin
that continuously generates histograms as you step through a stack or move a selection.
- QImaging released an ImageJ plugin (Windows only) for their Firewire cameras.
- Joachim Walter contributed an over/under thresholding mode for Image/Adjust/Threshold. (f)
- Improved the Gel Analyzer (Analyze/Gels). (f)
- Process/Binary/Threshold uses any threshold settings defined by Image/Adjust/Threshold and also works with 16 and 32 bit stacks. (f)
- The "Apply" option in Image/Adjust/Threshold works with 16 and 32 bit stacks and is recordable. (f)
- The "Reset" option in Image/Adjust/Brightness/Contrast is recordable. (f)
- Commands that process 16 and 32 bit stacks now reset the display range. (f)
- Added getInstance(), getROIs() and getList() methods to the RoiManager class. (f)
- Added methods to the ImageProcessor class that get and set pixels using an int array, making it easier to write plugins that process both grayscale and RGB images. The
Deinterlace and
Averaging Reducer
plugins demonstrate how to use these methods.
- Added the convolve(float[] kernel, int width, int height) method to the ImageProcessor class. (e)
- Process/Binary/Threshold now uses threshold levels defined by the Image/Adjust/Threshold tool. (e)
- Updated and expanded (from 72 to 85 plugins) the Plugin Collection.
- Tony parker has posted two
ImageJ applets.
One preloads a couple of images, runs the benchmark, starts a cine, and has a customized Plugins menu. The other sets up some buttons that load images.
- Added "Add & Draw" and "Select All" buttons to the ROI manager. (d)
- Improved text quality on Mac OS X. (d)
- Tony Parker has added two new plugins to his collection of 12 plugins for medical image processing.
- The applet version of ImageJ now runs user plugins added to ij.jar and listed in IJ_Props.txt. (c)
- Gary Chinga contributed a plugin that calculates surface roughness statistics.
- Eric Kischell contributed the Drag And Drop plugin.
- Added support for RGB stack to 8-bit color stack conversions. (b)
- ROIs saved to a file are no longer limited to 5000 bytes. (b)
- Fixed a bug, introduced in 1.27, that caused pasting of non-rectangular selections to sometime fail. (b)
- Fixed a bug that caused pasted image selections to not be initially displayed. (b)
- Fixed a bug in Image/Adjust/Threshold that caused an exception with 16 or 32 bit images with non-rectangular ROIs. (b)
- Paul Baggethun contributed the Radial profile Plot plugin.
- Mark Barclay and Grant Harris contributed a UML class diagram of ImageJ as a
320KB Jpeg.
- Added the "Increment" field to File/Import/Image Sequence. (a)
- Added "Plot Width" and "Plot Height" fields to Edit/Options/Profile Plot Options. (a)
- Increased the font size used by Plugins/Edit when running Mac OS X. (a)
- Process/Filters/Gaussian Blur now works with density calibrated images. (a)
Version 1.27, 24-April-2002
- Improved the error checking in File/Import/Text Image. (z)
- The Applet version of ImageJ now restarts as expected. (x)
- File/Open opens 16-bit binary PGM files. (x)
- The Java 2D Demo plugin uses Java 2D to draw 3D text on an image.
- Bob Dougherty has written a plugin to
open and play QuickTime movies and to grab frames into a stack.
- There is a new Mac OS X release that opens images dragged onto the ImageJ icon as long as ImageJ is already running.
- Added the "Invert Y Coordinates" option to Analyze/Set Measurements. (x)
- Bob Dougherty has written a plugin
to divide a stack of RGB images from an NTSC DVersion camera into separate 32 bit red, green and blue stacks.
- Eric Kischell added a "Create New Window" option to the MRI t2 plugin.
- Kas Thomas contributed the JavaScript Editor plugin that allows real-time evaluation of JavaScript code.
- Bob Dougherty has written a plugin
to derive surface orientation from a topographical image acquired with a profilometer.
- Tony Parker has written a plugin
that displays orthoganal views (axial, coronal and sagital) of a stack.
- Fixed rounding problems with ramps and RGB histograms. (v)
- Contrast/brightness settings are saved in the TIFF header. (u)
- Angle measurements take the pixel aspect ratio into account. (u)
- Hold down the shift key to constain line selections to 0 and 90 degrees. (t)
- Fixed a bug that would sometimes cause ellipse fitting to fail with spatially calibrated images. (t)
- Added a setColor() method to the PlotWindow class and updated the Example Plot plugin. (t)
- Updated the Windows distribution to JRE 1.3.1_03, which fixes a printing problem.
- ImageJ now opens big-endian DICOM files. (s)
- Histograms and plots are displayed as 8-bit images instead of RGB images. (s)
- Added drawLine, drawRect and getFontMetrics methods to the ImageProcessor class. (s)
- Worked around text bugs in Microsoft Java. (s)
- For 16 and 32-bit images, values displayed by the Histogram window "List" and "Copy" functions no longer have (bin width)/2 added. (q)
- The ImagePlus.show() and Roi.getMask() methods no longer require that the "ImageJ" window be open. (q)
- Fixed a bug in Image/Rename that caused the magnification to not be displayed in the title bar. (q)
- Mike Miller has written a plugin that helps segment images.
- The histogram window "List" and "Copy" options now use calibrated values. (p)
- Fixed a bug that caused 16-bit signed DICOM images with no pixels values less than zero to be displayed incorrectly. (o)
- The text tool works, more or less, on Mac OS X. (o)
- Plugin writers can use IJ.log(String) to display debugging information in a text window. (o)
- "Debug Mode" information enabled in Edit/Options/Miscellaneous is displayed in a separate "Log" window. (o)
- "Results" window column widths are calculated for each of the first 10 measurements. (n)
- The "Set" option in Image/Adjust/Threshold Image/Adjust/Contrast/Brightness works with calibrated pixel values. (m)
- Column widths are no longer reset after using Analyze/Clear Results. (l)
- Holding down the shift key prevents the window from enlarging when zooming in. (k)
- The Image Calculator Plus plugin adds, subtracts, multiplies or divides two images or stacks using scale and offset values.
- Joachim Walter contributed the Sync Windows plugin, an enhanced version of Patrick Kelly's SyncWindows_ plugin.
- Bill O'Connell contributed the Color Comparison plugin that uses color to compare grayscale images.
- Ryan Raz contributed the Gif Stack Writer plugin for saving stacks as animated gifs.
- The Thumbnail Maker plugin creates thumbnails and provides an example of how to use ImageJ on "headless" (no display) servers.
- Non-rectangular ROIs that extend beyond the image boundary are now handled correctly. A test case is available. (h)
- Fixed keyboard focus and text window size bugs associated with Mac OS X Java 1.3.1 Update 1. (h)
- File/Import/Image Sequence now sets the stack width and height to the width and height of the first selected image. (f)
- Process/Binary/Set Interations now works with stacks. (f)
- Jarek Sacha has written plugins that use JAI to open images.
- Bill O'Connell contributed the Oval Profile Plot plugin.
- The wand tool is now recordable. (e)
- Fixed several problems with Image/Properties and Image/Stacks/Reslice. (e)
- The Windows and Linux distributions now include Sun's JRE 1.3.1 Java 2 runtime environment.
- The "Process Stack?" dialog is no longer displayed when editing stacks using the keyboard shortcuts for Edit/Fill (F) and Edit/Clear (backspace). (d)
- Added the 'Hide "Process Stack?" Dialog' checkbox to Edit/Options/Miscellaneous. (d)
- Fixed a bug that caused BMP files with a gap between the header and pixel data to open incorrectly. (d)
- Joachim Walter contributed the Stack Normalizer plugin.
- The File/Import/Image Sequence dialog now allows the user to enter the number of images, the starting image, and a string used to filter by file name. (c)
- Image/Properties now does automatic unit conversions. (c)
- Added the getLine(int) method to the TextPanel class. (c)
- Worked around a bug on Linux where the "Save Changes?" and "Process Stack?" dialog boxes were sometimes too small. (b)
- On the Macintosh, dialog boxes are now fixed size without a "grow" region in the lower right hand corner. (a)
Version 1.26, 17-January-2002
- Clicking on "List" in Histogram and Plot windows opens a separate text window instead of overwriting the "Results" window. (r)
- Fixed a bug that could cause problems when importing 16 bit signed stacks. (q)
- File/Import/Raw now always adds 32,768 to imported 16 bit signed images. It also adds a calibration function to the image so that he original signed values are correctly displayed. (q)
- Added the Image/Properties dialog, which allows stack slice spacing and frame rate to be set. (q)
- Stack slice spacing and frame rate are now saved in the TIFF header. (q)
- Image/Rotate/Flip Vertically is up to 10 times faster. (p)
- The Voxel Counter plugin counts the number of thresholded voxels in a stack.
- The Stack Inserter plugin inserts a stack (or image) into another stack.
- Added an example that shows how to use Java packages for plugin utility classes.
- The Twelve Bit Expander plugin unpacks 12-bit images.
- Tony Parker has written a plugin
that opens interfile format nuclear medicine image sets. He also makes available 92 lookup tables from the NucMed_Image program.
- Worked around a Mac OS 8/9 memory leak/crashing bug that was uncovered in v1.26n. (o)
- Image animation (e.g. Image/Run/Run Benchmark) is now faster when using JDK 1.3. (n)
- Thanks to Greg Joss, Analyze/Histogram now has a log scaling option. (n)
- Dialog boxes on the Macintosh no longer have extra space at the top. (n)
- Fixed a bug that caused an exception with Analyze/Analyze Particles when no image was open. (n)
- Submitted a bug report and test case to Apple regarding the poor performance of ImageJ on Mac OS X.
- Updated the Plasma plugin/benchmark.
- The RGB Stack Merge,
RGB Stack Splitter and
HSB Stack Splitter
plugins are now faster.
- Eugene Tkachenko contributed a plugin that merges up to four 8-bit stacks into one RGB stack.
- Amrit Aneja contributed a plugin that copies/pastes images to the system clipboard (requires JDK 1.4).
- Thanks to code contributed by Heinz Klar, the Median filter is much faster and the Median, Minimum, and Maximum filters work with images outside the range 0-255 and with non-integer radii. (k)
- Added the Process/Filters/Show Circular Masks command that uses a stack to display one hundred of the masks used by the Median, Minimum, Maximum and Mean filters. (k)
- Thanks to code contributed by Jason Orendorff, the number of zoom tool magnification levels increases from 11 to 21. (k)
- Jim Ekstrom is using ImageJ with his
"Ugly Bug" contest.
- The Path Writer plugin saves ROIs as a list of evenly spaced points.
- Added constructors to the FloatProcessor that accept int and double arrays. (j)
- Image/Rotate/Arbitrarily now now does 180 degree rotations correcly. (j)
- Nick Linnenbrugger contributed the FFTJ and DeconvolutionJ plugins.
- Kas Thomas contributed the Color Picker plugin.
- Added cyan, magenta and yellow LUTs to the Image/Lookup Tables submenu. (i)
- Tool changes are now recordable. (i)
- With single images, Analyze/Analyze Particles now displays the particle count and threshold levels when "Show Results" is not checked. With stacks, it always displays the particle count for each slice. (h)
- Daniel Sage and Michael Unser of the
Swiss Federal Institute of Technology Lausanne
have written a
paper that
describes how they use ImageJ to help teach image processing.
- Added Cut, Copy, Paste and Print commands to Plugins/Edit. (g)
- Fixed an OS X image window closing bug. (f)
- Line profile plots are now generated using bilinear interpolation. (f)
- The RGB Stack Browser plugin by Kunito Yoshida allows the user to browse each channel of an RGB stack.
- The ROI Importer plugin creates a freehand ROI from a text file list of coordinates.
- Fixed a bug in v1.26d that caused null pointer exceptions when processing byte images. (e)
- Added an "Vertical Profile" checkbox to Edit/Options/Profile Plot Options. (d)
- Added support for DICOM MONOCHROME1 Photometric Interpretation. (d)
- Most commands process stacks much faster. Edit/Invert, for example, inverts a 256x256x256x8-bit stack 13 times faster! (c)
- Image/Stacks/Plot Z-axis Profile now works with the "Limit to Threshold" option in Analyze/Set Measurements. (b)
- Newly opened image windows are less likely to extend off the bottom of the screen. (b)
- The state of "Scale When Converting" in Edit/Options/Miscellaneous is no longer saved to the preferences file. (b)
- The "Draw" and "Fill" options in Analyze/Tools/ROI Manager are now undoable. (b)
- Plugins/Compile and Run now uses the -deprecation option. (a)
- File/Save As/XY Coordinates now saves absolute coordinates instead of coordinates relative to the selection's bounding rectangle. (a)
- Plugins/Utilities/Commands is now faster. (a)
Version 1.25, 3-November-2001
- On the Mac, files dropped on the ImageJ icon are opened, the Apple menu "About" command works,
and the Apple menu "Quit" command saves preferences and prompts to save changes. Note: drag and drop may not work until you delete all older versions of ImageJ and rebuild the desktop.
(t)
- File/Revert revert now works correctly when pasting. (s)
- Fixed a bug that could cause an exception after having used Image/Crop. (s)
- Added the addTool() method to the Toolbar class. (r)
- Added Window/Cascade and Window/Tile commands. (q)
- Fixed a bug that caused images saved using File/Save As/ZIP to lose calibration. (q)
- Added support for bitmap and ARGB image types to File/Import/Raw. (p)
- Edit/Undo now works after using Image/Type to convert 16 and 32 bit images to another type. (p)
- Numbers are now always displayed using a decimal point. (p)
- Fixed a bug that could cause an exception after having used the text tool. (p)
- Joachim Walter has written a plugin that does
gaussian filtering in fourier space.
- Werner Bailer has written a plugin
for doing Discrete Cosine Transforms.
- An updated version of the Werner Bailer's plugin writing tutorial (v. 1.5) is available at
http://www.fhs-hagenberg.ac.at/staff/burger/ImageJ/tutorial/.
- The Gaussian Blur and Unsharp Mask filters are now much faster. (o)
- Fixed a bug in Image/Stacks/Reslice that cuased it to fail with 32-bit stacks. (o)
- Analyze/Analyze Particles now correctly processes a single slice in a stack. (m)
- The Brightness/Contrast and Threshold tools no longer leave threads running when the window is closed. (l)
- The Image/Adjust/Brightness/Contrast tool has a new "Set" button and improved histogram support. (l)
- Amrit Aneja has put together a collection of 72 plugins from the ImageJ Web site.
- Added support for the Window Center and Window Width DICOM tags. (i)
- Kurt De Vos has written a cell counting plugin.
- Removed the TextPanel from the main ImageJ window and added a separate "Results" window. (h)
- Added an option to Analyze/Analyze Particles to display fitted ellipse for each particle. (f)
- Analyze/Analyze Particles now displays the labels for particle outlines in red. (f)
- Mike Martin has written a plugin
for opening uncompressed Planetary Data System (PDS) images.
- Added the Analyze/Tools/ROI Manager command. (e)
- Added a "Zip" and "Text" choices to File/Save As/Image Sequence. (c)
- Added a "Fit Ellipse" option to Analyze/Set Measurements which adds "Major", "Minor" and "Angle" columns to the results table. (b)
- Tony Parker has written a plugin
that allows the user to align two stacks.
- Erik Meijering has written a package of plugins
(TransformJ)
for geometrical transformation and manipulation (chunking, embedding,
mirroring, rotation, shifting, scaling or resizing, affine
transformation) of up to four-dimensional (4D) images.
- Fixed a bug that caused ImagePlus.setCalibration() to reset the xOrigin and yOrigin fields. (a)
- Fixed a rounding error in Process/Noise/Add Noise. (a)
Version 1.24, 7-Sept-2001
- Added the Hypervolume Shuffler plugin by Michael Abràmoff.
- Fixed a bug in Process/Filters/Convolve that caused the dialog box not to show after the first time. (t)
- Removed 20 item limit in GenericDialog class. (r)
- Updated AVI Writer plugin.
- Added the Stack Builder plugin by Nicolas Roggli.
- Updated the Plugins Control Panel plugin.
- Fixed a bug in the IJ.run() method used my the command recorder. (q)
- Added Embyos and Leaf images, contributed by Larry Reinking, to the File/Open Samples submenu. (q)
- Larry Reinking, Department of Biology, Millersville University, has written two great ImageJ handouts: ImageJ and Examples of Image Analysis Using ImageJ.
- ImageJ now opens uncompressed TIFF bitmap images. (p)
- ImageJ now opens the "hybrid" TIFF/DICOM files created by GE-Senographe 2000 D mammography systems. (p)
- Added the Batch Statistics plugin.
- The location of the plugins directory can now be specified from the command line. See the
Linux x86 installation notes
for an example. (n)
- File/Open can open PNG images if ImageJ is running on a Java 2 JVM.
- Improved Plugins/Utilities/Panel.
- Added a link to a new
plugin
that uses cubic spline interpolation to resize images. This plugin was written by Daniel Sage of the Biomedical Imaging Group at the Swiss Federal Institute of Technology.
- Updated the AVI Writer plugin to use the frame rate specified in Image/Stacks/Animation Options (requires ImageJ v1.24l).
- Analyze/Analyze Particles has a new option to display selected particles in black on a white background. (k)
- Modified the Mouse Listener example plugin to display the mouse pressed event modifiers and to keep a list of images it is listening to.
- Image/Show Info displays the frame rate of imported NIH Image movies. (j)
- Non-image windows are listed in the Window menu. (j)
- Fixed bugs in the setImage(), setProcessor() and setStack() methods of the ImagePlus class. (j)
- Analyze/Tools/Save XY Coordinates works with all image types. (h)
- With non-rectangular selections, Image/Crop keeps the selection. (h)
- Image/Colors displays more colors. (h)
- Double-clicking on the straight line tool displays the Line Width dialog. (h)
- Analyze/Analyze Particles now works with stacks. (g)
- The location and size of the ImageJ window is now recorded in the preferences file (IJ_Prefs.txt). (g)
- Most commands that generate an image now include the name of the original image in the title. (g)
- Made the text tool easier to use. (g)
- On systems other than the Macintosh, changed the order of the buttons in the "Save Changes" dialog box. (g)
- Added the Help/ImageJ Web Site command that launches a browser and has it open the ImageJ home page. (g)
- Maja Kizic and Muris Borovac at Chalmers Lindholmen University College, Gothenburg,
Sweden have written a bachelor's thesis that evaluates the usability of ImageJ's user interface and offers suggestions on how it can be improved.
- Added ability to cut, copy and paste non-rectangular selections. (e)
- 32-bit stacks can now be converted to 16-bit stacks. (e)
- 8-bit stacks can now be converted to 16-bit stacks. (d)
- Fixed a bug in Process/Subtract Background that caused bluring of the background subtracted image. (d)
- Process/Image Calculator now resets the display range. (b)
- Process/Subtract Background now works with stacks and with images without inverted LUTs. (a)
- Added the Process/Math/Square, Process/Math/Square Root and Image/Rename commands. (a)
Version 1.23, 22-June-2001
- ImageJ now opens uncompressed RGB DICOM images. (w)
- Thanks to Java2HTML, the ImageJ source code is now online in a colorized and browsable format.
- Improved the check done at startup for duplicate classes in the plugins folder. (v)
- Add the Process/Filter/Unsharp Mask command. (t)
- Added Gaussian Blur, Median, Mean, Minimum (grayscale erosion) and Maximum (grayscale dilation) filters to the Process/Filters submenu. (s)
- Added the List Opener plugin for opening images using a text file list. (q)
- Added the PlotWindow.addErrorBars() method and a plugin that demonstrates how to use it. (q)
- Image/Adjust/Brightness/Contrast and Image/Adjust/Threshold now work with locked, non-RGB images. For example, you can be running Image/Bencharks/Waves and adjusting brightness/contrast at the same time. (p)
- On Macintoshes, the ImageJ window is smaller and the menu bar no longer disappears when switching to none image windows. (p)
- The "Apply" option in Image/Adjust/Brightness/Contrast now works correctly with color LUTs. (o)
- Added a Mac OS X distribution.
- Deleted Image/Stacks/Save Slices as Files and replaced it with File/Save As/Image Sequence. (m)
- Changed the name of File/Import/All As Stack to File/Import/Image Sequence and added the ability to convert the images to 8-bits and/or open them half sized, resulting in stacks that use as little as 1/16th as much memory. (m)
- Fixed a bug in Analyze/Calibrate that caused the "Global" option to not work correctly. (m)
- Added the Edit/Options/Foreground Color and Edit/Options/Background Color commands. (m)
- The ImagePlus(String) constructor now works with both paths and URLs. (m)
- Added the Opener.OpenImage(String) method for opening images using a path. (m)
- Fixed a bug in the QuickTime Movie Opener plugin that could result in duplicate or missing frames.
- Added the AVI Writer plugin.
- The Clear, Clear Outside and Fill commands can now process entire stacks. (k)
- Commands that process entire stacks now work with selections. (k)
- Fixed several problems with the DOES_STACKS and SUPPORTS_MASKING options of the PlugInFilter interface. (k)
- Text fields in dialogs are now automatically selected when you click on the field or tab to it. (g)
- Plugins/Utilities/List Properties now displays the directory where ImageJ saves the preferences file (IJ_Prefs.txt) and the directory where it looks for plugins. (f)
- Fixed a binning problem with 16 and 32-bit histograms. (f)
- The "Save As" command in the Plugins editor now changes the class name to match the file name. (e)
- With 16 and 32-bit images, Process/Math/Min and Process/Math/Max now update the displayed image by doing the equavalent of clicking on "Reset" in Image/Adjust/Brightness/Contrast. (e)
- Analyze/Set Scale now displays the scale, which is dynamically updated as the measured and known distances are changed. (d)
- With stacks, Image/Duplicate can now gives you the option of duplicating the entire stack or just the current slice. (c)
- Added the Plugins/Record command (under construction). (a)
- Fixed several problems with histograms of calibrated 16-bit images (e.g. signed FITS images). (a)
Version 1.22, 22-Mar-2001
- Upgraded bundled Windows JRE to 1.1.8_006, which fixes JIT crashes on Pentium 4 CPUs and a scrolling problem in popup menus.
- Added an icon for ImageJ.
- An error message is now displayed when, under Windows, the user attempts to maximize the ImageJ window, causing other windows to be hidden. (c)
- Analyze/Summarize now works with line and point measurements. (c)
- The "Auto" feature in Image/Adjust/Threshold now works more reliably. (b)
- Fixed a couple of problems with Analyze/Summarize. (b)
- Image/Adjust/Contrast/Brightness, Image/Adjust/Threshold, Edit/Paste Control and Edit/Options/Fonts now open only one window. If the window is already open, it is brought to the front. (a)
- On the Mac, the MRJ version is displayed by Plugins/Utilities/Show Java Properties. (a)
Version 1.21, 27-Feb-2001
- Added the Process/Math/Min and Process/Math/Max commands. (v)
- The wand tool now works more reliable with Analyze/Gels. (v)
- Added the Image/Stacks/Convert Stack to Images command. (u)
- Hold down the alt key with Image/Stacks/Add Slice to add a slice in front of the current slice. (u)
- Analyze/Histogram now uses the number of decimal places defined in the Analyze/Set Measurements dialog. (t)
- Fixed several problems with histograms of floating-point images. (t)
- XY coordinates generated by the crosshair tool are now saved in the ImageJ ResultsTable. (s)
- Fixed several z-axis rotation bugs in Image/Stacks/3D Project. (s)
- Simplex fitting parameters used by the Analysis/Tools/Do Curve Fitting tool can now be adjusted thanks to an improved CurveFitter class contributed by Kieran Holland. (r)
- Image/Stacks/3D Project no longer requires thresholded stacks. Upper and lower transparency bounds are set in the dialog or are set automatically if the stack is thresholded. (r)
- Updated Image/Stacks/Convert Stack to RGB to work with 2-slice stacks (red and green). (r)
- Updated the RGB Stack Merge plugin to work with two stacks (red and green).
- Image/Stacks/Reslice now works with rectangular selections. A rectangular selection is equivalent to a line selection corresponding to the top edge of the rectangle and a "Slice Width" equal to the height of the rectangle. (q)
- Fixed a bug, introduced in v1.20, that caused reslicing of RGB stacks to fail. (q)
- Stacks can now be converted to RGB. (q)
- Added the Resize Canvas plugin contributed by Jeffrey Kuhn.
- "Center of Mass" now reverts to "Centroid" when all pixels are zero. (o)
- DICOM/ACR-NEMA reader improved. (o)
- Fixed bugs, introduced in v1.18, with 16-bit add, subtract and multiple in Process/Image Calculator. (n)
- Image/Adjust/Brightness/Contrast now correctly displays min/max of density calibrated images. (m)
- Improved support for signed DICOM images by using a calibration function to restore the orginal negative values. (m)
- For 16-bit and 32-bit images, File/Import/Raw (with "Open All" checked), File/Import/All As Stack and Image/Stacks/Convert Images to Stack now use the stack min/max to set the display range instead of the min/max of the first image. (l)
- ROI movement via arrow keys no longer stops one pixel early at right and bottom of image. (k)
- Analyze/Calibrate now works with images of type "8-bit Color". (j)
- Added the Plugins/New command. (i)
- File/Open now opens BMP, LUT and ZIP files with upper case file name extensions. (h)
- File/Open now opens text files. (h)
- Added a Paint Brush plugin contributed by Jeffrey Kuhn.
- Added the Stack Histogram plugin.
- For float and calibrated images, File/Save As/Text Image now uses the "Precision" setting in the Analyze/Set Measurements dialog. (f)
- Added Process/Morphology/Euclidian Distance Map and ../Ultimate Eroded Points commands. (c)
- Fixed a bug in Image/Stacks/Render that caused it to generate a blank image when "Total Rotation" was set to zero. (b)
- Maximum values less than zero are now calculated correctly. (a)
- Density calibration information in NIH Image TIFF files is now decoded. (a)
Version 1.20, 20-Dec-2000
- Fixed a bug, introduced in ~v1.20n, in the Image/Type/RGB Stack and Image/Type/HSB Stack commands. (p)
- Added the "Bat Cochlea Volume" sample image, useful for testing the Image/Stacks/Render command and Michael Abramoff's VolumeJ plugin. This is a thresholded high resolution MRI dataset of the inner ear of a bat contributed by Art Keating of the University of North Carolina. (n)
- Added the Image/Stacks/Render command, a port of the NIH Image "Project" command written by Michael Castle of the University of Michigan Mental Health Research Institute. (n)
- Pressing the "=" key now starts/stops stack animation. (l)
- Replaced static conversion methods in ImageConverter with the ImageProcessor methods convertToByte(boolean), convertToFloat(), convertToRGB() and convertToShort(boolean). (l)
- Image/ColorTables/Invert LUT now works correctly with stacks. (l)
- Image/Stacks/Next Slice (">") and Image/Stacks/Previous Slice ("<") now skip 9 slices if the alt key is held down. (k)
- Fixed a bug in the ByteProcessor.getAutoThreshold method used by Image/Adjust/Threshold and by Process/Morphology/Threshold. (k)
- A rare problem with endless rapid switching between windows is now (hopefully) fixed. Use the Focus Bouncer plugin to test for this problem. (i)
- Class files in the plugins folder that have duplicates in subfolders are now automatically deleted. (h)
- The Plugins/Shortcuts/Install Plugin command can now install plugins in the Filters, Tools and Utilities submenus. (g)
- Moved the Do Curve Fitting, Fractal Box Count , Save XY Coordinates, Analyze Line Graph and Do Curve Fitting commands to the new Analyze/Tools submenu. (g)
- The cross hair tool can now display results in calibrated units. (g)
- Added the Process/Filters/Convolve command for performing convolutions using user-defined real kernels. (g)
- Thumbnail images contained in some TIFF files are no longer displayed. (d)
- The Image/Adjust/Threshold tool now works with 16-bit and 32-bit images. (b)
- Added an "Apply" button to the Plugins/Utilities/Do Curve Fitting window that creates a new 32-bit image by using the curve fit function to transform the active image. (b)
- Plugins in subfolders of the plugins folder are now installed in submenus of the Plugins menu. (a)
- Fixed a bug in the plugin class loader that prevented newly compiled plugins from replacing previously loaded versions. (a)
- Added a plugin, contributed by Cezar M. Tigaret, that uses a tabbed panel to provide access to plugins in subfolders of the main "plugins" folder.
Version 1.19, 26-Oct-2000
- Added direct 16-bit to RGB and 32-bit to RGB conversions. (x)
- Fixed a bug that sometimes caused the color LUT not be saved when saving an 8-bit image in TIFF format. (x)
- Fixed a bug that sometimes caused color LUTs to be reset to grayscale when converting to or from 16-bits or 32-bits. (x)
- Image/Show Info now displays density calibration information. (w)
- Fixed a bug in the cross hair tool that caused it to ignore foreground color changes. (v)
- Changed the name of the Hot Keys submenu to Shortcuts. (v)
- Added red, green and blue LUTs to the Image/Color Tables submenu. (u)
- Added a plugin that saves stacks as QuickTime movies.
- Fixed a bug in the TiffEncoder class that prevented other applications from being able to read 8-bit color tiff stacks created by ImageJ. (t)
- Added a "Scale When Converting" checkbox to Edit/Options/Miscelleaneous that allows auto-scaling of data type conversions to be disabled. (r)
- Added "Copy All", "Clear Results", "Summarize" and "Set Measurements" commands to the worksheet popup menu. (r)
- Added three example plugins (FOV Calculator,
Gear Math, and
Circle Test)
contributed by Joshua Gulick.
- The calibration function, if there is one, is applied to the pixel data when converting 8-bit and 16-bit images to 32-bit floating-point. (q)
- Improved support for signed 16-bit FITS images by using a calibration function to restore the orginal negative values. (q)
- Added a "Precision" field to the Analyse/Set Measurements dialog for specifying the number of digits (0-8) displayed after the decimal point. (n)
- Added the addLabel(heading, label) method to the ResultsTable class. (n)
- Added an option to Analyze/Set Measurments to label rows in the results table with the file name and slice number. (l)
- Settings in Edit/Options/Profile Plot Options are now saved. (k)
- ImageJ now opens 8-bit color palette DICOM images. (j)
- Fixed a NullPointerException bug in File/Import/All As Stack that was triggered when the first file in the folder was not an ImageJ compatible image. (i)
- Added the Background Task plugin as an example of how to do time-consumming background processing.
- Added a plugin that generates 3D surface plots.
- The "Apply" button in the Image/Adjust/Brightness/Contrast tool will now apply the current brightness and contrast settings to the entire stack. (g)
- Fixed a bug, introduced in v1.18, in the Image/Adjust/Brightness/Contrast tool that limited "min" and "max" of 8-bit and RGB images to the range 0-255. (f)
- Fixed a NullPointerException bug in Analyze/Analyze Line Graph. (f)
- The "MRI Stack", "M51 Galaxy" and "Scala Media Stack" sample images now download as ZIP compressed TIFFs. (d)
- The Image/Adjust/Brightness/Contrast tool now works with animated stacks. (d)
- Upgraded File/Import/URL to work with TIFF files. (b)
- The ImagePlus.setSlice() method now updates the slice selection scrollbar. The new ClearOutside plugin takes advantage this feature. (b)
- Same-size images now open at the same magnification (1:1, 2:1, etc.), regardless of their screen position. (a)
Version 1.18, 5-Sept-2000
- Worked around a bug that sometimes caused ImageJ to hang when quiting.
- Added the Plugins/Hot Keys/Remove command for uninstalling hot keys and plugins. (u)
- Fixed a bug that sometimes caused the "Y Max" and "Y Min" values in Edit/Options/Profile Plot Options to be reset. (t)
- Fixed a bug that sometimes caused another ImageJ applet window to open when the user switched to another Web page and then returned to the ImageJ applet page. (s)
- Added the Plugins/Hot Keys/Create Hot Key command for assigning keyboard shortcuts to menu commands. (r)
- The title of the plot window produced by Image/Stacks/Plot Z-axis Profile now includes the name of the orginal stack and location of the selection. (r)
- All 16-bit images are now unsigned. Imported signed images with negative pixel values are converted to unsigned by adding 32768. Use masking to access values in pixel arrays (e.g. int i=pixels[i]&0xFFFF). (p)
- Added the Plugins/Hot Keys/Install Plugin command that enables plugins to be installed in the File/Import and File/Save As submenus. Assign a function key by entering "f1"-"f12" in the dialog's "Shortcut" field. (o)
- Fixed a Analyze/Analyze Particles bug that was introduced in 1.18b. (k)
- Fixed a bug that caused Analyze/Measure to set the image's "changed" flag. (k)
- Fixed a bug in GenericDialog that caused it to work incorrectly if the dialog displayed a checkbox or message followed by a numeric field or text field. (j)
- The "Global" option in Analyze/Set Scale and Analyze/Calibrate now works more reliably. (j)
- Images created with File/New no longer inherit the spatial and density calibration of the current image. (j)
- Fixed a bug in ParticleAnalyzer when it's called by a plugin and asked to calculate perimeters. (i)
- Fixed a bug that sometimes caused multiple items in the Window menu to be checked. (i)
- With straight line selections, Image/Show Info now displays the starting and ending coordinates. (e)
- Analyze/Plot Profile now produces the expected reversed results when the same line is drawn in different directions. (e)
- File/Import/Raw settings are now saved in IJ_Prefs.txt. (e)
- Edit/Fill, Edit/Draw and Edit/Clear now work with 16-bit and float images that have min=max=0. (b)
- The ImageProcessor.drawString() method now works with 16-bit and float images. (b)
- Newly created unsigned 16-bit images are now initialized to 0 instead of 32768. (b)
- To prevent annoying pauses, images loaded from a URL, such as those in the File/Sample Images submenu, are now converted to an ImageProcessor before being displayed. (a)
Version 1.17, 22-June-2000
- The Object Tracker plugin now allows the min/max object size to be specified.
- Clicking "Apply" in the Image/Adjust/Threshold when the image is in the "B&W" mode no longer displays a dialog. (y)
- Replaced Plugins/IP Demo with Plugins/Panel, a window with buttons for executing plugins in the plugins folder. (y)
- Analyze/Analyze Line Graph now works with thresholded images. (y)
- Added the Batch Converter plugin for converting a folder of images to another format.
- Added the Display Updater plugin that sets an image's min and max displayed value. (w)
- Added a constructor to GenericDialog that doesn't require a parent frame. (w)
- Fixed a spatial calibration bug in Image/Adjust/Size . (w)
- Added the "Fluorescent Cells" sample image and removed "Peppers"
- Added the FFT plugin.
- Edit/Invert now works with 16-bit unsigned images. (t)
- Added the IJ.run() method so plugins and macro interpreters (e.g. BeanShell) can more easily run ImageJ menu commands. This method runs in the current thread and does not return until the command has finished. (s)
- Added the Text Demo plugin that demonstrates how plugins can add text to images. (s)
- Fixed a bug in ImageProcessor.drawString() that caused text larger than 12-points to not be displayed correctly. (s)
- The fitted line in Analyze/Fractals/Box Count is now displayed correctly. (r)
- Worked around a problem opening Spot Camera TIFF files. (r)
- Added the Plugins/Edit command for editing, compiling and running plugins. Requires a Java Virtual Machine(JVM) that includes the javac compiler, such as one of the JDKs from Sun or Apple's MRJ plus the Java Software Development Kit. Note that the JRE 1.1.8 distributed with the Windows version of ImageJ does not include javac. When using JDK 1.2 or JDK 1.3, the tools.jar file must be in the classpath. To include it, run ImageJ using a command something like
java -cp ij.jar;C:\jdk1.3\lib\tools.jar ij.ImageJ (o)
- All measurements are now stored in a ResultsTable that is available to plugins using Analyzer.getResultsTable().
- Added a plugin that draws arrows and removed the Plugs/Draw Arrow command. (o)
- Added a plugin that does convolutions on real images using user-defined kernels. (j)
- Added the Plugins/Compile and Run command. Like Plugins/Edit, it requires a JVM that inludes the javac compiler. (j)
- The plugins folder no longer needs to be in the classpath since plugins are now loaded using a custom class loader. (j)
- Spatial (e.g. pixels/mm) and density calibration data are now saved with TIFF images. (j)
- Analyze/Analyze Particles is now up to 27 times faster! (i)
- Updated the Image/Benchmarks/Particles benchmark results. (i)
- Added a plugin that illustrates how to extend ImageJ's Particle Analyzer. (g)
- The Analyze/Line Analyzer command now creates plots whose size is based on the size of the selection, not on the size of the curve being digitized. (f)
- Added the Analyze/Calibrate command for calibrating 8-bit images to density standards. (e)
- Added a "Standard Deviation" option to Image/Stacks/ZProject. (e)
Version 1.16, 8-May-2000
- Fixed a 1.15 bug that caused incorrect measurements of non-rectangular areas. (f)
- Added a method that displays an error message and returns true if the ImageJ version is less than the one specified in the argument. For example, if (IJ.versionLessThan("1.16c")) return. (c)
- Analyze/Fractals/Save XY Coordinates now saves the XY coordinates and pixel value of all non-background pixels . (b)
- With 8-bit stacks, Image/Stacks/Convert Stack to RGB now displays the RGB image in a new window. (a)
- Fixed a bug that caused status bar cursor y-coordinates to be incorrect when the Pixel Aspect Ratio in Analyze/Set Scale was not equal to 1.0. (a)
- Fixed a bug in Image/Stacks/Delete Slice that caused the slice selector to be positioned incorrectly. (a)
Version 1.15, 27-April-2000
- Fixed a bug in Image/Stacks/Delete Slice that resulted in a blank window title.
- On systems with JDK 1.2 or JDK 1.3 installed, you can now run ImageJ by double clicking on the ij.jar file. On Windows NT/2000, this method avoids the annoying DOS window.
- The ij.jar file is now compressed, reducing its size from 778K to 432K.
- The Primes plugin provides an example of how to process mouse moved interrupts. (z)
- All Analyze/Measure results now use spatial calibration defined using Analyze/Set Scale. (v)
- Analyze/Analyze Particles summary results are now reported in calibrated units such as mm^2. (v)
- Analyze/Analyze Line Graph now plots and saves coordinate data using calibrated units. (v)
- Fixed a bug that caused Analyze/Analyze Line Graph to corrupt the source image. (v)
- Fixed a bug that caused File/Open to not "see" some DICOM files. (v)
- Image/Stacks/Plot Z-axis Profile now displays all measurements specified in Analyze/Set Measurements.
- Added a plugin that reverses the order of the slices in a stack.
- Added a "Global" option to Analyze/Set Scale that causes all images to use the same spatial calibration.
- Double-clicking on the line tool displays the Analyze/Set Scale dialog.
- Double-clicking on the freehand outlining tool displays the Analyze/Set Measurements dialog.
- Analyze/Gels/Label Peaks now labels each peak with its area as a percent of the total area.
- Fixed a bug in Analyze/Gels that generated extra measurements when using the shift key shortcut to scroll.
- When it can't recognize the header format, File/Open now displays a dialog listing the supported image types (TIFF, JPEG, GIF, BMP, DICOM, FITS, PGM, ZIP or LUT). (m)
- When processing stacks, Image/Adjust/Size, Image/Crop and Image/Rotate/* are now better at showing progress. (l)
- Double-clicking on dropper tool displays the "Colors" window but doesn't switch tools. (k)
- The Image/Adjust/Threshold "Apply" option is now undoable. (h)
- The dropper in the toolbar is now outlined with a box drawn in the background color. (g)
- Alt-click in the Image/Colors window to set the background color. (g)
- "Apply" in Image/Adjust/Threshold now displays a dialog with options for setting thresholded pixels to the foreground color and non-thresholded pixels to the background color. (g)
- "Min & Max", "Centroid" and "Center of Mass" calculations now ignore non-thresholded pixels if "Limit to Threshold" is checked in Analyze/set Measurements. (g)
- Added File/Save As/ZIP for saving an image in TIFF format within a compressed ZIP archive and extended File/Open to read files created by this command. (f)
- Changed the labels in Process/Image Calculator to "Image1" and "Image2". For all operators, clicking "OK" now calculates image1=image1<op>image2. If "Create New Window" is checked, a new window is opened to store the result and "image1" is left unchanged. (f)
- Fixed a bug in Process/Image Calculator that sometimes caused the first stack slice to not be processed. (d)
- Multi-image tiff files with images that are not all the same size and type now open in separate windows. (c)
- Fixed a bug that caused pasting of images with Edit/Paste Control modes other than "Copy" to fail. (b)
- Changed the definition of "difference" in Process/Image Calculator from dst=(src-dst)/2+128 to dst=abs(src-dst). (b)
- Added a "Create New Window" option to Process/Image Calculator. (b)
- The "Apply" button in Image/Adjust/Threshold now works with stacks. (a)
Version 1.14, 23-Feb-00
- Fixed a v1.13 bug that caused Analyze/Analyze Particles to fail when "Perimeter" was checked in Analyze/Set Measurements . (c)
- Edit/Cut now fills with the same background color as Edit/Clear. The only way currently to change the background color is by editing the value of "bcolor" in IJ_Prefs.txt. (a)
- Added a "Bounding Rectangle" option to Analyze/Set Measurements. When this option is checked, the bounding rectangle of the selection is displayed using the headings "BX", "BY", "Width" and "Height". (a)
Version 1.13, 18-Feb-00
- With 16-bit and real images, Edit/Fill and Edit/Clear now fill with zero if the foreground or background color respectively is black, the images minimum pixel value is not less than zero and the LUT is not inverted. The background color can be set to black by changing the value of "bcolor" in IJ_Prefs.txt to #000000. (w)
- Added keyboard shortcut support for plugins. For examples, look at the entries for File/Open Samples/Blobs, Plugins/IP Demo and Plugins/Draw Arrow in
IJ_Props.txt. Note: you don't have to hold down the control key to use menu shortcuts. (u)
- Moved Image/Adjust Contrast and Image/Adjust Threshold to the new Image/Adjust submenu. (u)
- Fixed a bug that caused the middle point in lines generated by Analyze/Plot Profile and Image/Stacks/Reslice to be doubled. (t)
- Added to the Analyze/Analyze Particles dialog box, a field for setting the number of bins used in size distribution histograms, and "Display Summary", "Exclude Edge Particles" and "Clear Worksheet" check boxes. (t)
- Added to Edit/Options/Miscellaneous, a field for setting the number of bins used in histograms of 32-bit real images. (s)
- Edit/Draw and the crosshair tool now work with 16-bit and real images as long as the image's maximum pixel value is not equal to its minimum. (r)
- Double-click on the eyedropper tool to display the "Colors" window. (q)
- Added the crosshair tool for counting, measuring and marking points. Marks are drawn in the foreground color. Double-click on the crosshair tool to change the mark size. To not leave a mark, set the size to zero. (p)
- Analyze/Fractals/Box Count now plots log count vs. log box size and calculates the fractal dimension. (p)
- Added the Plugins/Do Curve Fitting command for fitting functions to data. (j)
- The Image/Stacks/Save Slices as Files dialog now allows the user to specify the file name prefix and number of digits. (h)
- Added a plugin for tracking one or two objects through a stack. (c)
- File/Import/All as Stack now uses a progress bar and no longer displays the file names in the status bar. (b)
- Fixed a v1.12 bug that caused the ImageJ applet to fail to load when using the Netscape browser. (a)
Version 1.12, 18-Jan-00
- Changed the name of the File/Open submenu to File/Open Samples. (z2)
- Changed the name of the File/Acquire submenu to File/Import. (z1)
- Removed DICOM, BMP and FITS from the File/Acquire submenu. These file types can be opened using the File/Open command. (z1)
- Keyboard focus in the File/Acquire/Raw dialog is now set to the first numeric field. (z1)
- Changed the name of the ij.properties file to
IJ_Props.txt. (y)
- User preferences are now saved in a text file named "IJ_Prefs.txt". This file is saved in the Preferences folder on the Mac, in the user's home directory on Unix, and in the ImageJ folder on Windows. The drawing color, roi color, default directory, jpeg quality and measurement options are currently saved. Two preferences that cannot be set in ImageJ, background color and size distribution bins, can be changed by editing IJ_Prefs.txt. (v)
- Removed the double quotes from the Image/Show Info text window's title bar. These quotes sometimes caused the Save As command in the text window popup menu to fail. (t)
- Added the "Limit to Threshold" checkbox to Analyze/Set Measurements. When this option is checked, only thresholded pixels are included in measurement calculations. (s)
- Added a link to Michael Abrˆmoff's volume rendering plugin.
- Fixed several text window scrolling and selection problems. (r)
- Process/Math/Gamma and Process/Math/Log now work correctly with 16 and 32-bit images. (n)
- The wand tool now works with thresholded images. (m)
- Image/Show Info now displays the threshold levels. (k)
- Fixed a bug in Process/Math that occured when canceling an operation on a stack. (k)
- Fixed a bug that caused problems when changing the data type of an image being manipulated by the Image/Adjust Contrast tool. (k)
- Lowered the default position of the ImageJ window by 32 pixels to avoid the MS Office task bar. (i)
- Updated Analyze/Analyze Particles to use the upper and lower threshold levels defined by the Image/Adjust Threshold and Image/Adjust Contrast tools. (h)
- Added the Image/Adjust Threshold tool for interactively separating features of interest from background. This is similar to "density slicing" in NIH Image. As a shortcut, type shift-T to activate this tool. This tool currently only works with 8-bit images. (h)
- In addition to TIFF, JPEG, GIF, DICOM, and FITS, File/Open and File/Acquire/All as Stack also now work with ACR/NEMA files. (g)
- File/Acquire/All as Stack and Image/Stacks/Save Slices as Files work more reliably when free memory is low. (f)
- Out of Memory messages should be less likely when processing stacks with Smooth, Sharpen or Find Edges. (f)
- The progress bar is now displayed correctly after the ImageJ window is resized or uncovered. (d)
- The x-axis labeling in profile plots. (d)
- Worked around a v1.10 and v1.11 flickering problem with someJVM's when Analyze/Analyze Particles was displaying a large number of measurements in the ImageJ window. (c)
- Worked around a scroll bar problem in v1.10 and v1.11 that showed up when running on the Mac and on some versions of the Microsoft JVM. (b)
- High filter processing rates are now reported in the status bar in millions of pixels per second. (b)
Version 1.11, 9-Dec-99
- Added y-axis labels to profile plots. (z)
- Fixed several bugs in Image/Stacks/ZProject. (w)
- Type converted images are marked as changed. (v)
- The window title bar is updated when an image is saved under a new name. (v)
- Pressing Enter (or Return) is now equivalent to clicking "OK" in most ImageJ dialog boxes. (u)
- Replaced the "Save..." button in the Analyze/Histogram window with "List", which lists the histogram values in the ImageJ window. (u)
- Image/Duplicate now displays a dialog allowing the title of the new window to be specified. Hold the alt key down to skip the dialog. (t)
- Added the Edit/Options/Divide by Zero command for specifying the value used by the Image Calculator when it detects divide by zero with 32-bit real images. (t)
- Updated the Keyboard Shortcuts Table.
- Added the Window/ImageJ command (shortcut=enter) for bringing the ImageJ window to the front. (s)
- Added the Analyze/Analyze Line Graph command for extracting coordinate data from scanned line graphs. It is similar to NIH Image's
Line Plot -> Data
macro. (r)
- Added a constructor to the PlotWindow class for generating XY line graphs. See ij/plugin/filter/LineGraphAnalyzer for an example. (r)
- With 32-bit float images, Analyze/Image Calculator now detects divide by zero and sets the result to Float.MAX_VALUE (3.4e38). (q)
- Process/Image Calculator will now optionally process entire stacks if the source and destination are stacks with the same number of slices or the source is a single image and the destination is a stack. (p)
- Conversion of 8-bit and 16-bit stacks to 32-bits is now supported. (p)
- For RGB images, Analyze/Histogram displays a luminance histogram instead of a histogram all red, green and blue values. This is the way it worked prior to v1.07. (n)
- Added a "List" button to profile plot windows that displays the XY coordinates in the ImageJ window. (n)
- Added the Image/Stacks/Plot Z-axis Profile command for plotting the ROI means of the slices in a stack. (m)
- Fixed a bug that, when quiting ImageJ, caused "cancel" in the save changes dialog for stacks to be ignored. (m)
- Fixed a bug in v1.10 that sometimes caused histogram min and max to be set to zero. (m)
- Fixed a bug, introduced in v1.07, that caused area measurements of RGB images to be three times too large. (m)
- Fixed a problem with text not being displayed in Histogram windows on Windows NT. (j)
- In Analyze/Set Scale, in addition to setting "Unit of Measurement" to "pixel" or "Distance in Pixels" to 0, you can now also disable spatial calibration by clearing the "Unit of Measurement" field.
- Added Edit/Clear Outside command for erasing everything outside the ROI. (f)
- Analyze/Gels/Label Peaks now displays in the ImageJ window the band sizes as a percentage of the size of the largest band. (e)
- Added an image autocorrelation plugin by Markus Hasselblatt.
- DICOM images, without a .dcm extension, and FITs images can now be opened using File/Open and File/Acquire/All As Stack. (c)
- Image/Show Info now displays the DICOM tags. (c)
- The "Apply" option in Image/Adjust Contrast, when working with a stack, now allows the user to choose between applying the LUT to the current slice or to the entire stack. (c)
- Fixed a v1.10 text selection problem. (c)
- Added YesNoCancelDialog class. (c)
Version 1.10, 8-Nov-99
- The histogram display in the Image/Adjust Contrast tool is now double buffered to prevent flicker. (u)
- Added a "Thresh" (threshold) button to the Image/Adjust Contrast tool. Use the brightness slider to adjust the threshold. Use the slider's arrows to make fine adjustments. (t)
- Extended the
DicomViewer sample program to display the header information. Chris Rorden's
DICOM page is a good place to get more information about the DICOM standard.
- The DICOM reader now reads files with "??" VRs. (s)
- Fixed a bug that caused RGB stacks to be read incorrectly. (q)
- Replaced (again!) the text panel in the ImageJ window with one based on the hGRID class at
ftp://rsbweb.nih.gov/pub/image-j/examples/hGrid/.
The new text panel features unlimited size, resizable columns and a popup menu for saving to a file or copying to the system clipboard. Right-click (command-click on the Mac) in the text panel to access this menu. Measurement results can also be copied to the clipboard using Edit/Copy or control-C (command-C on the Mac). Rows to be copied must first be selected using the mouse or the popup menu. Shift-click to extend a selection. The number of lines copied to the clipboard is displayed in the status bar. (p)
- Added the File/Save As/Measurements command for saving measurement results to a tab-delimited text file. (p)
- The arrow keys, with the alt key held down, now move the end of line selections. (p)
- Added center of mass measurement option that works with 8-bit and 16-bit images. The center of mass is the pixel value weighted average of all the x and y coordinates in the selection. (i)
- Added centroid measurement option. The centroid is calculated by averaging the x and y coordinates of all of the pixels in the selection. (h)
- Added perimeter measurement option. Perimeter is calculated using the same algorithm as NIH Image, where edge pixels are counted as one and corner pixels as square root of two. (h)
- Changed the name of Image/Get Info to Show Info. (h)
- Show Info now displays DICOM and FITS header information. (h)
- Multi-image DICOM files now open as a stack. (h)
- Analyze Particles can now be canceled using the esc key. (h)
- Fixed a bug in Analyze Particles that caused it to fail with images containing thousands of particles. (h)
- Added the Particles sample image, contributed by Katriona Lightbody. This 2000x1000 binary image containing 5097 particles is useful for stress testing and benchmarking Analyze Particles. (h)
Version 1.09, 19-Oct-99
- Replaced the text panel in the ImageJ window with an improved version based on the Viewer class by
Rene Grothmann. This version has no arbitrary size limit, supports color, and features a popup menu for saving the contents of the panel to a file or to the system clipboard. Right-click (command-click on the Mac) to access this menu.
- Moving small (less than 25x25) rectangular ROIs causes the pixel value to be displayed in the status bar. Can be used, in conjunction with the arrow keys, to inspect individual pixels.
- Added Analyze/Set Measurements to specify the values to be calculated and recorded by Analyze/Measure.
- Added a progress bar to File/Save As Jpeg.
- Default Jpeg compression quality increased from 50 to 75.
- Newly opened grayscale Jpegs are automatically converted to 8-bits.
- Added nine new sample images to the File/Open submenu.
- Added File/Aquire/As Text File for opening text files in read-only mode.
- Image/Rotate now use bilinear interpolation and rotates entire stacks.
- The Process/Math command was converted to a submenu.
- Image/Type now supports 16-bit to 32-bit and 32-bit to 16-bit conversions.
- Added a plugin that does MRI t2 calculations (s2 = k/ln(s1/s2)) on two images or stacks.
- Added plugins that load and save images in
Analyze, PNG, Pict, SPE, AHF and other formats.
- Process/Math/Log now works correctly for float images.
- ImagePlus.getProperties() now automatically constructs a property object instead of returning null.
- Added the TextWindow class that plugins (e.g. ij/plugin/System_Properties.java) can use to display text in a window.
- Added ImagePlus.startTiming() method so filter plugins (e.g. ij/plugin/filter/Rotator.java) can avoid having dialog open times including in the displayed processing time.
- Added OpenFile and SaveFile classes that plugins can use for opening and saving images. See the I/O plugins on the plugins page for examples.
- Added the ImagePlus.setProperty(String,Object) method.
Version 1.08, 21-Sept-99
- Added the Image/Stacks/Reslice and Image/Stacks/ZProject commands. Descriptions of these commands are in the
online manual.
They were contributed by
Patrick Kelly and Harvey Karten of the University of California, San Diego.
- Added a bilinear interpolation option to the Image/Scale and Image/Transformations/Resize commands.
- Added the Process/Repeat Command command for repeating the previous command. Note that the Undo and Close are ignored.
- Added a batch file to the Windows distribution for running ImageJ using Microsoft'sJava. It contains the single command "jview /cp ij.jar;plugins ij.ImageJ".
- Added the ImageProcessor.setInterpolate(boolean) method.
- Added the ImagePlus.show(String) method for displaying an image in a window with a message in the status bar. The ZProject and Reslice commands use this method to display the processing time.
- Fixed a rounding bug that caused Image/Scale and Image/Transformations/Resize to work incorrectly along the edge of images with an odd width or odd height.
Version 1.07, 3-Aug-99
- File/Save As/Tiff and File/Save As/Raw Data now support RGB and float stacks.
- Added a plugin (ftp://codon.nih.gov/pub/image-j/plugins/RGB_Stack_Merge.java) for merging three 8-bit stacks into one RGB stack.
- Added support for 8-bit indexed color to grayscale stack conversions.
- Added the Image/Stacks/Make Montage command for creating a composite image from the slices in a stack.
- Released a Mac 1.07 version that adds the File/Acquire/Video command for capturing images from QuickTime compatible video sources. Requires QuickTime for Java, a QuickTime 4.0 custom install. QT 4.0 is not required, but you have to use the QT 4.0 installer to install QT for Java (do a custom install).
- Process/Equalize now works much better thanks to an improved histogram equalization algorithm contributed by Richard Kirk that uses the square root of the histogram values. Process/Equalize also now works with 16-bit images. Hold down the alt key use the standard histogram equalization algorithm.
- Removed the Process/Enhance Contrast command. As a substitute, use Process/Equalize or the "Auto" button in the Image/Adjust Contrast window. The "Auto" button has the advantage of not altering the pixel values except for RGB images.
- Added Process/Repeat, which repeats the previous command.
- File/New can now create unsigned 16-bit images.
- For RGB images, Analyze/Histogram now displays the histogram of all red, green and blue values. Previously it displayed a luminance histogram.
- Clicking on an image's close box now invokes the File/Close command, which runs as a separate thread, instead of closing the image in the event queue thread. This should make exceptions and thread deadlocks less likely.
- Changed the title of the IJ.error() dialog from "Error" to "ImageJ".
- Changed the argument of the ImageProcessor.applyTable method from byte[] to int[] so it can be used with 16-bit images.
- The ImageWriter class now writes short and float images using little-endian byte order if FileInfo.intelByteOrder is set true.
- For stacks, ImagePlus.getFileInfo() now sets FileInfo.pixels to an array of images.
- The ImageProcessor.getHistogram method now works with 16-bit images.
- Added IJ.altKeyDown method for determining if the alt key is down.
- Added the ImageProcessor.drawString method for drawing text on images. Use moveTo(x,y) to specify the position and getStringWidth() to determine how many pixels will be required to draw the text.
- Fixed a recently introduced bug that caused File/Acquire/Raw to not work with RGB images.
- Fixed a bug that sometimes caused the the slice selector to become invalid when converting a stack to a different data type.
Version 1.06, 2-July-99
- Plugins in the plugins folder are no longer loaded using a custom class loader. Consequently, the plugins folder must be in the classpath. This change fixes a bug that caused static variables in plugins to be reset.
Version 1.05, 1-July-99
- The Image/Stacks/Convert Stack to RGB command now works with 16-bit stacks.
- Conversion of 16-bit stacks, real stacks and RGB stacks to 8-bit grayscale is now supported.
- Added "Add Slice", "Delete Slice" and "Convert Images to Stack" commands to the Image/Stacks submenu.
- Added the File/Acquire/Text command for opening tab-delimited text files as real images.
- Values displayed in histograms of real images are now better formatted.
- Analyze/Gels/Plot Lanes now displays large plots in an enlarged window zoomed 1:1.
- Added the Analyze/Gels/Label Peaks command.
- The Gel Analyzer now converts pixel values to uncalibrated OD before plotting the lanes. It also adds half the perimeter to the peak area to compensate for the area under the boundary line.
- A 3-point running average is now used to measure freehand line lengths.
- ImageJ now looks for the plugins folder in the folder containing ij.properties. Previous versions expected it to be in "user.dir".
- Added the Image/Color Tables/Invert LUT command for inverting the lookup table. Inverted LUTs display zero pixels as white instead of black. Unlike Edit/Invert, Invert Lut does not alter the pixel data.
- Roi outlines are no longer limited to 5000 points.
- Edit/Draw now works with oval selections.
- The display is now updated correctly after using Edit/Draw with a line width greater than one.
- Added the createImagePlus method to ImagePlus for creating new ImagePlus objects that have the attributes, such as spatial scale, of the parent.
- Added the hide method to ImagePlus. Use hide() to close an ImagePlus' window and show() to open it.
- Added constructors to ShortProcessor and FloatProcessor for creating blank images. The ShortProcessor constructor has a boolean argument used to specify signed or unsigned.
- Added the invertLut method to ImageProcessor. Inverted Luts display zero pixels as white.
- Image/Stacks/Convert Stack to RGB is working again (It broke in v1.03).
- The File/Acquire/LUT command is working again.
- Fixed a bug that caused brightness and contrast modifications to be lost after using Image/Crop, Image/Duplicate or Image/Transformations/Resize on a 16-bit or 32-bit image or stack.
- Fixed a bug that caused spatial calibration to be lost after using Image/Crop or Image/Transformations/Resize.
- Fixed a bug that caused the lineTo() method of ImageProcessor to not draw the end pixel.
Version 1.04, 13-May-99
- Added a "Difference" operator (dst = (dst-src)/2+128) to the Process/Image Calculator and Edit/Paste Control.
- Fixed a bug, introduces in v1.02, that caused profile plots of straight line selections to be incorrect.
- Fixed a bug that caused the "Subtract" operator in Process/Image Calculator and Edit/Paste Control to produce incorrect results.
Version 1.03, 6-May-99
- Added a flush() method to the ImagePlus class that sets the pixel arrays to null, making it more likely that the garbage collector will reclaim memory when images are closed.
- The "Apply" button in the contrast/brightness control now processes every slice in a stack, with the exception of RGB and HSB stacks.
- The standalone Windows version now comes as a self-extracting zip archive and includes JRE 1.1.8.
- Worked around a null cursor bug with JDK 1.1.8.
- Fixed a bug, introduced in V1.02, that caused conversions to RGB and HSB stacks to fail.
- Fixed a Windows NT specific bug that caused values typed in the File/Acquire/Raw dialog to be read incorrectly.
Version 1.02, 4-May-99
- Added the Acquire/Twain command for acquiring images from TWAIN sources (scanners, digital cameras, frame grabbers). Requires that the "twain.jar" and "JavaTwain32.dll" files from the Java Twain Package at http://internet.sk/gnome/ be moved to the ImageJ folder.
- Added the Process/Morphology submenu with Erode, Dilate, Open, Close, Outline and Skeletonize commands.
- Added the Process/Shadows submenu with commands for producing shadow effects. Includes a nifty demo that shows off the speed of the 3x3 convolution routine contributed by Glynne Casteel.
- Added the Process/Noise submenu, moved to it the "Add Noise" and Despeckle commands, and added "More Noise" and "Salt and Pepper" commands.
- Added the Save As/Text command for saving images as tab-delimited text files.
- 8-bit images can now be pasted into RGB images.
- Profile plots of irregular line selections are now supported.
- The Smooth and Sharpen commands now work with 32-bit floating-point images.
- Fixed several bugs relating to 16-bit unsigned images.
- Fixed a Windows NT specific bug that caused values typed in the Image/Scale dialog to be read incorrectly.
Version 1.01, 25-March-99
- Plug-ins placed in a folder named "plugins" are now automatically installed in the PlugIns menu. The folder distributed with ImageJ contains source code for two example plug-ins.
- The applet version of ImageJ now downloads as a JAR (Java ARchive) file. It is now slower to start up but the annoying class file downloading delays are gone.
- Added the Image>Crop command, which works with all data types and with stacks. Note that there is no Undo available for operations on stacks.
- Dialog boxes are now centered on the screen.
- The Rotate Right, Rotate Left and Resize commands now work with 16-bit and 32-bit grayscale images, and with stacks.
- The Cut, Copy, Paste and Enhance Contrast commands now work with 16-bit and 32-bit grayscale images.
- Added the "3-3-2 RGB" LUT to the Image>Color Tables sub-menu. This palette uses 3-bits for red, 3-bits for green, and 2-bits for blue.
- Moved the benchmark commands from the PlugIns menu to the Image>Benchmarks sub-menu.
- Added methods to the FileSaver class for saving as tiff, gif, jpeg or raw using a file path.
- Removed the RGBA and HSB public constants from the ImagePlus class.
- Added isRGBA() and isHSB() methods to the ImageStack class.
- Fixed a bug with the "Pixel Aspect Ratio" option in the Analyze>Set Scale dialog.
- Fixed a masking bug that caused operations on non-rectangular ROIs to fail on some UNIX systems.
Version 0.99, 2-March-99
- Added the Image>Stack>Save Slices as Files command for saving a stack as separate tiff, gif, jpeg or raw files.
- On the Macintosh, the menu bar no longer disappears when image windows are active.
- Added the "Spectrum" LUT to the Image>Color Tables sub-menu.
- Added the Image>Stacks:Convert Stack to RGB command for converting a 3 or 4-slice stack to a color image.
- The File>Acquire>All as Stack command now sorts the file list to guarantee that images are loaded into the stack in alphabetical order.
- The Image>Scale and Image>Transformations>Resize commands now work with 16-bit images.
- Fixed a problem with the 16-bit version Process>Sharpen.
Version 0.98, 2-February-99
- The Image>Colors window no longer requires a network connection and colors can be "picked up" without switching to the eyedropper tool.
- The spatial scale in TIFF and DICOM headers is now used.
- Added the "Analyze>Set Scale" command for setting the spatial scale.
- Added the "Image>Stacks>Set Speed" command for changing the stack animation speed. The default is 10 fps.
- When opening a TIFF file, and ImageJ is in debug mode, the TIFF tags are dumped to the ImageJ window.
- Added the "File>Page Setup" dialog for specifying the printer scaling (5-500%) and whether or not the image is centered on the page, has a border and/or a title.
- Images are now printed centered, with a border, and are scaled to fit the page.
- Added the Image>Color Tables sub-menu for applying color lookup tables to grayscale images to produce false-color images. If no image is open, a 256x32 ramp image is created to display the color table.
- Added an "Open All" option to the Import dialog.
- Added the "File>Acquire>Open All As Stack" command for opening all the image files in a folder as a stack. The images must all be the same size and type (8-bit, 16-bit or RGB). The images can be in tiff, gif, jpeg or bmp format.
- When closing a stack, the references to the raster data are set to null so the memory used by the stack is more likely to be reclaimed.
- The Adjust Contrast plug-in no longer prevents closed images from being garbage collected.
- The IP Demo plug-in now runs commands in a separate thread and no longer prevents closed images from being garbage collected.
- Changed the name of the getTitle method in ImageStack to getSliceLabel.
- Added the setColorModel methed to the ImageProcessor class.
- Changed the name of the Info class to IJ.
- Added the static IJ.runPlugIn method that runs a plug-in and returns a reference to it.
- Changed the name of the getImageJ method in IJ to getInstance.
- Changed the name of the getLUT method in ImagePlus to createLUT.
- Edit>Draw now works with rectangular ROIs created by a paste operation.
- Fixed a thread synchronization bug that could sometimes cause ImageJ to hang.
- Fixed a bug that caused the File>Quit command to sometimes fail when running ImageJ under JDK 1.2.
Version 0.97, 11-December-98
- Updated the "Waves" benchmark results for the released version of JDK 1.2. Vote for bug 4185726 if you want to see image display speeded up in JDK 1.2.
- Added a "16-bit Unsigned" option to the File/Acquire/Raw dialog. Selecting this option causes ImageJ to subtract 32768 from each pixel value before creating a ShortProcessor to contain the image. Methods in ShortProcessor that return pixel values (getPixelValue, getMin, getMax, etc.) then add back the 32768.
- The new MemoryMonitor plug-in continuously plots ImageJ's memory utilization. Hold down the alt/option key to use a 640x480 window and display the frame rate, simulating video acquisition. Click on the status bar in the ImageJ window to force the JVM to do garbage collection.
- The class files for the stand alone Windows version are now packaged as a JAR file.
- The stand alone Windows version no longer uses a minimized console window.
- Upgraded the Java runtime bundled with the stand alone Windows version to JRE 1.1.7B, which seems to have fixed a problem with exporting text to the system clipboard.
- The "fps" display in the "Waves" plug-in now works with zoomed images.
- The List System Properties plug-in now displays the name of the JIT compiler (java.compiler).
- The "Test Display Speed" plug-in can now be aborted by pressing the esc key.
- Plug-in can now have "about boxes". See the source for the Invert, MemoryMonitor or Waves plug-ins for examples.
- The Plot Profile command, for rectangular selections, now averages horizontally if the alt/option key is down.
- Added the Edit/Options/Profile Plot Options command for fixing the y-axis scale in profile plots.
- The "Memory: xxxxK" message shown when clicking in the status bar no longer displays the free heap space.
- File/Acquire/Raw handles out of memory situations better.
- Fixed a bug that caused some tiff files to be displayed with inverted pixels.
- Fixed a bug that caused a null pointer exception when using Plot Profile with no current selection.
- Fixed a bug that could cause a null pointer exception when using the Rotate 90 Degrees Right/Left commands.
Version 0.96, 23-November-98
- Made the ImageJ window slightly wider so lines displayed by the Measurement command are less likely to be split.
- Added a constructor to the ImagePlus class for creating an ImagePlus given an ImageProcessor.
- Changed the order of the arguments in the ShortProcessor and FloatProcessor constructors to be consistent with the ByteProcessor and ColorProcessor constructors.
- Fixed a thread synchronization bug that could sometimes cause ImageJ to hang when closing a window.
- Fixed a bug that caused the drawing color of 8-bit images to be set to 254 instead of 255.
- Fixed a bug that caused a null pointer exception when clicking on a 16-bit or 32-bit image with the dropper tool.
Version 0.95, 19-November-98
- The Plug-Ins/"Show Display Speeds" command was updated to include results for JDK 1.2. The results show that the crucial drawImage method is up to 22 times slower compared to JDK 1.1.7. To encourage Sun to fix this problem, vote for bug 4185726 ("JDK 1.2rc1 drawImage very slow (50% slower) compared to JDK 1.1.7") on the Bug Parade. ImageJ is not going to run well under JDK 1.2 until this problem is fixed.
- Added the "Waves" plug-in that continuously applies a sine wave to the x-coordinates of an image. Click on the image or press the escape key to stop. This plug-in is useful as a benchmark (it displays the frame rate), as a way to demonstrate ImageJ's multi-tasking ability, and as an example of a plug-in that processes both 8-bit and RGB images.
- Added a "Transformations" sub-menu to the Image menu and moved the "Flip Vertical" and "Flip Horizontal" commands into it.
- Added the "Rescale" command to the Transformations sub-menu for scaling an image to a specified width and height.
- Added commands to rotate an image 90 degrees left or right to the Transformations sub-menu.
- The "Show Benchmark Times" and "Show Display Speeds" commands no longer require that an image be open.
- Stack animation is now much faster.
- The slice selection scroll bar in stack windows now works more reliably.
- The Invert, Smooth, Find Edges, Add Noise, Despeckle and Threshold commands now operate on all the slices of a stack.
- The Reduce Noise command, a median filter, was renamed Despeckle.
- Added a public "running" flag to the ImageWindow class. Plug-ins can use this flag to terminate themselves when the user clicks on the image or presses the escape key. See /ij/plugin/filter/Waves.java for an example.
- Improved the interface used by plug-in filters. Filters must now implement the PlugInFilter interface and be in the the ij.plugin.filter package. They must also provide a setup method that ImageJ will call to determine the filters capabilities. See ij/plugin/filter/PlugInFilter.java for more information and ij/plugin/filter/Invert.java for an example.
- Added the GenericDialog class that plug-in can use to acquire multipler numeric parameters. See /ij/plugin/filter/Resizer.java for an example of how to use this new class.
- The lock method in ImagePlus beeps and displays a status bar message if the image is already locked.
- The reserve and unreserve methods in the ImagePlus class were renamed lock and unlock.
Version 0.94, 21-October-98
- The File/Acquire/Raw command no longer generates extra blank slices at the end of the stack when more than the actual number of images is specified.
- Added a "Gap Between Images" field to the File/Acquire/Raw dialog box. This allows import of multi-image files with gaps between the images (e.g. uncompressed 8-bit AVI movies with a 4104 byte header and a gap of 8). Set the gap to (n-1)*width*height*2*real-gap to read every nth frame in a movie.
- Changes to RGB images made using the Image/Adjust Contrast command are now be limited to the interior of non-rectangular selections.
- The Process/Math command now works correctly with non-rectangular selections.
- The Open... command now opens BMP files with names ending in ".bmp".
- Added a command to the Save As sub-menu for saving images in JPEG format. It uses the JPEG encoder from http://www.obrador.com. Use the Edit/JPEG Quality command to specify the compression level.
- The wand tool now more reliably traces areas defined by a one pixel wide boundary line.
Version 0.93, 7-October-98
- Added a constructor to the GifEncoder class for saving 8-bit AWT images.
- Added the Edit/Fonts command for specifying the font, font size and font style. For a shortcut, double-click on the Text tool in the tool bar.
- Double-clicking in the tool bar on any of the three line selection tools now brings up the set line width dialog.
- Added a "Colors..." command to the Image menu. It downloads and displays an image that can be used, in conjunction with the dropper tool, to set the drawing color. Note that holding down the alt (option) key temporarily switches to the dropper tool.
- Moved the Draw Arrow command from the PlugIns menu to the Edit menu.
- Moved the Draw Arrow command from the PlugIns menu to the Edit menu.
- Moved the Adjust Contrast command from the PlugIns menu to the Image menu.
- The Fill and Clear commands now require a selection.
- The Save As, Acquire/BMP and Acquire/Raw commands now "remember" the previously used directory.
- Worked around a JDK 1.1.7 related bug that caused a null pointer exception when using ImageJ's GetNumberDialog or GetStringDialog classes.
- Worked around a JDK 1.1.7 related bug that caused ImageJ to lock up when opening an 8-bit image.
Version 0.92, 28-September-98
- Fixed several bugs in "Adjust Contrast".
- Added an "Hist." button to "Ajust Contrast" that generates a histogram and combines it with the LUT plot.
- Added an "Apply" button to "Ajust Contrast" that, for 8-bit images, makes brightness and contrast changes permanent.
- When running as an applet, the first time a command is executed, a progress bar is displayed as class files downloaded.
- The 16-bit sample image "M51 Galaxy" now displays correctly.
- Fixed a bug the that caused 16 and 32-bit images loaded over the network to become corrupted.
- It's now possible to move text selections using the arrow keys.
- Fixed a bug that could cause null pointer exceptions when generating line profiles.
Version 0.91, 21-September-98
- New downloadable versions for Mac OS, Windows and UNIX are available.
- Increased the maximum heap size of the stand alone Windows version from 16MB to 64MB.
- Updated the API documention.
Version 0.90, 17-September-98
- Worked around a bug in Sun's JDK/JRE 1.1.6 that caused the main ImageJ window to be too large.
- Saved gif files now reflect changes made in the Adjust Contrast window.
- Look-up table plots generated by Analyze/Show LUT now reflect changes made in the Adjust Contrast window.
- Measurement results displayed in the ImageJ window are now formatted better.
- Stacks are no longer limited to 100 slices.
- Added "Next Slice" and "Previous Slice" commands to the Stacks sub-menu. Use the ">" and "<" keys as shortcuts.
- Added a line of text to the top of each image window that displays current slice/total slices (stacks only), width, height, type and memory size.
Version 0.89, 16-September-98
- Added a text (annotation) tool. Use it to create a text rectangle, type some text, then use Edit/Draw to add the text to the Image. To draw the text on a white background, use Edit/Clear prior to Edit/Draw. To change the font size, use Edit/Font Size or double-click on the text tool. There is currently no way to select a different font or style. Text rectangles are currently limited to one line.
- Added a Draw command to the pop-up menu. To use this menu, right-click on an image (option-click on the Mac).
- Fixed a bug that sometimes caused operations on non-rectangular regions in stacks to fail.
- Fixed a bug that could result in multiple checked items in the Type sub-menu after an attempt to do an unsupported conversion.
- Fixed a bug that caused images larger than the screen (e.g. a 1024x1024 image on a 640x480 screen) to be displayed incorrectly after conversion to RGBA or HSB.
- Fixed a bug that could cause null pointer exceptions when generating histograms.
- Fixed a bug that caused the line width to be set to one if "Cancel" was clicked in the Edit/Line Width dialog box.
Version 0.88, 8-September-98
- Worked around a bug in SUN's JVM for Windows that could cause ImageJ to lock up when closing a window with changes.
- Updated "Plug-Ins/Show Benchmark Times" to include results for Apple's MRJ 2.1ea2.
- Fixed a bug that could cause images to become permanently locked when memory was low.
- Fixed a minor bug in the Image/Scale command. To see the bug in action, use Acquire/URL to load the image http://rsbweb.nih.gov/~wayne/ij/images/dots.gif, and then use Image/Scale to scale it by 2.
- When switching slices (channels) in RGBA or HSB stacks, the slice name ("red", "green", "blue", "hue", "saturation" or "brightness") is now displayed in the status bar.
- Removed the Image/Channel sub-menu.
Version 0.87, 20-August-98
- Fixed several problems that caused Edit/Draw and Edit/Fill to use incorrect colors with in 8-bit images.
- Hold down the alt (option) key to temporarily switch to the hand (panning) tool.
- Alt-click (option-click) on an image with any tool except the magnifying glass to "pick up" a new drawing color. This is a shortcut for switching to the dropper tool, clicking on the image to select a drawing color, and then switching back to the original tool.
- The Plug-Ins menu has a new command that tests to see how fast the JVM can draw images to the screen.
Version 0.86, 2-July-98
- The Benchmark plug-in has a new option that displays more times.
- Images now display much faster when running under MRJ (MacOS Runtime for Java).
- Lines rendered using the Draw command are now aligned better with the yellow ROI selection.
- Worked around a problem with some versions of MRJ and Internet Explorer that caused ImageJ windows to be displayed under the the Mac menu bar.
- Fixed another problem with the Draw command.
Version 0.85, 22-June-98
- Released new standalone versions for Mac OS8 and Windows. Reverted back to using JRE 1.1.5 with the Windows version because JRE 1.1.6 has a bug that causes ImageJ to hang when quiting with unsaved windows.
- The Draw command works again.
- Fixed a null pointer exception error (introduced in 0.83) that followed the "There are no Images open." dialog.
Version 0.84, 19-June-98
- New stand alone versions for Mac OS8 and Windows are available. The Mac version include source code and a Metrowerks CodeWarrior project file. The Windows version includes the source and Java Runtime Environment (JRE) 1.1.6. There is also a much smaller ZIP file containing the class files and source but not the JRE.
- Updated the API documentation.
Version 0.83, 18-June-98
- Stacks can now be saved as tiff files.
- 8-bit multi-image tiff files open as stacks if the images are all the same size.
- The File/New command will now create 8-bit stacks.
- Added an Image/Stacks submenu with commands to start/stop stack animation.
- The Image/GetInfo command now displays "(inverted LUT)" for images with inverted look-up tables and, for stacks, displays the current slice number.
- Fixed a bug that caused Edit/Clear to erase to black instead of white for images with inverted LUTs.
- Added buttons to histogram windows that allow histogram values to be saved to a text file or copied to the system clipboard.
- Fixed a bug that sometimes caused an array bounds exceptions when generating histograms of 32-bit real images.
Version 0.82, 5-June-98
- "Adjust Contrast" now changes the brightness and contrast of 8-bit images by updating the image's look-up table rather than its pixel values. This is particularly nice when working with stacks since brightness and contrast changes apply to all the slices in the stack.
- Added two sample stacks to the Open menu. "MRI Stack" is a 3D MRI head scan consisting of 27 186x226 axial slices and "Scala Media Stack" is a 36 frame 3D movie of the scala media volume within the cochlea of the moustached bat.
- Three of the larger sample images (Boats, Bridge and Gel) now download more reliably as a result of being converted from gifs to tiffs.
- The FileOpener class now supports URLs and can open 8-bit stacks.
- Acquire/Raw can now import multi-image 8-bit files.
- Windows with multiple images (stacks) now have a scrollbar for selecting the image to be displayed. To see how this works, convert a color image to ARGB (alpha, red, green, blue) or to HSB (hue, saturation, brightness).
Version 0.81, 14-May-98
- Improved the DICOM plug-in so it now opens some aberrant GE MRI scans.
- Copying text from the ImageJ window to the Clipboard now works more reliably.
- Measurement results displayed in the ImageJ window are now tab-delimited so they can be easily pasted into a spreadsheet.
- Moved the buttons in the profile plot window from the right side of the window to the bottom.
- Fixed a problem with the "Copy" (to Clipboard) option in the profile plot window.
- Moved the "Save XY Coordinates" and "Fractal Box Counter" plug-ins from the Plug-ins menu to the new Process/Fractals submenu.
- The "Fractal Box Counter" now allows you to specify the box sizes and the results are now tab-delimited.
Version 0.80, 11-May-98
- The run() method plug-ins are required to implement is now passed a String instead of an ImagePlus. Plug-ins that need an ImagePlus object can call WindowManager.getCurrentImage(). One plug-in that used this new feature is URLOpener, which ImageJ uses to open the sample images in the Open submenu.
- Changed the name of the URL plug-in to URLOpener.
- The Acquire/Raw and Math commands now "remember" the popup menu selection.
- Added a 16-bit image of the M51 galaxy to the Open submenu. As an exercise, try using Adjust Contrast to bring out detail in the galaxy. One useful trick is to select a region of interest and click on the "Auto" button.
- Zoomed images now expand to fill the window as the window is enlarged.
Version 0.79, 1-May-98
- Resize rectangular selections by clicking and dragging the little box in the lower right corner.
- Resize rectangular and oval selections by holding down the the option (alt) key and using the arrow keys.
- Added a "Save Changes" dialog that is displayed when closing windows or quitting.
- The Save command is now an alias for "Save as Tiff..." instead of "Save as Gif...".
Version 0.78, 21-Apr-98
- The "Adjust Contrast" plug-in is now multi-threaded to provide a more responsive user interface.
- Added the wand tool. This tool automatically selects image areas with identical pixel values.
- Fixed a problem with the interactive display of pixel values of zoomed RGB images.
- Double-clicking in the toolbar now works more reliably. Currently you can double-click on the line tool to set the line width and on the zoom tool to unzoom.
Version 0.77, 3-Apr-98
- Added a plug-in (Acquire/URL) for opening GIF and JPEG images using a URL.
- Added a class (GetStringDialog) that prompts the user for a string.
- Converted the MessageDialog, MessageWithCancelDialog and GetNumberDialog classes to the Java 1.1 event model.
- Added Select All and Select None commands.
- Moved the Restore Selection command to the Edit menu and renamed it Restore Selection.
- Profile plots are now larger for larger selections.
- Added buttons to profile plots windows that allow the plot data to be saved to a text file or copied to the system clipboard.
- Updated the API documentation.
Version 0.76, 31-Mar-98
- Added a plug-in for displaying 8, 16 and 32-bit FITS (Flexible Image Transport System) images.
- Fixed a problem with ROI histograms of 16 and 32-bit grayscale images.
- Fixed several image zooming and scrolling problems.
- Added a plug-in for drawing arrows.
- White (255,255,255) backgrounds are no longer changed to (248,248,248) when converting from RGB to 8-bit color.
- File extensions are automatically changed when saving images in a different format.
- Added a plug-in for adjusting the brightness and contrast and of all supported image types.
Version 0.75, 17-Mar-98
- Fixed an array bounds exception bug when using Enhance Contrast or Threshold with non-rectangular selections.
- Fixed a bug that allowed freehand ROIs to extend beyond the left or top edge of the image.
- Added a plug-in for displaying DICOM images. DICOM (Digital Imaging and Communications in Medicine) is an image file format widely used in the medical imaging community.
- Replaced the incomplete images at ftp://codon.nih.gov/pub/image-j/images.
- The DICOM plug-in dumps the DICOM tags (group, element, length, explicit VR) if debugging is enabled.
- Added a plug-in for displaying uncompressed BMP images.
- Added Acquire submenu for acquisition plug-ins such as the new DICOM and BMP plug-ins.
- Changed Import command to a plug-in and moved it to the Acquire submenu.
Version 0.74, 9-Mar-98
- Three tools were added for creating straight, segmented and freehand line selections. Use the Draw command to draw the line. Use Measure to measure its length. Use Plot Profile to plot the pixel values along a straight line selection. To measure an angle, create a two-segment line selection and use the Measure command. Use the arrow keys to move line selections one pixel at a time.
- A server bug was fixed that sometimes caused larger demo images such as "Boats" and "Bridge" to be downloaded incorrectly.
- The status bar was moved to the top of the "ImageJ" window.
- The new eyedropper tool "picks up" colors from image windows for use by the Draw and Fill commands.
- A working JIT compiler is included with the standalone Win32 version.
Version 0.73, 2-Mar-98
- The Open command dumps TIFF tags to the Java console if debugging is enabled.
- The "Lena" benchmark example times were updated.
- The new "Draw" command outlines the ROI using the current color and line width. Note that this doesn't work yet with oval ROIs and there is currently no way to set the color.
- Use the new "Line Width..." command, or double-click on the line tool, to set the line width.
Version 0.72, 24-Feb-98
- Keyboard shortcuts (without command or control) now work when the ImageJ window is active.
- The "click on status bar to display memory used" feature works more reliably.
- The ImageJ and IP_Demo classes were converted to the Java 1.1 event model.
- Potential thread deadlock problem with the "IP Demo" plug-in fixed.
- The "IP Demo" plug-in works with multiple images.
- You can now quit the "IP Demo" plug-in by clicking on its close box.
Version 0.71, 19-Feb-98
- The "Save as Gif..." command now uses the GifEncoder class by Jef Poskanzer(http://www.acme.com). This GifEncoder is more reliable than the one previously used and it adds support for interlaced and transparent GIFs, although these features are currently not supported by ImageJ.
- Added a simple example plug-in (Prototype PlugIn) that inverts grayscale images.
- The ImageJ source code was divided into five packages: imagej, imagej.gui, imagej.process, imagej.io, and imagej.plugin.
- The API documentation was updated.
Version 0.70, 10-Feb-98
- The New command now has a dialog box for specifing the name, size and content of newly created images.
- The ImageWindow, ImageCanvas and ImportDialog classes were converted to the Java 1.1 event model.
Version 0.63, 4-Feb-98
- Support was added for cut, copy and paste of rectangular image selections. Support is limited to ImageJ's internal clipboard. Images cannot be copied to or from other programs.
- Image windows now have a popup menu accessed using control-click on the Mac and right-click on PCs. This menu can be customized by editing the ij.properties file.
- Keyboard shortcuts work without holding down the control key when an image window is active.
- Use the keys "1" through "4" to switch image channels.
- When switching channels, the channel name ("Red", "Hue", etc.) is displayed in the status bar.
Version 0.62, 30-Jan-98
- "Clear" now erases to white and "Fill" fills with black on images with inverted look-up tables.
- ROI outlines are now more precisely drawn on magnified images whose width or height is not evenly dividable by the magnification factor.
- A bug, introduced in v0.56, was fixed that prevented memory from being reclaimed when closing the last remaining image window.
- A bug was fixed that prevented ROI outlines from being moved all the way to the right or bottom edge of an image.
- A bug was fixed that caused operations to fail on images that had been duplicated using the Duplicate command.
Version 0.61, 28-Jan-98
- A plug-in was added that uses the "box counting" method to make measurements that allows one to calculate the fractal dimension of an object.
- Text displayed in the ImageJ window can be selected and copied to the system clipboard. Note that this may not work when ImageJ is running as an applet due to security restrictions.
- Stack traces due to run-time exceptions are now displayed in the ImageJ window.
- Run-time exceptions such as array bounds errors no longer leave the active image in a locked state.
Version 0.60, 21-Jan-98
- The file open dialog box is now more likely to "remembers" the directory.
- The window title is used as the default file name in the "Save as" dialog box.
- Scrolling tool (looks like a hand) added.
- Use function keys to select tools.
- Values displayed by the Measure command are rounded and better formatted.
Version 0.59, 13-Jan-98
- ImageJ now requires a Java 1.1 virtual machine such as Sun's JDK 1.1.x, Netscape Navigator 4 with the
JDK 1.1 patch (PC only), Internet Explorer 4 (Mac and PC), or MacOS Runtime for Java 2.0.
- Horizontal scrollbar in ImageJ window is never used.
- Keyboard shortcuts are shown in menus.
- "Print" command added.
- Zoom magnifications less than one are now supported.
- "About..." command moved to standard help menu on Macs.
- Integer pixel values now displayed in status bar without decimal points.
- A number formating problem in the Rotate dialog box was fixed.
- Status bar messages are now displayed using 12-point "SansSerif" font.
- New image windows are positioned slightly offset from the previous window.
- Images larger than the screen are scaled to fit.
- Image windows increase/decrease in size as needed when zooming.
Version 0.58, 22-Dec-97
- Six more sample images were added.
- The location and names of the sample images are now read from a file named ij.properties.
- A plug-in was added that saves to a text file the x,y coordinates of black pixels in binary images.
- A plug-in was added that displays the Java system properties.
- The progress bar has a new 3D look.
- Attempts to filter 8-bit indexed color images cause an error message to be displayed.
Version 0.57, 4-Dec-97
- "Window" menu added.
- Keyboard shortcuts work more reliably.
- The RGB to 8-bit color conversion dialog is now dismissed more quickly..
- Keyboard shorcuts added for Enhance Contrast (Shift^E) and Threshold (Shift^T)
- The revert command now works with images opened using Open... and with imported raw images.
Version 0.56, 20-Nov-97
- The new Measure command (control-1 or just 1) calculates and displays the pixel count, mean, standard deviation, and min and max pixel value. Note that results are truncated, rather than rounded. This will be fixed in a future version.
- The new Restore Outline command restores the previous ROI outline or, when switching windows, transfers an outline from one window to another.
- The arrow keys now move ROI outlines.
- The Measure and Histogram commands now work with non-rectangular selections on 16 and 32-bit grayscale images.
Version 0.55, 14-Nov-97
- Filters no longer automatically convert 8-bit indexed color images to 32-bit RGB images.
- All menu commands now run in a separate thread.
- The Find Edges, Reduce Noise, Enhance Contrast and Threshold commands now work with RGB images.
- The Enhance Contrast and Threshold commands now work correctly with non-rectangular selections.
- ImageJ now compiles without error using the JDK 1.1.4 Java compiler. The command "javac ImageJ.java" compiles all the classes except for plug-ins.
- Enhance Contrast now continues to increase contrast when used repeatedly.
Version 0.54, 5-Nov-97
- Get Info now displays the amount of memory used by ImageJ in kilobytes. You can also view this value by clicking on the status bar at the bottom of the ImageJ window.
- Window and memory management are improved.
- More information is displayed in the debug mode.
- The Memory_Test plug-in displays a warning dialog box.
- The applet version of ImageJ was moved to a faster server so images and class files should now load faster.
Version 0.53, 29-Oct-97
- A magnifying glass tool was added to the toolbar. Click on an image to zoom in. Option-click or right-click to zoom out. Double-click on the magnifying glass icon to reset the image. Eight magnification levels are available: 1:1, 2:1, 4:1, 8:1, 16:1, 32:1 and 64:1.
- The outlining tools work on zoomed images. As an exercise, try outlining a single pixel with each of the four outlining tools.
Version 0.52, 21-Oct-97
- The memory requirements of the 3x3 neighborhood filters (Smooth, Sharpen, etc.) were reduced. They now require free memory equal to 2 times the image size instead of 3 times.
- An error message is now displayed when OutOfMemoryError exceptions occur.
- Use the "Memory_Test" plug-in to see how will your JVM handles low memory situations. It will open as many 1024x1024x8-bit images as possible and then attempt to calculate how much memory was used for each image. This is a demanding test that may require ImageJ to be restarted, may crash your browser, or may even crash your machine.
Version 0.51, 17-Oct-97
- A toolbar with four outlining tools was added.
- The status bar and progress bar were moved to the bottom of the ImageJ window.
- The cursor changes to a crosshair if it's inside an image window and not inside an ROI.
- Holding the shift key down constrains selections to be square.
- The Smooth and Sharpen filters no longer ignore ROIs on color images.
Version 0.50, 23-Sep-97
- ImageJ's functionality can now be expanded via plug-in class files that are automatically installed in the Plug-Ins (formerly Special) menu. This version is supplied with five example plug-ins: Benchmark, IPDemo_PlugIn, PlugIn_Macro, Thread_Lister and Timer. The Java source code for these plug-ins is in the ImageJ source folder. Future versions will allow plug-ins to be installed in any menu.
Version 0.49
- Filters and the built-in benchmark now run as separate threads. You can now run two or more benchmarks at the same time!
- The entire image is no longer redrawn when ROIs are created or moved.
- "Plot Profile" command added.
Version 0.48
- Histograms of 16 and 32-bit images now correctly labeled
Version 0.47
- Save grayscale (8, 16 and 32-bit) and color (8 and 24-bit) images as TIFF
Version 0.46 and Earlier
- Save byte, short, float and RGB images as raw data
- Open uncompressed TIFF files
- Now works with JDK 1.1.x and Hot Java 1.0
- Progress bar when downloading images and class files
- Support for 32-bit real images
- Progress bar for filters
- Import raw 8 and 16 bit images
- Support for 16-bit (signed) images
- Cursor location and value of pixel at that location are dynamically displayed
- Pixel values and counts dynamically displayed in the Histogram window
- Histogram command works correctly with indexed color images
- Convert RGB color to 8-bit indexed color
- Keyboard shortcuts using the Control key. ^N=New, ^O=Open, ^K=Open Color Lena, ^L=Open Lena, ^W=Close, ^S=Save As,
^R=Revert, ^D=Duplicate, ^I=Get Info, ^Z=Undo, ^F=Fill, E^=Scale, ^H=Histogram. You may need to click on a window to get
keyboard focus.
- Close, Save As (GIF) and Revert commands
- New prototype macro in Special menu
- Convert color images to RGB (red, green and blue) or HSB (hue, saturation and brightness)
- Convert color to grayscale
|