V 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)
V 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
http://www.lynx.ch/contacts/~/thomasm/Grid/index.html.
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)
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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).
V 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.
V 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.
V 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...".
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 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.
V 0.48
- Histograms of 16 and 32-bit images now correctly labeled
V 0.47
- Save grayscale (8, 16 and 32-bit) and color (8 and 24-bit) images as TIFF
V 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
|