V1.59 Release Notes
-------------------

1) The MouseDown macro routine, which broke in V1.58, is working again.

2) A bug was fixed in the PowerPC native version of NIH Image that caused 
the four character creator code for exported text files (set in 
Preferences) to be saved incorrectly.

3) The "Scale Image Arithmetic" checkbox was removed from the 
Preferences dialog box since it duplicates the "Scale Math" checkbox in the 
Paste Control dialog box.

4) A bug was fixed in the Binary/Skeletonize command that caused some 
particles to reduce to nothing.

5) A bug was fixed that would sometimes cause surface plots to be drawn 
incorrectly when the Grayscale/Color option was selected.

6) The "Calibrate" option, used to recalculate the approximate original 16 
bit values of an imported 16-bit images, is now disabled when a 16-bit 
stack is imported and "Fixed Scale" is not checked. In previous versions of 
NIH Image, the recalculated intensity measurements were only correct for 
the first slice.

7) The trigger on first frame only feature of the Make Movie command now 
works correctly with the Data Translation QuickCapture card.

8) The MoveWindow macro command now works without an image window 
being open.

9) A bug was fixed that could cause NIH Image to crash if, in a macro,  the 
ShowHistogram command followed a StartDigitizing command.

10) A new FFT submenu was added to the Process menu to support 
frequency domain display, editing and processing. The FFT command in the 
FFT submenu computes the Fourier transform and displays the power 
spectrum. It requires a square, power of two size image or selection. It 
uses a real, 2D Fast Hartley Transform (FHT) routine contributed by Arlo 
Reeves, the author of ImageFFT. For more information about ImageFFT and 
the FHT, see the ImageFFT documentation, example images, and Arlo's 
thesis, available from the nih-image_spinoffs directory on 
zippy.nimh.nih.gov. Note that these routines run very slowly on 68000 
Macs.

You can filter or mask spots on the transformed (frequency domain) image 
and do an inverse FFT to produce an image which only contains the 
frequencies selected or which suppresses the frequencies selected. Use 
NIH Image's editing and selections tools to draw black or white areas that 
mask portions of the transformed image. Black areas (pixel value=255) 
will pass the corresponding frequencies and white areas (pixel value=0) 
will filter out the corresponding frequencies. It is not, however, possible 
to both pass and filter during the same inverse transform. The 
"fft_example.bin" test image in the images directory on zippy provides an 
example of FFT editing and filtering.

The transformed frequency domain image is stored in a 32-bit real buffer 
attached to the window displaying the power spectrum. The name in the 
window's title bar is enclosed in angle brackets (e.g., "<>") to 
indicate that the window includes a real image. Note that frequency 
domain images require 5 times as much memory as normal 8-bit images - 
4 bytes/pixel for the real image and 1 byte/pixel for the power spectrum 
image. The only commands in NIH Image that currently recognize real 
images are "FFT", "Inverse FFT", "Redisplay Power Spectrum" and "Image 
Math" All other commands "see" only the 8-bit power spectrum.

The "Redisplay Power Spectrum" command recomputes the power spectrum 
from the real frequency domain image. It allows you to start over if you 
mess up while editing the power spectrum display.

The "Swap Quadrants" command swaps quadrants 1 and 3 and quadrants 2 
and 4 of the active image. It requires an 8-bit image whose height and 
width are equal and a power of two. Quadrant swapping is performed 
automatically every time a power spectrum is computed. In the normal, 
un-swapped, state, the power spectrum's central peak is distributed 
among the four corners of the image.  While this is the format used in all 
computations, it doesn't correspond to nature's FFT analog, the diffraction 
pattern.  This command is useful because cross and auto-correlation 
operations  (the "cMul" operator in Image Math) result in inherently un-
swapped space domain images, yet like power spectra, correlation 
functions are often displayed in quadrant swapped format.  The Swap 
Quadrants command lets you choose the format you desire.

The Image Math command was expanded to support arithmetic operations 
on real images. It supports multiplication (convolution), division 
(deconvolution) and conjugate multiplication (crosscorrelation and 
autocorrelation) of frequency domain images.  See the ImageFFT 
documentation and "The Image Processing Handbook" by John Russ for 
examples of how these operations are used to analyze images. There are 
macros in the "FFT Macros" file that do autocorrelation.

The ImageMath macro command now outputs a real image when it sees the 
keyword "real". For example, the command ImageMath('mul (real)', in1, in2, 
1, 0, 'result') generates a real image that is the product of the two input 
images. It also recognizes  the new  operator keyword 'cmul'  for doing 
conjugate multiplication of frequency domain images.

A macro command was added to support various FFT operations. It 
currently has seven variations:

    1) FFT('foreward') - Generates a Fourier transform of a square, power of
    two size image. The image can be either 8-bit integer or real. For real
    images, the transformation is done in-place.

    2) FFT('inverse') - Does an in-place inverse transform with black or 
    white reqions in the 8-bit power spectrum used as a mask to generate
    a filter. This macro command duplicates the behavior of the
    "Inverse FFT" menu command.

    3) FFT('inverse with mask') - Same as FFT('inverse').

    4) FFT('inverse with filter') - Uses the 8-bit grayscale component of the
    FFT window as a filter which the frequency domain image is multiplied by
    prior to retransformation. In this case, the power spectrum must be
    replaced by a grayscale filter before retransformation. The "High Pass"
    and "Low Pass" macros in "FFT Macros" use this form of the FFT command.

    5) FFT('inverse without filter') - No masking or filtering is done
    before retransformation.

    6) FFT('Display Power Spectrum') - Recomputes the power spectrum.

    7) FFT('Swap Quadrants') - Swaps quadrants 1 and 3 and quadrants
    2 and 4 of the current 8-bit image.

11) Support was added for QuickTime compatible video digitizers such as 
those built into "AV" Macs and the PowerMac7500/8500. Third party 
digitizers like the QuickCam from Connectix are also supported. Most NIH 
Image video capture functions, such as averaging/integration, movie 
capture, background subtraction, and "live" paste are supported. Use the 
Video control dialog box to specify the capture mode (grayscale, 8-bit 
color or 24-bit color) and video format (NTSC, PAL or SECAM). These 
options are currently not saved by "Record Preferences". Use the Capture 
Color command to grab 8-bit color images. If 24-bit color capture is 
enabled in Video Control, Capture Color will generate a 3-slice RGB stack 
which can be saved as a 24-bit TIFF file. The video digitizer support in NIH 
Image was developed with the help of Cyrus Daboo, the author of Plug-in 
Digitizer.

12) You can now startup NIH Image with customized settings by double-
clicking on a copy of Image's preferences file ("Image Prefs"). In this case, 
Image will use the settings in the copy of the preferences file rather than 
ones stored in "Image Prefs" in the Preferences folder. Note that Record 
Preferences always record settings in the file "Image Prefs" in the 
Preferences folder.




V1.58 Release Notes
-------------------

1) A bug was fixed that sometimes caused Scale and Rotate to produce 
incorrect results when doing bilinear interpolation and the output image 
was wider than 2000 pixels.

2) Selections can now be copied from images larger than the Clipboard 
buffer as long as the selection is not larger than the Clipboard buffer.

3) It is no longer necessary to have an image window open to export 
measurements.

4) An optional third argument was added to the GetNumber() macro routine 
for specifying the the number of digits to the right of the decimal point in 
the default value. Use zero to display an integer default.

5) The "IndexedToRGB" macro command was added for converting 8-bit 
color images to RGB.

6) A bug was fixed in the macro interpreter that prevented array elements 
from being used as procedure parameters.

7) The Image Math command now accepts non-integer offsets when 
'Calibrate' is selected.

8) The Binary/Outline command in the Process menu now assumes a pixel 
is a border pixel if any of its eight neighbors is white. Previous versions 
assumed a pixel was a border pixel if any of four neighboring pixels were 
white.

9) The DoOr, DoAnd, etc. macro commands now work correctly when the 
foreground color is not black (255).

10) The "Make Movie" command was enhanced. It now uses the Time 
Manager to provide better timing resolution. It supports video rate capture 
using the Scion LG-3's buffer memory. It uses a single dialog box to 
specify the number of frames and either the interval between frames or 
the sampling rate in frames per seconds. There is a time stamping option 
to display the elapsed time in the upper left hand corner of each frame. 
Triggering can be enabled for only the first frame or for every frame. 
There is an option to store captured frames in an existing stack instead of 
creating a new stack.

11) A "MakeMovie" macro command was added. It accepts three arguments.  
The first is a string containing some combination of "blind", "buffer", 
"time stamp", "existing",  "trigger first", "trigger each", and "dialog".  The 
second argument is the number of frames to capture, and the third is the 
interval between frames in seconds. The "Movie Making" macro file 
contains a sample macro that captures a movie and plots the frame to 
frame time intervals. It also contains a macro that uses the MakeMovie 
macro command to calculate the fastest average frame interval for each 
of 50 different frame sizes.

12) Two optional integer arguments were added to the "SetVideo" macro 
command. The first specifies the gain and the second the offset.

13) Image capture support was added for the Scion VG-5 frame grabber.

14) RGB stacks (and selections) are now saved as 24-bit TIFF files that 
can be opened by Photoshop. RGB stacks display "(Red)", "(Green)" and 
"(Blue)" in the title bar instead of "(1/3)", "(2/3)" and "(3/3)". RGB stacks 
are created by the "Capture Color", "Acquire", and "8-bit Color to RGB" 
commands. Use the "Stack Info" command to convert ordinary 3 slice 
stacks to RGB stacks.

14) RGB (24-bit) TIFF files now open faster.

15) The Options command in the Stacks menu was expanded and renamed 
"Stack Info". It can be used to set the stack type ("Volume", "Movie", "RGB 
Image" or "HSV Image"), slice spacing and frame interval.

16) The SetSaveAs macro command now accepts the argument 'RGB TIFF' 
for saving 3-slice stacks in RGB (24-bit) TIFF format.

17) The macro interpreter is now up to twice as fast. The "Slow Invert" 
macro in the "More Macros" macro file can be used to compare the speed of 
the interpreter on different Macs and different versions of NIH Image.

18) A new command, "Deselect", was added to the Edit menu for deleting 
the current selection.

19) The major and minor axis length and angle are now correctly 
calculated when the pixel aspect ration is not 1.0.

20) A bug was fixed in the Analyze Particles routine that caused particles 
to be incorrectly labeled if the the measurement counter was not reset.

21) The AnalyzeParticles macro command now accepts an optional string 
argument containing some combination of 'label', 'outline', 'ignore', 
'include' and 'reset'. Any option not listed is disabled. Use 
"AnalyzeParticles('dialog')" to display the Analyze Particles dialog box 
using the existing settings.

22) The Add, Subtract, Multiply and Divide commands in the Arithmetic 
sub-menu now have a "Calibrate" option. If this option is selected, 
calibrated pixel values are used and the output image is calibrated using a 
linear calibration function.

23) AND, OR and XOR commands were added to the Arithmetic sub-menu.

24) A bug was fixed that could sometimes cause NIH Image to crash when 
switching between a text window and an image window.

25) A macro command, 'SetProjection', was added to initialize values used 
by the Project command:

   SetProjection('string', n)
      where n is integer and 'string' is one of the following:
      'Initial Angle', 'Total Rotation', 'Rotation Angle Increment',
      'Surface Opacity', 'Surface Depth-Cueing',
      'Interior Depth-Cueing' {use SetDensitySlice to set
      the transparency bounds}

   SetProjection('string', b)
      where b is boolean (true or false) and 'string' is one of
      the following: 'Save Projections', 'Minimize Window Size'

   SetProjection('string')
      where 'string' is one of the following: 'X-Axis', 'Y-Axis',
      'Z-Axis', 'Nearest Point', 'Brightest Point', 'Mean Value'

The "Movie Making" macro file contains a sample macro demonstrating the 
use of SetProjection. The code and documentation for SetProjection were 
contributed by Norbert Vischer.

26) Analyze particles and the wand tool can now handle objects with 
perimeters up to twice as long.

27) Perimeters are now calculated using the algorithm used by versions of 
NIH Image prior to 1.53. This algorithm adds one to the perimeter for each 
edge pixel and the sqrt(2) for each corner pixel. It produces perimeters 2-
3% longer than the 3-point moving average algorithm used in V1.53-V1.57.

28) The SetPalette macro command now accepts an optional second 
integer argument that specifies the number (0-6) of reserved LUT entries.

29) A macro command, "GetHistogram", was added that updates the built-
in histogram array based on a specified rectangular ROI. It has the form  
"GetHistogram(left, top, width, height)", where left, top, width, and height 
specify the ROI used to generate the histogram. GetHistogram is much 
faster than using MakeROI and Measure, particularly for small ROI's.

30) A macro function, "Get('parameter')", was added that returns the value 
of various NIH Image parameters.

    Get('FreeMem') returns the total amount of free memory, in bytes.

    Get('MaxBlock') returns the size (in bytes) of the largest
    free memory block.

    Get('MaxMeasurements') returns the value of "Max Measurements".

    Get('RoiType') returns a code that specifies the current
    ROI type, where:
        0 = no ROI or no image, 1 = rectangle, 2 = ellipse,
        3 = polygon, 4 = freehand, 5=traced, 6 = straight line,
        7 = freehand line, and 8 = segmented line

    Get('UndoBufSize') returns the size (in bytes) of the
    Undo and Clipboard buffers.




V1.57 Release Notes (23 Jan 1995)
---------------------------------

1) A bug was fixed that caused the Project command in V1.56 to fail when 
attempting to do mean value projection.

2)  A bug was fixed that caused the brush and eraser tools in V1.56 to be 
offset one pixel down and to the right.

3) A bug was fixed  that caused the Register command in the V1.56 (PPC 
version only) to fail.

4) A bug was fixed in the SetThreshold() macro command that prevented 
macros that continually adjusted the threshold under keyboard or mouse 
control from working correctly.

5) The Undo macro command now works with Paste.

6) Max Particles in the Analyze Particles dialog box can now be set to a 
value greater than 999,999.

7) A bug was fixed that sometimes caused color TIFF files to be written 
with a corrupted color table if the monitor was not in 256 color mode.

8) NIH Image now opens most uncompressed 24-bit (RGB) TIFF files. Like 
the Acquire and Capture Color commands, the images are loaded into a 3-
slice stack.

9) The DICOM import routine (new in V1.56) was improved. In addition to 
DICOM-3 images, it now reads many ACR/NEMA images. It now requires a 
DICOM dictionary to decode the DICOM or ACR/NEMA header. The dictionary 
is available from zippy.nimh.nih.gov, in the /pub/nih-image/documents 
directory. It must be located in the same folder as NIH Image or in the 
System folder. Hold the option key down to get a full dump of the DICOM 
header. Hold the shift key down to fix the 16-bit to 8-bit scaling when 
using the "Open All" option.

10) A bug was fixed that could sometimes cause NIH Image to crash on 
startup if sound was turned off in the Sound Control Panel.




V1.56 Release Notes (20 Dec 1994)
---------------------------------

1) A bug was fixed that caused the SurfacePlot macro command to fail 
when generating grayscale/color surface plots.

2) A bug was fixed that sometimes caused diagonal lines to appear when 
using the Revert to Saved command with odd-width TIFF files created by 
programs other than NIH Image.

3) A bug was fixed that caused images imported with "Invert" checked to 
be inverted by the Revert to Saved command.

4) A bug in the "Gel Plotting Macros" was fixed that could cause incorrect 
results if the foreground color was not black (255).

5) The Capture Frames shutter click sound that was missing in V1.55 is 
back again.

6) A new macro package ("Markup Macros") was developed that enables 
objects in an image to be outlined and labeled and the resulting graphics 
and text saved as a separate file.

7) The "Halftone Options" command was removed from the File menu and 
the "Custom Grayscale Halftoning" check box was removed from the 
Preferences dialog box. The custom halftoning dialog box is now accessed 
by holding down the option key while selecting the Page Setup command.

8) A bug was fixed that sometimes caused a crash when using the 
"Uncalibrated OD" option in the Calibrate command.

9) NIH was ported to the PowerPC using the Metrowerks PPC Pascal 
compiler.

10) A bug was fixed that caused the 'max' value returned by the 
GetPlotData macro routine to always be zero when all of the Y values 
where less than zero.

11) The spray can tool now works at slower speeds on faster macs.

12) Interactive editing of the Map (by holding the option key down) now 
works when the monitor is not in 256 color mode.

13) Images captured with with "Highlight Saturated Pixels" selected are 
now displayed correctly on monitors that are not in the 256 color mode.

14) Enhance Contrast now works correctly when the monitor is not in 256 
color mode.

15) The SaveState and RestoreState macro routines now save and restore 
text attributes such as type face, size and style.

16) Extra header data are no longer appended to the end of stacks exported 
as raw data.

17) A bug was fixed in the OpenSerial macro routine that caused even 
parity to always be used if seven data bits was specified.

18) The angle in the file names of projections saved to disk now have 
leading spaces so the file names sort correctly by name.

19) "Trace Edges", renamed "Find Edges", now implements a 3x3 Sobel edge 
detection operation.

20) The Shadow command now allows the user to specify the direction of 
the simulated light source. The Shadow macro command was modified to 
accept an optional string argument in the form Shadow(direction), where 
direction is equal to 'N', 'NE', 'E', 'SE', 'S', 'SW', 'W' or 'NW'.

21) A measurement bug was fixed that caused the standard deviation to be 
set to zero whenever the mean was less than zero.

22) A bug was fixed that caused the AutoOutline macro command to fail to 
save the XY coordinates if the wand tool was not selected.

23) The SetScale macro command now accepts an optional third argument 
that sets the pixel aspect ratio. Similarly, GetScale returns the pixel 
aspect ratio in an optional third argument.

24) The New and Duplicate commands no longer force the width of newly 
created images to be even.

25) The result argument in the ImageMath macro command can now be 
either a string or a pid number. If it's a string, a window with that name 
is created to store the result, otherwise the result is stored in the image 
specified by the pid number. Note that the result pid number can be the 
same as either of the source pid numbers.

26) Support was added for the Scion AG-5 frame grabber. All capabilities 
of the Scion LG-3 are available with the AG-5 except for digital and 
analog I/O. The Average Frames command supports the AG-5's ability to do 
video rate averaging and integration.

27) A check box ("Integrate On-chip") was added to the Average Frames 
dialog box.  This option allows the Scion LG-3 to control on-chip 
integration using the Cohu 4910 series cameras and modified versions of 
the Dage-MTI CCD72.  When this box is checked,  the camera will integrate 
on-chip for the specified number of frames; the LG-3 will then capture the 
integrated frame.  On-chip integration requires a special cable available 
from Scion for connecting the integration input of the camera to the LG-3.  
The string "on-chip" was added to the AverageFrames macro command.

28) Macros (in the "Video" macro file) were developed to continuously 
integrate and display frames either off-chip, using the Scion AG-5, or on-
clip, using the Scion LG-3 and a Coho 4910 series camera. Instructions for 
using these macro are in the macro file.

29) Density and spatial calibration defined by the Calibrate and Set Scale 
commands is now "stickier". Before, if you calibated an image and then 
closed that image, any new images created using the New command would 
be uncalibrated. Now, in the same situation, the new images will be 
calibrated.

30) A bug was fixed that caused inverted profile plots to be displayed 
incorrectly. 

31) A macro command was added for specifying what gets saved by the 
SaveAs command. It has the form SetSaveAs('mode'), where 'mode' is one 
of: 'TIFF', 'PICT', 'MacPaint', 'PICS', 'LUT' or 'Outline'.

32) The Image Math command now ignores selections. The arithmetic 
operation is performed in the upper left corner of each image using the 
largest common rectangle.

33) The settings file ("Image Prefs") is now saved in the Preferences 
folder.

34) Folder paths such as 'hd400:textfiles:text' can now be used with the 
SaveAs command when saving the contents of text windows.

35) The name of the macro routine for calling filter plug-ins was changed 
from 'Filter' to 'CallFilter'.

36) A new macro routine was added for using built-in filters. It has the 
form "Filter(name)", where name is one of the following: 'smooth', 'smooth 
more', 'sharpen', 'sharpen more', 'find edges' (or 'sobel'), 'median', 'max', 
'min' or 'dither'.

37) A new macro was added for doing density calibration. It has the form 
"Calibrate('fit', 'unit', m1, k1, m2, k2, ...)", where 'fit' is one of 'straight', 
'poly2', 'poly3', 'poly4', 'exp', 'power', 'log', 'rodbard', 'uncalibrated' or 
'uncalibrated od', 'unit' is the unit of measurement, m1, m2, etc. are the 
measured values and k1, k2, etc. are the known values. For example, 
"Calibrate('Straight', 'Invert', 0, 255, 255, 0)" sets up a simple inverting 
function. Use "Calibrate('Uncalibrated OD')" to enable uncalibrated OD and 
"Calibrate('Uncalibrated')" to disable calibration.

38) The Make Montage command now optionally draws borders. The width 
of the borders can be varied by clicking on the lines at the bottom of the 
Tools window.

39) The Import command now as an option to import files in the DICOM 
(Digital Imaging and Communications in Medicine) format used in 
radiology.

40) The Image Math command can now perform arithmetic operations on 
density calibrated images and produce a density calibrated result. For 
example, adding two imported 16-bit MRI images with calibrated pixels 
values in the range 0-1000 now results in an image with calibrated pixel 
values in the range 0-2000. Previous versions of Image Math ignored 
density calibration and always operated on the raw 8-bit pixels.

41) The "Copy Function to LUT" checkbox was removed from the Calibrate 
dialog box and a macro that performs this function was added to the "LUT 
Macros" macro file.

42) The wand tool,  when used to outline rectangular objects,  now creates 
selections that the Save As command recognizes as rectangular.

43) The "Invert Pixel Values" checkbox in Preferences now applies to all 
open images not just the currently active image.

44) A macro routine, CallExport('name'), was added for calling export 
plug-ins.

45) A bug was fixed that sometimes caused NIH Image to hang when using 
Analyze Particles on an image with one or more very large particles.

46) The Measure command now sets the major and minor axes lengths to 
zero for spatially calibrated images with a pixel aspect ration not equal 
to one. In previous versions, the major and minor axes lengths were 
incorrect if the pixel aspect ratio was not one.

47) The "MCID" option was removed from the Import dialog box and a macro 
for importing MCID files was added to the "Input/Output" macro file.

48) The Select All and Show Clipboard commands now work with text 
windows.

49) A boolean function was added to the macro language for checking the 
state of keyboard modifier keys. It has the form "KeyDown(key)", where 
key is one of the following: 'option', 'shift', or 'control'. It returns TRUE if 
the specified key is down.




V1.55 Release Notes (3 May 1994)
--------------------------------

1) The PasteLive macro command now works with Paste Control.

2) The Find command will now move the cursor to a specified line in a text 
window if you enter a search string in the form '#n', where n in a line 
number. As an example, to go to line 100, enter '#100'.

3) Load Macros error messages now display the line in the macro file that 
caused the error.

4) Routines were added to the macro language for getting the length of a 
string and for deleting a substring of specified length. The length function 
("i:=Length(str)") returns the length of str. The delete procedure ( 
"Delete(str,index,count)") removes count characters from str, beginning 
at index.

5) A bug (introduced in V1.54) was fixed that could sometimes cause 
images uncalibrated in the Set Scale dialog box and saved to revert to 
being calibrated (to pixels) when reopened.

6) A bug was fixed that caused the macro interpreter to fail to skip over 
string assignments used in IF or IF THEN ELSE statements.

7) The LUT tool now moves one level wide density slices if you click 
directly on them in the LUT window.

8) A bug was fixed that sometimes caused Plot Profile and Reslice to not 
work correctly for line selections extending past the image boundary.

9) A new macro command was added that returns the current spatial scale. 
It has the form "GetScale(scale,unit)", where scale (real) is the number of 
pixels per unit and unit (a string variable) is the measurement unit. For 
uncalibrated images, scale is set to 1 and unit to 'pixel'.

10) There is now a macro command ("AutoOutline(x,y)") that is equivalent 
to clicking with the wand tool at location (x,y). The outline was 
successfully created if GetRoi returns a width greater than zero.

11) The Dither command no longer ignores pixels along the edge of the 
image.

12) The SaveAs and Export macro commands now accept full path names. 
For example, to save the current image in the folder "Images" on the disk 
named "hd400" use SaveAs('hd400:images:myimage').	

13) A bug was fixed that caused all the slices except the first to be 
inverted when importing multi-slice 16-bit images.

14) The Open command now recognizes and opens imported TIFF files of 
type 'TEXT'. Hold down the option key to display the first 32K of the file 
as ASCII text.

15) The Cancel button in the Rotate Left and Rotate Right dialog box now 
works.

16) A bug was fixed that caused the "24-bit to 8-bit Color" command to 
fail with images wider than 2047 pixels.

17) NIH Image now works on grayscale Powerbooks. In fact, it runs with 
the monitor set to anything from "Black & White" to "Millions". For best 
performance, however, 256 colors (or grays) should be used whenever 
possible.

18) The Save Screen command was removed from the File Menu. Use 
System 7's built-in screen dump FKEY (command-shift-3) instead.

19) A bug was fixed that sometimes caused calibrated density values to 
be incorrect for images opened and processed using a macro.

20) A bug was fixed that sometimes caused "Plug-in Digitizer", and 
possibly other acquisition plug-ins, to generate blank images when 
memory was low.

21) A bug was fixed that sometimes caused enlarged and misplaced text to 
be displayed in the Image Math dialog box.

22) A new command (Register) was added to the Stacks menu that will 
translate and rotate the slices in a stack into alignment based on fiducial 
points. It was written by Michael Castle (mike.castle@med.umich.edu) of 
the University of Michigan Mental Health Research Institute (MHRI). An 
example stack and set of fiducial points ("RegistrationExample.bin") are 
available by anonymous FTP from zippy.nimh.nih.gov in the /pub/nih-
image/stacks directory.

23) The Scale and Rotate command now rotates images up to ten times 
faster.

24) The "Values" window was renamed "Info".

25) The maximum stack size was increased from 256 to 1000 slices.

26) A new option was added to the Surface Plot command to create 
grayscale or color 3D surface plots similar to the default "wireframe" 
plots except that the active color LUT is applied to the z-axis of the plot.  
The code for doing this was contributed by Norbert Vischer 
(norbert@mc.bio.uva.nl).

27) A bug was fixed that could a crash when attempting to open a window 
and not enough memory was available. Crashes were most likely to occur 
when using the "Modern Memory Manager" available on PowerPC Macs.

28) A bug was fixed that sometimes caused stacks to be partially opened 
without an error message being displayed.

