V1.63 Release Notes (19 November 2002)
1) Thanks to Norbert Vischer, worked around a bug that prevented NIH Image from running
correctly on Mac OS 9.2.2 and in the Classic environment of OS X 10.2.
V1.62 Release Notes (13 April 1999)
1) A bug was fixed that caused the title bar to switch to color when
saving a stack in PICS format and the monitor was not set to 256 colors.
2) A bug was fixed that could cause some plug-ins to fail on Power Macs.
3) The maximum number of slices per stack was increased to 5000 (PPC only).
4) The AverageSlices macro routine now accepts two optional arguments that
specify the starting slice and number of slices to be averaged. Two new
macros in the "Movie Making" macro file ('Average of Stack' and 'Running
Average of Stack') use this new capability.
5) The AutoOutline macro routine no longer beeps when it is unable
to create an ROI.
6) The maximum number of image windows was increased from 250 to 1000.
7) The maximum number of text windows was increased from 10 to 20.
8) Scion frame grabbers should now work correctly on G3 Macs.
9) Capturing works with more QuickTime digitizers. It is no longer
necessary to turn of virtual memory on the 7500/7600 to capture using
the built-in digitizer. The built-in G3 digitizer works for single
frame capture if the monitor is set to 256 colors.
10) A bug was fixed that sometimes caused the calculated centers of
lines and rectangles to be offset by a half pixel.
11) Fixed a missing "System" LUT problem on blue and white G3 Macs by adding
the a clut id=8 resource to the NIH Image application.
V1.61 Release Notes (20-Dec-96)
1) 24-bit color TIFF files in planar format can now be opened.
2) Bugs were fixed that caused Saving/Exporting of LUTs, 8-bit to RGB
conversions, display of RGB values in Info, and macro LUT updating to fail
if the monitor was not set to 256 colors.
3) New images less than 16 pixels in height can now be created.
4) Balloon help in the Preferences dialog box was fixed.
5) The PutPixel macro routine is now about five times faster.
6) Bugs were fixed that could cause NIH Image to crash when opening PICS
files.
7) NIH image now opens and saves QuickTime movies thanks to source code
contributed by Eric Shelden (shelden@umich.edu). The Open command will
place images from a QuickTime movie into a new stack. Note, however, that
the current LUT is always used. Therefore, before opening the movie, you
must switch to the Grayscale LUT when opening a grayscale movie and to the
System LUT when opening a color movie. Stacks can be saved in QuickTime
format using the Save As command and selecting the radio button labeled
"QuickTime". A dialog box allows you to select the compression scheme and
image quality level.
8) The Get('parameter') macro function was extended to return the
following parameters:
Get('Offset') - returns the current frame grabber offset
Get('Gain') - returns the current frame grabber gain
Get('ScreenWidth') - returns the screen width in pixels
Get('ScreenHeight') - returns the screen height in pixels
9) The 'exit' macro command now accepts an optional string argument and
passes it automatically to 'PutMessage'. The frequent sequence
if error then begin
beep;
PutMessage('reason ...');
exit;
end;
can now be shortened to
if error then
exit('reason ...');
10) The DICOM file import routine was improved.
11) Commands were added to the Binary submenu for generating Euclidian
distance maps, ultimate eroded points, and for doing watershed
segmentation.
The "Distance Map" command replaces each foreground (black) pixel in a
binary image with a gray value equal to that pixel's distance from the
nearest background (white) pixel. To reduce rounding errors, intermediate
EDM values are stored as 16-bit values. Macros can generate EDMs using the
"binary('edm')" macro command.
The "Ultimate Points" command generates the ultimate eroded points (UEPs)
of the EDM. It requires a binary image as input. The UEPs represent the
centers of particles that would be separated by segmentation. The UEP's
gray value is equal to the radius of the inscribed circle of the
corresponding particle. Note that the EDM is automatically smoothed when
doing watershed segmentation but not when generating UEPs. You can force
EDM smoothing, however, by holding down the option key while selecting the
"Ultimate Points" command, or be putting "SetOption;" in front of the
binary('ultimate points') macro command. Smoothing the EDM results in
fewer noise induced errors but causes the gray values of the UEPs to be
slightly lower, i.e. it slightly reduces the estimated particle sizes.
This command requires free ram equal to 2-5 times the image size. Use the
"binary('ultimate points')" command to generate UEPs in a macro.
The "Watershed" command separates touching convex particles. It requires
free ram equal to 2-5 times the image size. Hold down the option key to
disable EDM smoothing. Watershed segmentation is available from macros
using the "binary('watershed')" macro command.
12) Support was added for the PCI version of the Scion AG-5.
V1.60 Release Notes (20-Mar-96)
1) The QuickTime video digitizer settings can now be saved using Record
Preferences.
2) DICOM and ACR/NEMA files with headers larger than 4096 bytes can
now be imported.
3) A bug was fixed that sometimes caused 'Analyze Particles' to fail if the
monitor was not in 256 color mode.
4) A bug was fixed that caused the wand tool to fail when clicking inside
an object touching the right edge of the image.
5) If the mouse is over an active frequency domain (FFT) window, its
location is now displayed in polar coordinates. The angle is expressed in
degrees (¡), while the radius is expressed in either pixels per cycle (p/c)
or, if a spatial scale calibration has been made using Set Scale, in [units]
per cycle (e.g. mm/c).
6) Capturing of images from QuickTime compatible digitizers now works
correctly when the grayscale map has been modified or when the number
of reserved LUT entries is non-zero.
7) A bug was fixed that caused the 'Time Stamp' option of the 'Make Movie'
command' to fail when the monitor was not set to 256 colors.
8) Support was added for the PCI versions of the Scion LG-3 and VG-5
frame grabber cards. Both cards can capture 30 full size frames per
second to system RAM.
9) A checkbox for selecting "S-Video" input was added to the QuickTime
video digitizer version of the Video Control dialog box.
10) Support for user-defined functions was added to the macro language.
11) A function ('GetPath') was added to the macro language for fetching
various file paths. It has three variations:
1) GetPath('window') - returns the folder path (e.g. 'HD500:Images:')
of the current current image or text window. Returns an empty string if
no window is open or the current window has no file associated it.
2) GetPath('startup') - returns the path of the folder from which
NIH Image was started.
3) GetPath('pref') - returns the path of the Preferences folder in
the System Folder.
The 'File Paths Demo' macro in 'Input/Output Macros' demonstrates how to
use
these functions.
12) A command was added to the macro language for getting information
about files. It has the form:
GetFileInfo(FullPath, FileType, FileSize)
where 'FullPath' is a string containing a path name (e.g.
'HD500:Images:image01'). GetFileInfo returns the file type ('TIFF', 'PICT',
'TEXT' etc) in the string variable 'FileType' and the file size in bytes in the
integer variable 'FileSize'. If the file isn't found, 'FileType' is set to an
empty string and 'FileSize' is set to -1. See the 'File Paths Demo' macro in
'Input/Output Macros' for an example of how to use GetFileInfo.
13) A macro command was added for selecting tools from the tool palette
It has the form "SelecTool(tool)", where tool is one of: 'magnifier',
'grabber', 'pencil', 'eraser', 'brush', 'drawline', 'paintbucket', 'profile',
'wand', 'angletool', 'rectangle', 'oval', 'polygon', 'freehand', 'straightline',
'freeline', 'segmentline', 'lut', 'text', 'spraycan', 'picker' or 'crosshair'.
14) A "Desktop Friendly" option was added to Preferences that eliminates
annoying desktop color changes when the monitor is set to 256 colors but
reduces the number of colors available for displaying images.
15) The PPC version of NIH Image now runs up to 12% faster due to better
code optimization in the Metrowerks Codewarrior 8 PPC compiler.
16) A bug was fixed that caused the Make Montage command to draw a
border around the entire composite image when the "Borders" option was
not checked. This was a problem when creating movie strips for use with
the Rotator (http://rsb.info.nih.gov/nih-image/Java/Rotator/) Java applet.
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.
V1.54 (1 Feb 1994)
1) A bug was fixed that could cause the Import macro command to fail
when using the ÒImport AllÓ mode if Import had been previously called in
the macro.
2) The Set Scale command now allows the user to enter an arbitrary unit
of measurement.
3) A plug-in (ÒPlug-in DigitizerÓ), written by Cyrus Daboo of Cambridge
University, now allows NIH Image to grab images using the frame grabber
built into the AV Macs or from any other Quicktime compatible digitiser
with a 'vdig' component. It is available as a binhexed. self-extracting
archive by anonymous FTP from zippy.nimh.nih.gov, in the /pub/nih-
image/plug-ins directory. The archive also includes a report on the AV
digitizer that points out some its flaws, such as automatic gain control
that can't be disabled. It also includes Apple's ÒAV Digitizer OptionsÓ
extension that allows the user to switch the AV digitizer into grayscale
mode, which greatly improves the quality of images captured using
grayscale cameras.
4) A bug (new in V1.53) was fixed that caused perimeter and freehand
length measurements to be incorrect for spatially calibrated images.
V1.53
1) A command (Project) was added to the macro language for doing
projections. The Project dialog box is displayed only one time (the first
time Project is called) within a macro.
2) A string function (WindowTitle) that returns the title of the active
window was added to the macro language.
3) A bug was fixed that caused Image to display an invalid error message
when attempting to open 16-bit TIFF files with contiguous strips.
4) A bug was fixed that could sometimes cause Image to crash when
printing, particularly when using a macro.
5) A bug was fixed that caused Image to fail to open some TIFF files
created by Òlittle-endianÓ systems such as the IBM PC.
6) A bug was fixed that caused the Reslice command to fail when the slice
spacing was less than one.
7) The NewTextWindow macro command now accepts optional arguments
for specifying the text window size and the Dispose macro command now
works with text windows. These changes make it easy to write macros
that do inline convolutions, for example,
macro 'Sharpen [F]';
begin
NewTextWindow('3x3 sharpen',120,120);
writeln('-1 -1 -1');
writeln('-1 9 -1');
writeln('-1 -1 -1');
Convolve('');
Dispose;
end;
8) A bug was fixed that caused the Plot Profile command to work
incorrectly when using a line selection transferred to another image using
the Restore Selection command.
9) A bug was fixed that sometimes caused Image to hang when using the
wand tool with black backgrounds.
10) The Preferences command can now be used to specify the four
character creator code Image uses for exported text files. This code
determines which application is launched when you double-click on an
exported text file (e.g., measurements, profile plot data, XY coordinates).
Use ÔImagÕ for Image, ÔXCELÕ for Excel and ÔQKPTÕ for KaleidaGraph.
11) A new command named ÒImage MathÓ was added to the Enhance menu
for performing arithmetic and logical operations between two images. The
corresponding macro command has the form ÒImageMath(ÔopÕ, pic1, pic2,
scale, offset, Õ ResultÕ)Ó. The ÔopÕ string should be set to ÔaddÕ, ÔsubÕ, ÔmulÕ,
ÔdivÕ, ÔandÕ, ÔorÕ, ÔxorÕ, ÔminÕ, ÔmaxÕ or ÔcopyÕ. Pic1 and pic2 are pic numbers
or pid numbers. For each pixel in the selection, the specified operation is
performed, the result is multiplied by ÔscaleÕ and then ÔoffsetÕ is added.
ÔResultÕ is the name used for the window created to store the results. For
example, to average two images you could use the command:
ImageMath(ÔaddÕ, 1, 2, 0.5, 0, ÔAverageÕ).
12) When using acquisition plug-ins, Image now uses the window name
specified by the plug-in instead of always using ÔUntitledÕ.
13) A bug was fixed that caused the Results window to sometimes not be
correctly updated when using overlapping windows.
14) The MoveWindow macro command now works with text windows.
15) The SetThresold and AutoThresold macro commands no longer cause
the LUT tool to be selected.
16) Image now displays the PrintDialog box when images are selected and
printed using the FinderÕs Print command.
17) The macro interpreter is now more likely to correctly handle nested
IF, FOR, WHILE and REPEAT statements without the need to use BEGIN-END
brackets. The interpreter also now requires semicolons between
statements.
18) A bug was fixed that caused plug-ins with Ô(Ô, Ô/Õ or Ô;Õ in their names
to not be listed correctly in the appropriate plug-in submenu.
19) A new command (PasteLive) was added to the macro language that
does a ÒLiveÓ paste into a selection in a window other than the Camera
window. This new command is useful for making montages of different
focal planes of fluorescent specimens. Use the ÒPaste AveragedÓ macro
command in ÒVideoÓ to do frame averaging of the selection.
20) Image now does a 3-point running average of the XY coordinates to
more accurately estimate perimeters of freehand selections and lengths
of freehand line selections. Measured freehand perimeters and lengths are
now about 10% lower than before. Perimeters reported by Analyze
Particles and the wand tool are now slightly lower (2-3%) than those
reported by previous versions of Image since they are calculated using
this new smoothing routine.
21) A bug was fixed that caused text in text windows to be displayed
larger than expected.
22) The Average Frames command now allows you to specify the min and
max values that control how integrated images are linearly scaled from
16-bits to 8-bits. The actual 16-bit min and max are always displayed in
the Values menu. There is also a new option that creates a calibration
function for displaying approximations of the integrated 16-bit values.
23) A Boolean function (PidExists) was added to the macro language for
testing the validity of PidNumbers.
24) The ÒInvert LUTÓ, ÒSet Number of ColorsÓ and ÒSet Extra ColorsÓ
commands in the Options menu were combined into a single command
called ÒLut Options...Ó.
25) The Analyze Particles command now displays a dialog box with
particle analysis options that were previously in the Options dialog box.
You can bypass this dialog box by holding down the option key or by using
the AnalyzeParticles macro command.
26) A bug was fixed that could cause profile plots of rectangular
selections in density calibrated images to be incorrect.
27) A command was added to the macro language for making profile plot
data available to macro routines. It has the form
ÒGetPlotData(count,ppv,min,max)Ó, where count is the number of values,
ppv is the number of pixels averaged for each value, and min and max are
the minimum and maximum values. The plot data values are returned in a
built-in real array named PlotData, which uses indexes in the range 0-
4095. The macro ÒPlot ProfileÓ in ÒPlotting MacrosÓ illustrates how to
use GetPlotData and PlotData.
28) The Gel Plotting macros now work with vertical lanes, no longer
require all other windows be closed, do a better job of scaling the lane
plots, and report results in calibrated units such as integrated OD.
29) The SaveAs macro command will now save the contents of text
windows.
30) The Save, SaveAs, Close and Dispose macro commands no longer
require an image be open to work with text windows.
31) The Close macro command now works with the Plot, Histogram,
Results, and Video Control windows.
32) The ÒImport FITSÓ macro in ÒInput/Output MacrosÓ now imports both 8
and 16-bit FITS images. It also correctly handles FITS files with headers
longer than 36 lines. There is also a new macro for displaying FITS
headers.
33) A new string search function was added to the macro language. It has
the form Òindex:=pos(substr,str)Ó. It searches for ÔsubstrÕ within ÔstrÕ and
returns an integer that is the index of the first character of substr within
str, or zero if ÔsubstrÕ is not found.
34) Area and line selection can now be created more precisely on
magnified images.
V1.52 (9 September 1993)
1) A bug was fixed that could cause Image to crash when opening text
files with names containing a semicolon.
2) A bug was fixed that caused plug-in filters to not work correctly with
rectangular selections.
3) Images are now marked as changed when you use a plug-in filter.
4) A bug was fixed that would sometimes cause the Windows menu to
become messed up when one or more text windows were open.
5) The window title bar is now correctly updated after a TIFF file has
been saved using a new name.
6) The Reduce Noise filter is now four times faster due to some in-line
68000 code contributed by Edward J. Huff at the NYU Chemistry
Department.
7) A bug was fixed that prevented filter plug-ins from remembering their
settings between calls. You can now also pass the string ÔResetÕ to the
Filter macro routine (e.g., Filter(ÔResetÕ)) to force the next filter called to
use its default settings and to display its dialog box, if any.
8) A macro (ÒMake Expression MovieÓ in the file ÒAnimationÓ) was written
for generating movies using the Expression plug-in filter. Expression is a
freeware program written by Jim Bumgardner (jbum@aol.com) that
creates images that change over time according to a mathematical
formula. Expression 3.0b, available in the plug-ins directory on
zippy.nimh.nih.gov, is required for use with NIH Image.
9) A bug was fixed that prevented selection of the right column or bottom
row when using the rectangle selection tool.
10) Thanks to Edward J. Huff, text files created by NIH Image (e.g., macros
and convolution kernels) now have a custom icon.
11 A command (SortPalette) that sorts the current look-up table by hue
was added to the macro language.
12) PidNumber, a new macro function, was added to the macro language. It
returns a negative permanent ID number for the current image. SelectPic
and ChoosePic were modified to accept these negative values and find the
current picNumber automatically if presented with a pid value rather than
a picNumber value. A macro package (ÒPidNumbers DemoÓ) demonstrates
the various ways that images can be selected in the macro language. The
PidNumber modifications and demo macros were contributed by Edward J.
Huff.
13) The line spacing in text windows is now changed when the font size is
changed.
14) Text windows now handle update events correctly.
15) Plug-ins in the system folder in a folder named Plug-ins are now
found if image is on a different volume than the the system folder.
16) The standard versions of NIH Image no longer requires a floating-point
coprocessor (FPU). This change was made because there is no noticible
performance difference between the FPU and non-FPU version of Image and
becuase the LCIII and Centris 610, the most popular new Macs, do not have
FPUs. This change also anticipates PowerPC based Macs which will not
support emulation of 68000 programs that directly use the FPU.
V1.51 (2 August 1993)
1) A bug (introduced in 1.50) was fixed that prevented histogram and plot
values from being pasted into spreadsheet programs and other programs
that work with text on the Clipboard.
V1.50 (29 July 1993)
1) A new submenu (Acquire) was added to the File menu for using
Photoshop compatible acquisition plug-ins. The plug-ins must be stored in
a folder named ÒPlug-insÓ located either in the same folder as Image or in
the System Folder. Using plug-ins, Image can acquire 8-bit grayscale, 8-
bit indexed color, and 24-bit color images. 24-bit color images are stored
in three slice stacks and displayed using 8-bit indexed color, similar to
the way the Capture
Color command works.
The following plug-ins have been reported to work:
Agfa Arcus Scanner
Agfa PhotoScan
Computer Eyes /RT Pro
Datacopy 730GS scanner
Ektron 1400 series camera (Eikonix 4096x4096 CCD)
Gaphics Unlimited Kingfisher frame grabber (grayscale only)
Howtek II slide scanner
LaCie SilverScanner (8-bit grayscale, 8-bit color, 24-bit color)
Kodak DCS-200 digital camera (grayscale and 24-bit color)
Kodak Photo CD Image Browser
Kodak RFS2035 scanner
Microtek Scanmaker
MirrorScan 600 Plus
Neotech Image Grabber
Perceptics PixelBuffer frame grabber
Perceptics MegaGrabber frame grabber
Perceptics PixelHR-24 frame grabber
Plug-in Digitizer (supports AV Macs and other QuickTime digitizers)
QuickImage 24 plug-in
Radius VideoVision video grabber
RasterOps Video Capture V1.3 with 24XLTV card
Scantastic plug-in with Apple Color One scanner
Scion LG-3 frame grabber
Truvel scanner
Voyager decompression plug-in
The LaCie Silver scanner plug-in seems to be the fastest, smoothest and
most reliable of the scanner plug-ins tested.
A command was also added to the macro language for supporting
acquisition plug-ins. It has the form Acquire('plug-in name'). Plug-ins are
assumed to reside in a folder named ÒPlug-insÓ located in the same folder
as Image or in the System Folder. Full path names such as 'HD400:Plug-
ins:Kodak DCS-200' are also supported.
The plug-in support in NIH Image is based on code written by Greg Brown,
Steven Gonzalo and Richard Ohlendorf of Ohlendorf Research, Inc.
Ohlendorf Research has customized both Image and the Kodak DCS-100
digital camera plug-in to automate uploading of images from the camera.
Ohlendorf Research, Inc.
818 LaSalle Street
Ottawa, IL 61350
815-434-5622
Applelink--Abraham@AppleLink.com
2) Several problems with commands in the Binary submenu were fixed.
These problems occurred when processing objects along the edge of the
image. A related problem was fixed that sometimes caused the
Skeletonize routine to never complete.
3) A function (UndoBufferSize) was added to the macro language that
returns the current size of the Undo and Clipboard buffers. The Gel
Plotting Macros use this function to display an error message when the
Plots window needs to be larger than the current buffer size.
4) The Import command can now import 3D data sets such as multi-slice
files from medical scanners. An optional fourth argument was also added
to the SetCustom macro command to allow the number of slices to be
specified. For example, when importing a data set with 128 256x256
slices and no header, use ÒSetCustom(256,256,0,128)Ó.
5) If opened by the OpenSerial macro command, the serial I/O port is now
closed when you quit image.
6) A four element built-in array (Scion) was added to the macro language
to allow access to the Scion LG-3's I/O registers. The four elements of the
array are defined as follows:
Scion[1] 8-bit DAC(A) read/write
Scion[2] 8-bit DAC(B) read/write
Scion[3] 8-bit Control Reg 1 read only
Scion[4] 4 digital out bits read/write
Macros for setting and reading the LG-3 I/O registers are available in the
file ÒVideoÓ.
7) Support was added for the external trigger feature of the Scion LG-3.
8) A new submenu (Filter) was added to the Enhance menu for using
Photoshop compatible filter plug-ins. The plug-ins must be stored in a
folder named ÒPlug-insÓ located either in the same folder as Image or in
the System Folder. A command was also added to the macro language for
using filter plug-ins. It has the form Filter('plug-in name'). Plug-ins are
assumed to reside in the aforementioned Plug-ins folder.
9) A command was added to the macro language for enabling and disabling
ÒPhoto ModeÓ. The command ÒPhotoMode(true)Ó erases the screen and
draws the contents of the currently active window. ÒPhotoMode(false)Ó
restores the screen.
10) A bug (introduced in V1.49) in the macro interpreter was fixed that
caused it to fail if the first argument in a procedure call started with a
minus sign or a left parenthesis (e.g., Ò(a+b)/cÓ). This bug also affected
macro commands, such as PutMessage, PutSerial and Write, that accept a
variable number of arguments.
11) When using the ÒHighlight Saturated PixelsÓ option, the color used to
display under saturated pixels is now yellow instead of blue.
12) Image can now open and edit text files up to 32K in size. The following
commands know how to deal with text windows: New, Open, Close, Save,
Save As, Print, Cut, Copy, Paste, Clear, Font, Size, Load Macros (loads the
macros contained in the current text window).
13) Images larger than printer page (normally 552 x 730 pixels) are now
scaled to fit the page. This feature is only available when ÒCustom
Grayscale HalftoningÓ is disabled.
14) A command (SurfacePlot) was added to the macro language for
generating surface plots. A macro for generating a surface plot movie
from a stack is in the macro file ÒStacks2Ó.
15) A macro command was added for doing 24-bit to 8-bit color
conversion. It has the form ÒRGBToIndexed(str)Ó, where str contains some
combination of 'System LUT', 'Existing LUT, 'Custom LUT' and 'Dither'.
Custom LUT and Dither are the defaults. The macro file ÒColorÓ contains a
macro for doing a color merge of two stacks.
16) 16-bit TIFF files can now be imported. After the file has been
imported, use the Rescale (aka Revert to Saved) command to find the
optimum 16-bit to 8-bit mapping. Files that represent white as zero open
inverted.
17) The AverageFrames macro command now optionally accepts two
arguments. The first is a string containing some combination of 'Average',
'Integrate' and 'Video Rate Capture', and the second is the number of
frames to average or integrate. For example, to integrate 128 frames, you
would use the command AverageFrames('Integrate',128).
18) A bug was fixed that caused the X and Y coordinates of the center of
the best fitting ellipse (X-Y Center) to always be integers.
19) A bug was fixed that caused the creation of freehand or segmented
line selections to fail if density slicing was enabled.
20) A bug was fixed that caused a pasted image in a second window to
disappear when using the Start Capturing command.
21) A bug was fixed that could sometimes cause the tools in the Tool
window to be displayed incorrectly.
22) A command (ÒSelectWindow('Title')Ó) was added to the macro language
for selecting windows my name.
23) A command (ÒNewTextWindow('Title')Ó) was added to the macro
language for opening a new text window. In addition, the Writeln macro
routine was updated so that it now displays text in the currently active
text window.
24) A command (CaptureColor) was added to t