V1.59 Release Notes (30 October 1995) ------------------------------------------------------ 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.