1.53 (14 January 1994) 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 command 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.