> **NIH Image 1.44**
>
> **NIH Image 1.44**
>
> **Introduction 2**
>
> System Requirements 2
>
> Acknowledgments 2
>
> **Menus 3**
>
> File 3
>
> Edit 11
>
> Options 13
>
> Enhance 18
>
> Analyze 22
>
> Special 28
>
> Stacks 31
>
> Windows 35
>
> **Tools 36**
>
> **Windows 40**
>
> Map. 40
>
> Histogram 41
>
> LUT 42
>
> Paste Control 42
>
> Plot 43
>
> Values 44
>
> **Techniques 46**
>
> Analyzing Electrophoretic Gels 46
>
> Using Selections 47
>
> Recovering Data from Line Plots 49
>
> Using the Option Key 50
>
> **Questions and Answers 51**
>
> **Appendices 53**
>
> A. Macro Programming Language 53
>
> B. Frame Grabber Cards 60
>
> C. Recommended Camera and Light Box 61
>
> D. Alternative Macintosh Analysis Systems 62
>
> E. File Formats 63
>
> G. Shortcuts 65
>
> H. References 66
>
> I. Updated Versions and Bug Reports 67
>
> **Index 68**
>
> .c.Introduction
>
> NIH *Image* is a public domain image processing and analysis program
> for the Macintosh. It can acquire, display, edit, enhance, analyze,
> print and animate images. It reads and writes TIFF, PICT, PICS and
> MacPaint files, providing compatibility with many other applications,
> including programs for scanning, processing, editing, publishing and
> analyzing images. It supports many standard image processing
> functions, including histogram equalization, contrast enhancement,
> density profiling, smoothing, sharpening, edge detection, median
> filtering, and spatial convolution with user defined kernels up to
> 63x63. *Image* also incorporates a Pascal-like macro programming
> language, providing the ability to automate complex, and frequently
> repetitive, processing tasks.
>
> *Image* can be used to measure area, average gray value, center, and
> angle of orientation of a user defined regions of interest. It also
> performs automated particle analysis and can be used to measure path
> lengths and angles. Measurement results can be printed, exported to
> text files, or copied to the Clipboard.
>
> Spatial calibration is supported to provide real world area and length
> measurements. Density calibration can be done against radiation or
> optical density standards using any user specified units. The user can
> select from any of eight different curve fitting methods for
> generating calibration curves.
>
> *Image* provides MacPaint-like editing of color and grayscale images,
> including the ability to draw lines, rectangles, ovals and text. It
> can flip, rotate, invert and scale selections. It supports multiple
> windows and 8 levels of magnification. All editing, filtering, and
> measurement functions operate at any level of magnification and are
> undoable. Digital halftoning is used to print images on PostScript
> printers and Floyd-Steinberg dithering for printing on non-PostScript
> printers.
>
> *Image* supports the Data Translation QuickCapture card for digitizing
> single images or movie sequences using a TV camera. Acquired images
> can be shading corrected and frame averaged.
>
> *Image* is written using Think .i.Pascal ;from Symantec Corporation,
> and the complete source code is freely available.
>
> **.i..c2.System Requirements**
>
> *Image* requires a Macintosh with at least 4MB of memory, but 8MB or
> more are recommended for working with 3D images or animation
> sequences. It requires a monitor with the ability to display 256
> colors or shades of gray. It normally requires a floating-point
> coprocessor(FPU) or the PseudoFPU Init, which can emulate a missing
> coprocessor, but a special version is available that does not require
> an FPU. *Image* directly supports, or is compatible with, large
> monitors, flatbed scanners, film recorders, graphics tablets,
> PostScript laser printers, photo typesetters and color printers.
>
> **.c2.Acknowledgments**
>
> The author wishes to thank the following individuals for their help,
> encouragement, and contributions: Peter Ahrens, Joseph Ayers, Mike
> Castle, Rick Chapman, Dennis Chesters, Ted Collburn, Andras Eke, Chuck
> Fiori, Garth Fletcher, Tom Ford-Holevinski, Keith Gorlen, Joseph
> Hennessey, Greg Hook, Marshal Housekeeper, Werner Klee, Cary Mariash,
> Kelly Martin, Reuben Mezrich, Ranney Mize, Steve Pequigney, David
> Powell, Ira Rampil, Arlo Reeves, Robert Rimmer, Bob Rodieck, Christian
> Russ, John Russ, Matthew Russotto, Bruce
>
> Smith, Seth Snyder, Roy Standing, Cliff Stoll, Steve Ruzin, and Mark
> Vivino.
>
> .c.Menus
>
> **.c2.File; Menu**
>
> .i.**New**
>
> Creates a new image window which is filled with the current background
> color. The default size is 600 pixels wide by 512 pixels high, but
> this can be changed in the Preferences dialog box. The new window
> inherits its gray map (or color look-up table), as well as any spatial
> or density calibration, from the currently active image window.
>
> .i.**Open**...
>
> Use the Open command to load and display images or to load color
> look-up tables(LUT). *Image* currently supports four image file
> formats(TIFF, PICT, PICS and MacPaint) and four look-up table formats.
>
> 1\) 8-bit grayscale and color .i.TIFF; files created by *Image* and as
> well as many other programs. Image will open(as a stack) a TIFF file
> containing multiple images, but the images must all have the same
> width and height. *Image* is unable to open bitmap(1-bit), 24-bit
> color, or compressed TIFF files. TIFF files that were created on other
> systems, such as an IBM-PC, usually need to be opened using the Import
> command.
>
> 2\) .i.PICT ;files created by *Image* and numerious other Macintosh
> programs. Check *Keep LUT* in the Open dialog box(shown below) if you
> want to display the image using the current palette, instead of the
> one contained in the PICT file.
>
> 3\) .i.MacPaint;MacPaint documents. *Image* will trim white space from
> the right edge and bottom of MacPaint documents to reduce memory
> requirements. You will want to set *Undo Buffer Size* in Preferences
> to 405K if you regularly open large MacPaint drawings, since this is
> the memory required for a full size( 576 x 720) MacPaint document.
>
> 4\) .i.MacPaint;PICS files created by *Image* and by many Macintosh
> animation programs.
>
> 5\) Look-up tables created by *Image* and by several other Macintosh
> programs, including PixelPaint, Canvas, UltraPaint, and the Klutz DA.
> PixelPaint, Canvas and UltraPaint have palette editors that can be
> used to create color tables for use by *Image* . The public domain
> PalEdit program from NCSA may also be used to create color tables that
> can be opened by *Image*. The Klutz DA can be used to
> "capture"palettes used by other programs.
>
> ![](media/image1.pct){width="5.402777777777778in"
> height="1.9861111111111112in"}
>
> If you check *Open All*, select an image, and then click on the Open
> button, *Image* will open all the images in that folder, not just the
> one selected.
>
> Check *Keep LUT* if you want the image to be displayed using the
> current video look-up table, rather than the one saved with the image.
> This feature can be used to combine PICT files with different palettes
> into a montage. When the PICT file is opened, and the image and screen
> LUTs are different, the pixel values will be remapped to make the
> colors consistent.
>
> The *Update Icons* check box is used for updating documents created by
> older versions of Image. No files are opened if this option is
> selected. Instead, all files in the currently selected folder with a
> creator type of 'IMAG' well have their creator type changed to 'Imag'.
> 'IMAG' is the creator type used by versions of image earlier than
> 1.41. Files with the new 'Imag' creator type have icons with a white
> background and launch the latest version of Image when you
> double-clicking on them.
>
> **.i.Import...**
>
> Use the Import command to read image files created by non-Macintosh
> based systems, to display spreadsheet data(text) as an image, or to
> import raw color look-up tables. It presents a dialog box that allows
> you to select the type of file to be imported.
>
> ![](media/image2.pct){width="6.958333333333333in"
> height="3.8194444444444446in"}
>
> Select .i.*TIFF* ;to open 4-bit and 8-bit grayscale TIFF files
> imported from other systems, such as an IBM PC.
>
> Select .i.*MCID* ;to opens files compatible with the IBM-PC based MCID
> image analysis system from Imaging Research. The MCID format, which is
> very simple, is described in Appendix E.
>
> Select *Text* to import a two-dimensional array of numbers stored in
> tab-delimeted text format, for example, a spreadsheet saved as "Text
> Only". Values do not have to be in the range 0-255, and may be in
> decimal or scientific format. By reading in the text file twice, image
> is able to determine the number of rows and columns, and to scale to
> 8-bits(1-254). Blank cells are assumed to have a value of zero. If
> *Fixed Scale* is checked then automatic scaling is disabled, values
> are scaled to the range *Min-Max,* values less than *Min* are set to
> *Min,* and values greater than *Max* are set to *Max*.
>
> Select *Custom* to open other types of 8-bit and 16-bit binary images.
> *Width* is the width of the image in pixels and *Height* is the number
> of lines in the image. The maximum value that can be entered for
> *Width* is 4096. *Offset* specifies the number of bytes *Image* will
> skip before it starts reading the pixel data. For example, use an
> offset of 512 to skip over a 512 byte file header.
>
> *Image* computes the minimum and maximum pixel values of 16-bit images
> and uses this information to linearly scale to 8-bits(1-254). Check
> *Swap Bytes* if you are importing 16-bit images from "little-endian"
> systems, such as the IBM-PC, PDP-11 or VAX. If *Calibrate* is checked
> *Image* automatically sets up a linear density calibration function to
> provide an approximation of the original 16-bit pixel values. If
> *Fixed Scale* is checked then automatic scaling is disabled and values
> are scaled to the range *Min-Max.* As an example, to import MRI
>
> scans from a GE SIGNA scanner, set *width* and *height* to 256, select
> *16-bit Signed*, and set *Offset* to 14336.
>
> Image expects imported .i.Palettes;look-up tables to be 768 byte
> binary files consisting of 256 consecutive red values, 256 consecutive
> green values, and 256 consecutive blue values. The 768 color values
> should be in the range 0-255.
>
> Check *Open All* to import all of the images in a folder. Images must
> all have the same width, height, etc. *Open All* does not work with
> imported text files and palettes.
>
> **.i.**
>
> **Close**
>
> Closes the currently active image, Plot, or Histogram window, i.e.,
> the one with the highlighted title bar. Hold down the Option key to
> close all currently open image windows. Typing Option-Command-W or
> Option-Clicking in the close box of an image window will also close
> all the image windows. When closing many windows, pressing
> Command-Period will bypass intermediate screen updates, causing the
> windows to close quicker.
>
> **Save**
>
> Resaves the currently active image to the disk. In the case of a
> window that was newly created using New, Duplicate or Start Capturing,
> you will be prompted for a name. Files are resaved in their original
> format. In other words, TIFF files are resaved in TIFF format, and
> PICT files are resaved in PICT format.
>
> Hold down the Option key(notice how Save changes to Save All) to save
> all currently open image windows.
>
> **.i.**
>
> **Save As...**
>
> Allows you to saves the currently active image(or rectangular
> selection) in one of three formats, or to save the current pseudocolor
> palette.
>
> ![](media/image3.pct){width="5.055555555555555in"
> height="3.638888888888889in"}
>
> .i.**TIFF**
>
> Saves the currently active image or stack to a file in uncompressed
> 8-bit TIFF format. You will be asked to enter a name for the new file.
> The menu command changes to *Save Selection As* if a rectangular
> selection is active, allowing you to save a subsection of the image.
> Note that the ability to save selections does not work for stacks, but
> there are macros available to get around this limitation. TIFF is the
> default file format in *Image,* and is usually the best format for
> saving digitized or scanned images. Because TIFF files are not
> compressed, they usually Open and Save faster than PICT files.
>
> .i.**PICT**
>
> Saves the currently active image to a PICT file. PICT files can be
> exported to many other Mac programs, including PixelPaint, Digital
> Darkroom, SuperPaint, and MacDraw. Because they are compressed, PICT
> files also have the advantage of being more compact if the image
> contains large homogeneous regions, which is typical of computer
> generated images. Unfortunately, the run length compression scheme
> used with PICT files is ineffective with most scanned images. Changes
> to *Save Selection As* if a rectangular selection is active.
> **Warning:** Don\'t save pseudocolored images in PICT format if you
> plan to make future gray value measurements, since pixel values may
> get altered.
>
> .i.**MacPaint**
>
> Saves the currently active image as a MacPaint document. Since
> MacPaint images are binary(black and white only), you will probably
> want use Dither or Make Binary to convert grayscale images to binary
> before saving them.
>
> .i.Palettes;.i.**PICS**
>
> Saves the currently active stack to disk in PICS format, a file format
> used by most Mac animation programs. PICS files are compressed using
> the same run length encoding scheme used for PICT files. Stacks
> containing areas of uniform color or gray value saved
>
> in PICS format will be smaller than stacks saved in TIFF format.
>
> .i.Palettes;**Color Table**
>
> Saves the current .i.Pseudocolor;look-up table.
>
> **Outline**
>
> Saves the XY coordinates of the current selection outline. XY
> coordinates of curved line selections, and selections that have been
> edited, can not be saved.
>
> **Export...**
>
> Exports images, look-up tables, measurement results, density profile
> plot values, or histogram values to disk for use with other programs.
>
> ![](media/image4.pct){width="5.041666666666667in"
> height="4.277777777777778in"}
>
> **Raw Pixel Data**
>
> Exports the current image(or selection) as binary pixel data, in row
> order, one byte per pixel, and without a header.
>
> **MCID**
>
> Exports the current image(or selection) as an MCID file. MCID files
> have the same format as raw pixel data files, but are preceded by a
> four byte header which contains the width(minus one) and height(minus
> one), stored as two 16-bit numbers in Intel byte order.
>
> **Text**
>
> Exports the current image(or selection) as a tab-delimited,
> spreadsheet compatible text file.
>
> **Look-Up Table**
>
> Saves the current video .i.Look-Up Table(LUT); as a 768 byte file
> consisting of 256 red values, 256 green values and 256 blue values.
>
> **Measurements**
>
> Exports the current measurements to a tab-delimited text file
> compatible with spreadsheet and statistical analysis programs. Use the
> Analyze/Options dialog box to specify which measurements are recorded
> and/or exported.This option is also used to export angle measurements
> made with the .i.Angle Tool;angle tool, and X-Y coordinate
> measurements made with the .i.Cross Hair Tool;cross hair tool.
> Measurements can also be exported by copying them to the Clipboard.
>
> **Plot Values**
>
> Exports the data values representing the most recent density profile
> to a text file. If you have just used the Calibrate command to do
> density calibration, and are viewing the density calibration plot,
> then this option saves the 256 Y-values of the current calibration
> plot to a text file.
>
> .i.**Histogram** ;**Values**
>
> Exports the 256 gray level counts from the most recent histogram to a
> text file.
>
> **XY Coordinates**
>
> Exports the XY coordinates of the current selection outline as a two
> column, tab-delimited text file. XY coordinates of curved line
> selections, and selections that have been edited, can not be exported.
>
> **.i.Save Screen**
>
> .i.Dumping the screen;Saves the contents of the entire screen,
> including menu bar, trash can, etc., to a PICT file named *Screen* in
> the same folder as *Image*. Any existing file with that name will be
> replaced without warning.
>
> **.i.Record Preferences**
>
> Saves the current state of the following *Image* program parameters.
> Settings are saved in a file named *Image Prefs* in the System Folder.
> You can revert to the default settings be deleting this file.
>
> • Foreground color
>
> • Background color
>
> • Brush size
>
> • Airbrush diameter
>
> • Color Look-Up Table mode
>
> • Color palette position and width
>
> • Text attributes, including font, size, style and justification
>
> • Extra colors
>
> • Invert Video switch
>
> • Measurement Options
>
> • Profile Plot Options
>
> • Frames averaged by *Average Frames* command
>
> • Size of image created by New command
>
> • Undo(and Clipboard) buffer size
>
> • *Apple Look Table* options for images with density slicing enabled
>
> • Frame grabber input channel
>
> • Import command parameters
>
> • Most options in Preferences dialog box
>
> **.i.Revert to Saved**
>
> Reverts to the most recently saved version of the current image,
> effectively undoing all changes made since the last Save command.
> Reverting does not currently work with stacks, imported 16-bit images,
> or imported text files.
>
> **.i.Duplicate**
>
> Creates a new window containing a copy of the current image window, or
> of the current selection if only part of the image is selected. The
> newly created window will inherit the gray map(or color table), as
> well as any spatial or density calibration, of the window being
> duplicated.
>
> **.i.Get Info**
>
> Displays a window, such as the one shown below, giving information
> about the currently active image window and the status of the system.
>
> ![](media/image5.pct){width="3.763888888888889in"
> height="4.569444444444445in"}
>
> **.i.Halftone Options...**
>
> Allows you to specify how halftoning is done on the LaserWriter or
> other PostScript printers. Halftoning is a technique which allows
> grayscale images to printed on a device whose pixels
>
> can only be black or white. This is accomplished by dividing the
> printer pixels into small groups(or cells) according to some
> pattern(called the halftone screen). Within each cell, a dot is drawn
> whose size is proportional to the gray value of that part of the
> image. A screen frequency of about 50 halftone cells per inch,
> providing a cell size of 6 x 6 pixels, is optimum for a 300 dots per
> inch laser printer. A frequency of 106 is optimum for the LaserWriter
> IIf(with expanded memory) and LaserWriter IIg printers. Custom
> halftoning options can be saved using Record Preferences. Note that
> these settings have no effect if *Custom Grayscale Halftoning* is not
> selected in the Preferences dialog box.
>
> **.i.Page Setup...**
>
> Lets you specify printing orientation (portrait or landscape) and
> scale (25% to 400%). The quality of density profile and calibration
> plots will be better if you leave the scale set at 100% and enlarge
> the plot window before printing the plot. To take advantage of special
> effects, such as Graphics Smoothing, hold down the option key(or
> deselect *Custom Grayscale Halftoning* in Preferences) when selecting
> the Print command.
>
> **.i.Print...**
>
> This command lets you print images, plots, histograms, and the results
> of measurements. What gets printed is determined by which window is
> currently active. The print command changes (e.g. **Print Image**,
> **Print Plot**, etc.) depending on which window is active.
>
> **Print Image** - Prints the currently active image on PostScript
> printers using digital halftoning to simulate shades of gray. Pixels
> in color images are converted to grayscale prior to printing using the
> equivalent of *Convert to Grayscale*, a variation of the *Apple LUT*
> command. If you have made a rectangular selection, only the selection
> will be printed.
>
> Hold down the Option key at the start of printing to get higher
> quality text and line drawings on PostScript printers. In this case,
> printing is done using bitmap smoothing instead of halftoning. Holding
> the Option key down is equivalent to temporarily deselecting *Custom
> Grayscale Halftoning* in Preferences.
>
> When using version 6.0 (or later) of the LaserWriter driver,
> deselecting *Custom Grayscale Halftoning* in Preferences allows
> *Image* to take advantage of the grayscale and color printing
> capabilities of the newer print divers. In this case, use the *Black &
> White* and *Color/Halftone* buttons in the Print dialog box to specify
> how printing is to be done.
>
> On color printers and film recorders, the output will be centered on
> the page (or slide). You must deselect *Custom Grayscale Halftoning*
> in Preferences (or hold the Option key down) when printing on .i.Color
> ;PostScript printers. Use the Dither command to simulate shades of
> gray when printing on non-PostScript printers, such as the
> ImageWriter.
>
> **Print Plot** - Prints the current density profile or calibration
> plot. The size of the printed plot is proportional to the size of the
> plot window.
>
> **Print Histogram** - Prints the contents of the histogram window.
>
> **Print Measurements** - Prints the results of measurements made with
> the Measure command, or with the angle or the cross hair tools. This
> command is enabled when you have recorded one or more measurements and
> either the Values or Results window are active.
>
> **.i.Quit**
>
> Closes all image windows after asking, in each case, whether changes
> made during the session should be saved, then quits to the Finder. If
> measurements have been made but not saved a dialog box will be
> displayed notifying you of that fact. The *Save Changes?* dialog boxes
> will be not be displayed if you hold down the Command and Period keys
> while quitting, and any changes will not be saved. Pressing
> Command-Period also bypasses intermediate screen updates, causing
> windows to close more quickly.
>
> **.c2.Edit; Menu**
>
> **.i.Undo**
>
> Reverses the effect of the last editing or filtering operation. When
> using the Measure command, Undo deletes the most recent measurements.
>
> **.i.Cut**
>
> Copies the contents of the current selection to the Clipboard and
> fills it with the current background color.
>
> **.i.Copy**
>
> Places a copy of the contents of the current selection on the
> Clipboard.
>
> Copy will also copy the entire contents of the LUT, Plot or Histogram
> window to the Clipboard if one of these is the active window. If the
> Plot or Histogram window is active then both the data values and the
> graphics will be copied to the Clipboard, allowing you to transfer
> plot and histogram data to other programs for plotting or statistical
> analysis.
>
> You can use the eyedropper tool to select colors to be copied from the
> LUT window to the Clipboard. These colors can then be pasted back into
> another palette location.
>
> After using the Measure command, Copy changes to Copy Measurement,
> allowing you to use the Command-C keyboard shortcut to copy
> measurements to the clipboard.
>
> **.i.Paste**
>
> Displays the contents of the Clipboard in the currently active image
> window. The pasted object is automatically selected, allowing you to
> move it by clicking and dragging. With rectangular objects, you can
> click and drag on the resize handle in the lower left corner to expand
> or contract the selection.
>
> You can also use the paste command to paste colors copied with the
> eyedropper tool back into the LUT window.
>
> If you make a rectangular selection in the Camera window, copy it to
> the Clipboard, paste into another window(without deleting the Camera
> window), and select *Live Paste* in the .i.Paste Control; window, then
> pasting will be .i.Live Paste;"live" from the camera. This feature,
> along with the ability to select different transfer modes;, allows the
> image currently being digitized to be aligned with a previously
> digitized image. "Live Paste" is not available when using the Scion
> frame grabber.
>
> Text as well as images can be pasted into Image windows. For example,
> you can copy measurement results to the Clipboard, then paste them
> into an image window. The text will be displayed inside the current
> rectangular selection, or, if there is no selection, into a default
>
> selection. Use submenus in the Option menu to select font, size,
> style, etc. If the text doesn\'t fit within the selection, Undo,
> switch to a different font or size(or make a different selection), and
> try again. Text background is always erased to white, the "No
> Background" option in the Style menu is ignored. This is not a
> problem, however, since you can select the Or transfer mode in the
> Paste Control window to paste text transparently. When pasting text in
> the Or mode, you can click in the LUT window to change color or gray
> level.
>
> **.i.Clear**
>
> Erases the current selection to the current background color. The
> Delete key is a handy shortcut for this command. The background color
> is set by clicking with the eraser tool in the LUT window. The color
> of the eraser indicates the current background color.
>
> **.i.Fill**
>
> Fills the current region or line selection with the current foreground
> color. You can change the color after the selection has been filled by
> clicking in the LUT window. The entire image window is filled if no
> selection is active. The foreground color is set by clicking with the
> eyedropper tool in the LUT window or in the active image window. The
> color of the brush in the tool palette indicates the current
> foreground color.
>
> **.i.Invert**
>
> Inverts the contents of the current selection, or the entire image if
> no selection is active.
>
> **.i.Draw Boundary**
>
> Outlines the current region or line selection using the current
> foreground color and line width. Both the color and line width can be
> dynamically changed as long as the selection is still active.
>
> **.i.Draw Scale**
>
> Draws a grayscale or color ramp within the current rectangular
> selection. Use this command to create density calibration scales. You
> can use Flip Vertical or Flip Horizontal to invert a newly created
> scale. Look at the file "Demo Macro" for an example of how to use a
> macro to label a scale created using Draw Scale.
>
> **.i.Select All;**
>
> This command is equivalent to using the rectangular selection tool to
> select the entire image, including portions that may be offscreen.
> Once the selection has been made, Select All changes to Deselect All,
> allowing you to deactivate the selection. You can also deactivate the
> selection by clicking on any tool other than one of the selection
> tools, the hand tool, or the magnifying glass.
>
> **.i.Rotate Left**
>
> Rotates the contents of the current rectangular selection
> counter-clockwise 90˚. Holding the Option key down causes the original
> object to be erased before being replaced by the rotated version. The
> entire window is rotated if there is no selection.
>
> **.i.Rotate Right**
>
> Rotates the contents of the current rectangular selection clockwise
> 90˚. Hold the Option key down to erase before rotating. The entire
> window is rotated if there is no selection.
>
> **.i.Flip Horizontal**
>
> Flips the current rectangular selection horizontally around a vertical
> line through its center. The entire image is flipped horizontally if
> no selection is in effect.
>
> **.i.Flip Vertical**
>
> Flips the current rectangular selection upside down. Flips entire
> image if there iz no selection.
>
> **.i.Scale and Rotate...**
>
> Reduces or enlarges the contents of the current rectangular selection.
> If *Nearest Neighbor* is checked, .i.Scaling;scaling is done quickly
> using pixel replication, but the resulting image my not be smooth.
> Check *Bilinear* for smoother, but slower, interpolated magnification.
> If *Angle* is non-zero, the contents of the selection are also rotated
> an arbitrary number of degrees. Rotation will be clockwise for
> positive angles and counter-clockwise for negative.
>
> ![](media/image6.pct){width="4.388888888888889in"
> height="3.888888888888889in"}
>
> **.i.Show Clipboard**
>
> Creates a new window the size of the image currently on the clipboard,
> and then displays it. This window, which will have the title
> Clipboard, will not be updated if the Clipboard later changes.
>
> **.c2.Options; Menu**
>
> **.i.Invert LUT**
>
> Flips the current video look-up table. Unlike the Invert command,
> *Invert LUT* does not alter pixel values, only the way the image is
> displayed on the screen. The first(0) and last(255) entries in the
> look-up table, which are always white and black respectively, are
> never inverted since these entries are used for drawing the menu bar,
> title bars, dialog boxes, etc.
>
> **.i.Set Number of Colors...**
>
> Allows you to change the number of colors used in the current color
> look-up table. New
>
> colors are created by interpolating between existing colors. For
> example, if the current color table consists of the two colors, white
> and black, then setting the number of colors to 64 creates a grayscale
> palette with 64 shades of gray.
>
> **.i.Set Extra Colors...**
>
> Allows you to reserve up to six entries in the look-up table for
> colors that will not be altered by routines that manipulate the
> look-up table. For example, you could use an extra color to add color
> annotation to a grayscale picture. Any extra colors are displayed at
> the bottom of the LUT window, allowing you to edit them by
> double-clicking with the eyedropper Tool.
>
> **.i.Grayscale**
>
> Enables the default grayscale look-up table. To convert a true color
> image to grayscale, use the Convert to Grayscale variation of the
> Apply LUT command. Once you have switched to grayscale, contrast and
> brightness can be altered by manipulating the transformation function
> displayed in the Map window. The transformation function can be
> applied to the pixel data in memory, thereby making any contrast and
> brightness changes permanent, by using *Apply LUT*.
>
> **Color Tables**
>
> *Image* currently supports nine built-in color look-up tables. In
> addition, the Open command can be used to load color tables stored in
> the Palettes folder distributed with *Image*. You can use the .i.LUT
> tool;LUT tool(the double headed arrow) to both stretch(changing
> contrast) and shift the colors within the color table. The colors in a
> color table can be edited by double clicking on them in the LUT window
> using the eyedropper tool, although this works best with tables
> containing only a few colors, around 20 or less.
>
> **Font, Size, Style**
>
> Text handling in *Image* is similar to that in Macintosh painting
> programs such as MacPaint, SuperPaint, and PixelPaint, with the
> exception that you can only change the characteristics, such as size
> and style, of the last line entered. You are allowed to change the
> color(by clicking in the LUT window), size, typeface, style and
> justification of the current line of text after the text has been
> entered. The background color can be changed by option-clicking in the
> LUT window.
>
> **Preferences...**
>
> Displays the dialog box shown below, allowing you to change various
> parameters used by *Image* .
>
> ![](media/image7.pct){width="4.222222222222222in"
> height="3.8333333333333335in"}
>
> .i.*New Width* ;and .i.*New Height* ;specify the size of images
> created using the New command.
>
> *Undo & Clipboard Buffer Size* ;allows you to change the size of the
> two internal image buffers used by *Image*. You must *Record
> Preferences*, Quit, and then restart *Image* before any buffer size
> change will take effect.
>
> Pixel values resulting from .i.Add;, .i.Subtract;, .i.Multiply;, or
> .i.Divide ;operations(Paste Control) will be scaled to the range of 0
> to 255 if .i.*Scale Image Arithmetic* ;is checked, otherwise, results
> are clipped to 0 and 255.
>
> Pixel values resulting from filtering operations done using the
> Convolve command will be scaled to 8-bits if *Scale Convolutions* is
> checked, otherwise, they are clipped at 0 and 255.
>
> Checking *Invert Displayed Pixel Values* sets up an inverting linear
> density calibration function for the current image that causes gray
> values displayed in the Values and Results windows, in density profile
> plots, and in histograms, to be inverted. Subsequent image windows
> created using New, Start Capturing, and the Import of 8-bit images,
> will inherit this calibration function.
>
> Check .i.*Invert Y Coordinates* ;if you want the X-Y origin to be the
> lower left corner of the image window, otherwise it will be the upper
> left corner.
>
> Check *Custom Grayscale Halftoning* to enable the Postscript
> halftoning capability that is built into *Image.* Changes made in the
> *Halftone Options* dialog box are only effective when this option is
> selected.Deselect this option to use the grayscale and color printing
> capabilities of Laserwiter driver 6.0 or later. You must deselect this
> option to print on color Postscript printers.
>
> Checking *Load System LUT When Switching* causes *Image* to load the
> Apple default color palette before switching to other application.
> This may correct color display problems experienced with other
> applications, such as Excel 3.0.
>
> The status of settings in the Preferences dialog box can be made
> permanent using *Record Preferences*.
>
> **Profile Plot Options...**
>
> Displays a dialog box that allows you to set various options relating
> to the density profile plots generated by the profile plot tool and
> the *Plot Profile* command. In *Auto Scale* mode, profile plots are
> scaled based on the minimum and maximum gray values. In *Fixed Scale*
> mode, the y-axis range is fixed and the minimum and maximum may be
> specified. *Fixed Plot Size* allows you to specify the size of the
> plot window. This is useful when pasting a series of plots into an
> image window that you want to all be the same size. *Profile Plot Line
> Width* specifies the width of the line which controls the amount of
> pixel averaging done by the profile plotting tool. All of these
> settings can be saved using *Record Preferences.*
>
> ![](media/image8.pct){width="4.0in" height="5.041666666666667in"}
>
> **.i.Scale to Fit Window**
>
> Switches the currently active image window in and out of *Scale to
> Fit* mode. If checked, the window is in the *Scale To Fit* mode, and
> you can use the size box, located in the lower right corner, to
> rescale the image. Clicking in the zoom box of an image window(upper
> right
>
> corner) will also switch that window to *Scale to Fit* mode, and then
> scale the window(and image) to fit the screen. In *Scale to Fit* mode
> you are not allowed to change the aspect ratio of an image and the
> magnifying glass and grabber tools do not work. When a window is in
> S*cale to Fit* mode the current magnification level is shown in the
> title bar.
>
> **.i.Thresholding**
>
> Thresholding is used to segment an image into objects of interest and
> background on the bases of gray level. When thresholding is enabled,
> objects are displayed in black and background is white. Background
> pixels will be ignored when making area and gray value measurements
> using the Measure and *Analyze Particles* commands. To vary the
> threshold, use the .i.LUT tool;(the one with the double headed arrow)
> and click and drag near the black/white boundary in the LUT window. As
> you vary the threshold, its value is continuously displayed in the
> Values window.
>
> The Make Binary command can be used to set all thresholded pixels to
> black, and all background pixels to white. The .i.Wand tool;wand tool
> can be used to outline thresholded objects, and *Analyze Particles*
> can be used to automatically measure objects segmented by
> thresholding. As a shortcut, you can enable thresholding by double
> clicking on the stair step icon in the Map window.
>
> **.i.Density Slice**
>
> Like thresholding, density slicing allows objects to segmented on the
> bases of gray level. When density slicing is enabled, objects are
> highlighted in red and background pixels are left unchanged. As in
> thresholding, background pixels are ignored when making area and gray
> value measurements. Click and drag in the LUT window using the .i.LUT
> tool; to vary the size and location of the density slice. As you
> manipulate the density slice, its upper and lower limits are
> continuously displayed in the Values window.
>
> In the LUT window, you can double click within the density slice using
> the eyedropper tool to change the highlighting color to something
> other than the default red. As a shortcut, you can enable density
> slicing by double clicking on either the wand or LUT tools.
>
> To prevent desktop items, such as the menu bar, from changing color,
> white(0) and black(255) entries in the LUT are never included within
> the density slice. Therefore, thresholding usually works better for
> discriminating objects containing black pixels.
>
> The *Apply LUT* command can be used to set all pixels which are within
> the density slice to the foreground color (or leave then unchanged)
> and all other pixels to the background color(or leave them unchanged).
> *Make Binary* will set pixels within the density slice to black, and
> all other pixels to white.
>
> **.i.Propagate;**
>
> The commands in this submenu allow you to propagate various attributes
> that have been set in one image to all other currently open images.
>
> **Look-Up Table -** Copies the current video lookup table to all open
> image windows. This provides a way to transfer contrast, brightness or
> .i.Pseudocolor;pseudocolor changes made to one image in a set(e.g., a
> series of MRI scans), to all other images in the set.
>
> **Spatial Calibration -** The spatial calibration(e.g.,
> Pixels/centimeter) and unit of measurement associated with the
> currently active image are transferred to all other open images.
> Spatially calibrated images have a black diamond in the title bar
> following the name.
>
> **Density Calibration -** The density calibration associated with the
> currently active image is transferred to all other open images.
> Density calibrated images have a white diamond in the title bar
> following the name.
>
> **.c2.Enhance ;Menu**
>
> **Filtering Functions(Smooth, Sharpen, etc.)**
>
> .i.Filters;These functions, with the exception of *Reduce Noise* and
> Dither, are implemented using 3 x 3 spatial convolutions, where the
> value of each pixel in the selection is replaced with the weighted
> average of its 3 x 3 neighborhood. For correct operation, they require
> a grayscale image, or a pseudocolored image that started out as a
> grayscale image. Filtering is not limited to rectangular selections.
> The entire image will be filtered if no selection is active. Filtering
> operations can be aborted by typing Command-Period.
>
> The 3 x 3 tables shown below are the coefficients for the filters. The
> popularity of plus and minus in these tables is due to the fact that
> multiplication by one is very efficient, i.e, it is unnecessary.
>
> .i.**Smooth** ;- This filter blurs(softens) the selection area. It can
> be used to reduce noise in an image. Hold the Option key down for
> increased blurring.
>
> 1 1 1 1 1 1 (If Option key down)\
> 1 4 1 1 1 1\
> 1 1 1 1 1 1
>
> .i.**Sharpen** ;- Increases contrast and accentuates detail in the
> selection, but may also accentuate noise. To minimize this problem,
> you can Smooth and/or *Reduce Noise* before using Sharpen. Hold the
> Option key down for increased sharpening.
>
> -1 -1 -1 -1 -1 -1 (If Option key down)\
> -1 9 -1 -1 12 -1\
> -1 -1 -1 -1 -1 -1
>
> .i.**Shadow** ;- Produces a shadow effect, with the light appearing to
> come from the lower right.
>
> -2 -1 0\
> -1 1 1\
> 0 1 2
>
> .i.**Trace Edges**; - .i.Edge detection;Produces a binary image with a
> white background and black outlines representing edges in the original
> image. Two convolutions are done, generating vertical and horizontal
> derivatives and the larger of the two result is used. If the resulting
> pixel is above a threshold value it is set to black, otherwise it is
> set to white. You can increase or decrease the number of edges by
> preprocessing the image. Increasing contrast and Sharpening will
> increase the number of edges found, decreasing contrast and smoothing
> do the opposite. If you hold down the Option key the thresholding step
> will not be done, allowing you to do it yourself.
>
> 1 1 1 -1 0 1 (If Option key down)\
> 0 0 0 -1 0 1\
> -1 -1 -1 -1 0 1
>
> .i.**Reduce Noise**; - .i.Median filter;This is a "median filter",
> where each pixel is replaced with the median value of its 3 x 3
> neighborhood. This is a time consuming operation because, for each
> pixel in the selection, the nine pixels in the 3x3 neighborhood must
> be sorted and the center pixel replaced with the median value(the
> fifth). To demonstrate the effectiveness of median filtering, try
> removing random spot noise generated using an air brush with a
> diameter of around 50.
>
> .i.**Dither** ;- Uses the Floyd-Steinberg error diffusion algorithm to
> convert the current selection to a binary(black and white only) image.
> Dithering can be useful for exporting pictures to applications such as
> .i.MacPaint;MacPaint or MacDraw that can only accept binary images.
> Dithering can also be used for printing on the ImageWriter, or other
> non-PostScript printers. The quality of dithered images can frequently
> be improved by increasing contrast using the controls in the Map
> window before doing the dithering. True color images should be
> converted to grayscale by using the *Convert to Grayscale* variation
> of the *Apply LUT* command before being dithered.
>
> .i.**Convolve** ;- Does spatial convolutions using kernels, read from
> a text file, that can be up to 63 x 63 in size. Desk accessory text
> editors, such as MockWrite, are particularly convenient for creating
> or examining these kernels.
>
> For an example, use a text editor to create the following file and
> then use the Convolve command to try it out.
>
> 0 0 0 -1 -1 -1 0 0 0\
> 0 -1 -1 -3 -3 -3 -1 -1 0\
> 0 -1 -3 -3 -1 -3 -3 -1 0\
> -1 -3 -3 6 13 6 -3 -3 -1\
> -1 -3 -1 13 24 13 -1 -3 -1\
> -1 -3 -3 6 13 6 -3 -3 -1\
> 0 -1 -3 -3 -1 -3 -3 -1 0\
> 0 -1 -1 -3 -3 -3 -1 -1 0\
> 0 0 0 -1 -1 -1 0 0 0
>
> This is a 9 x 9 "Mexican hat" filter which will do both smoothing and
> edge detection in one operation. Each line should be terminated with a
> carriage return, and the coefficients should be separated by one or
> more spaces, or a tab. Note that kernels such as this one can be
> opened and displayed as an image using the Import(Text) command,
> scaled to a reasonable size using Scale and Rotate, and plotted using
> *Surface Plot*.
>
> **.i.Binary**
>
> The commands in this submenu are used to convert grayscale images to
> binary(i.e. black and white only) and to process these binary images.
> Note that the *Erode* and *Dilate* tranformations in *Image* do not
> perform erosion and dilation with structuring elements as described in
> the literature of classical mathematical morphological. However,
> several of the Mac image processing programs listed in Appendix D,
> such as DIP Station, do support mathematical morphology.
>
> .i.**Make Binary** ;**-** Converts the current grayscale image to
> binary by setting pixels that have been highlighted by either density
> slicing or by thresholding to black (255), and all other pixels to
> white (0).
>
> .i.**Erode** ;**-** Removes pixels from the edges of objects in a
> binary images, where contiguous black areas in the image are
> considered objects, and background is assumed to be white. A pixel is
> removed(set to white) if four or more of its eight neighbors are
> white. Erosion separates objects that are touching and removes
> isolated pixels.
>
> .i.**Dilate** ;**-** Adds pixels to the edges of objects in a binary
> images. A pixel is added(set to black) if four or more of its eight
> neighbors are black. Dilation connects discontinuous objects and fills
> in holes.
>
> .i.Opening;**Open -** Performs an erosion operation, followed by
> dilation, which smooths objects and remove isolated pixels.
>
> .i.Closing;**Close -** Performs a dilation operation, followed by
> erosion, which smooths objects and fill in small holes.
>
> .i.**Set Count**... ;**-** Allows you to specify the number of
> adjacent background or foreground pixels necessary before a pixel is
> removed from or added to the edge of objects during erosion or
> dilation operations. The default is four.
>
> .i.**Set Iterations**... ;**-** Allows you to specify the number of
> times erosion, dilation, opening, and closing are performed. The
> default is one.
>
> .i.**Outline** ;**-** Generates a one pixel wide outline of objects in
> a binary image.
>
> .i.**Skeletonize** ;**-** Repeatable removes pixels from the edges of
> objects in a binary image until they are reduced to single pixel wide
> skeletons. Command-period can be used to abort the thinning process.
>
> **.i.Arithmetic**
>
> The commands in this submenu add(subtract, multiply, etc.) a constant
> to each pixel in the current rectangular selection, or if there is no
> selection, the entire image. Results are rounded to the nearest
> integer.
>
> **Add** ;**-** Adds a constant to each pixel in the selection. Results
> greater than 255 are set to 255.
>
> .i.**Subtract** ;**-** Subtracts a constant from each pixel in the
> selection. Results less than 0 are set to 0.
>
> **Multiply** ;**-** Multiplies each pixel in the selection by a
> constant. Results greater than 255 are set to 255.
>
> **Divide** ;**-** Divides each pixel in the selection by a constant.
>
> **Log** ;**-** Each pixel(V) in the selection is replaced with ln(V)
> \* 255.0 / ln(255.0), where ln(V) is the natural logarithm(loge) of V.
> The result is set to 0 if V is equal to 0.
>
> **Subtract Background**
>
> The commands in this submenu remove smooth continuous backgrounds from
> gels and other images. The rolling ball and rolling disk algorithms
> used by these routines were inspired by Stanley Sternberg's article,
> "Biomedical Image Processing", IEEE Computer, January 1983. The
> routines were written by Michael Castle and Janice Keller of the
> University of Michigan Mental Health Research Institute.
>
> **1D Horizontal** ;**-** Rolls an arc(rolling arc) horizontally under
> each row(shrunk 2 or 4 times) of the image in order to remove the
> background.
>
> **1D Vertical** ;**-** Rolls an arc(rolling arc) vertically under each
> column(shrunk 2 or 4 times) of the image in order to remove the
> background.
>
> **2D Rolling Ball** ;**-** Rolls a patch from the top of a
> sphere(rolling ball) under every point in the image(shrunk 4 or 8
> times) in order to find the background.
>
> **2D Remove Streaks** ;**-** Gets rid of horizontal and vertical
> streaks as it removes background by calling 1D Horizontal and 1D
> Vertical consecutively.
>
> **Faster** - When checked, the image is shrunk 8 times(instead than 4)
> for 2D rolling ball subtraction, and lines or columns are shrunk 4
> times(instead of 2) when doing 1D subtraction.
>
> **Set Radius** - Offers a dialog box to set the rolling ball or disk
> radius. Generally, the disk/ball radius should be at least as large as
> the width/diameter of the largest object in the image that is not part
> of the background.
>
> **.i.Equalize**
>
> Performs histogram equalization based on the density histogram of the
> current selection. A new look-up table function is generated that more
> evenly distributes the gray values of the image. The newly created
> function is displayed in the Map window. Use *Apply LUT* to make the
> contrast change permanent. Equalization does not work with true color
> images.
>
> **.i.Apply LUT**
>
> Applies the current look-up table to each pixel in the current
> selection (or of the entire image if there is no current selection)
> and then restores the default look-up table(the identity function).
> This modifies the gray values so that when the image is viewed using
> the default look-up table it will look the same as it did before. This
> command provides a way of making brightness and contrast changes
> permanent. It can be used to posterize(reduce the number of gray
> values) an image by loading and Applying, for example, a palette
> consisting of four shades of gray. It can also be used to convert
> .i.Converting color to grayscale;color images to grayscale, and to
> convert a thresholded image to binary.
>
> ![](media/image9.pct){width="5.833333333333333in" height="2.25in"}
>
> If density slicing is in effect, the above dialog box is displayed,
> allowing you to process highlighted pixels in one way, and all other
> pixels another way.
>
> **Change Values...**
>
> Changes the value of all pixels in the selection(or the entire image
> if no selection is active) that are in the current foreground color to
> the current background color. For example, to change a solid white
> background to black you would set the foreground color to white, the
> background color to black and then use Change Color.
>
> To be more precise, Change Values changes all pixels using the current
> foreground index value (a number in the range 0 to 255) to the current
> background color index value. It is possible that a given color on the
> screen could be represented by several different index values. In this
> case, Change Values may not behave as expected.
>
> **.c2.Analyze; Menu**
>
> **.i.Measure**
>
> Computes the area and mean gray value of the current selection and
> displays the results in the the Values window. In addition, you can
> use the Options dialog box to enable other measurements, such as
> perimeter length. Use Undo to delete the last measurement or *Delete
> Measurement* to delete an arbitrary measurement. Only highlighted
> pixels are included in the computation if either density slicing or
> thresholding are enabled. The measurement counter is incremented by
> one each time you use Measure. The maximum number of measurements is
> 200, but this can be increased in the Options dialog box.
>
> Use *Show Results* to display the list of measurement results,
> *Print*(with either the Values or Results window active) to print the
> results, *Copy* to copy results to the Clipboard, *Export* to export
> results to a tab-delimeted(spreadsheet compatible) text file, and
> *Reset* to reset the measurement counter to zero. There is no limit to
> the number of measurements that can be exported, but there is a 32K
> limit when displaying, printing, or copying results.
>
> The area of the selection will be given in calibrated units, such as
> square millimeters if *Set Scale* has been used to establish the
> spatial scale. If Calibrate has been used to perform density
> calibration, then gray value readings will be converted, using the
> standard curve generated by Calibrate, and the results reported in
> calibrated units, such as optical density or isotope concentration.
>
> The most efficient way to record measurements is to use System 7(or
> MultiFinder), and to have a spreadsheet on the screen at the same time
> you are using *Image*. Make a series of
>
> measurements(Command-1), Copy them to the Clipboard (Command-C), click
> on the spreadsheet to activate it, select the cell where you want the
> measurements stored, Paste the results(Command-V), click on the image
> window to reactivate *Image*, and finally, Reset the measurement
> counter(Command-3).
>
> **.i.Analyze Particles**
>
> Analyze Particles automatically counts and measures objects in a
> binary or thresholded image. It does this by scanning across the image
> until it finds the boundary of an object, outlines the object using
> the same outlining routine used by the wand tool, measures the object
> using the equivalent of the Measure command, and then redraws the
> object in a different gray level so that it becomes invisible to the
> scanning process. The Options dialog box allows you to specify the
> measurement parameters to be recorded, to enable labeling and
> outlining of particles, to ignore particles touching the edge, and to
> specify minimum and maximum particles sizes. Use *Show Results* to
> display the recorded measurements. Up to 32767 particles can be
> counted, but measurement recording is limited to the first *Max
> Measurements*(set in Options) particles. Command-Period aborts
> particle analysis.
>
> **.i.**
>
> **Show Results**
>
> Opens a window, named Results, and displays the current results list
> in it. If the Results window is already open, then it is activated.
>
> ![](media/image10.pct){width="5.319444444444445in"
> height="1.7361111111111112in"}
>
> Use *Export* (command-S when the Results window is the active) to save
> the measurements as a tab delimited text file that can be Opened by
> many Mac programs, including Excel, StatView, and KaleidaGraph. For
> correct display, it may be necessary to adjust tab settings when
> opening an exported file with a word processing program such as
> Microsoft Word. Hold down the Option key(or check *Headings* in
> Options) when Exporting(or Copying) results to include column and row
> headers. Use Print(command-P) to print the measurements, and
> Copy(command-C) to copy them to the Clipboard.
>
> **.i.Show Histogram**
>
> Displays a plot showing the distribution of gray values within the
> selection. The plot shows, for each of the possible 256 gray values,
> the number of pixels in the selection that have that gray value.
> Histograms are not limited to rectangular areas. When the cursor is
> over the Histogram window, X(the gray value) and Y(the number of pixel
> with that gray value) are displayed dynamically in the Values window.
>
> Using the Copy command when the histogram window is the active window
> will copy both the histogram plot(as a PICT) and the histogram data
> values(as a single column of text) to the clipboard. Histogram data
> values can also be saved to a text file using *Save As*.
>
> **.i.Plot Profile**
>
> Generates a density profile plot from straight line or rectangular
> selections. For rectangular selections wider than they are tall(or if
> the Option key is down), it produces a "column average plot", where
> the width of the plot is equal to the width of the selection and each
> point in the plot represents the average gray value of the pixels in
> the corresponding column in the selection. For rectangular selections
> higher than they are wide, it does a top to bottom "row average plot",
> where the width of the plot is equal to the height of the selection
> and each point in the plot is the average of the corresponding row.
>
> For straight line selections, it displays a plot of the gray values
> along the selected line. Pixel averaging will be performed if the line
> selection width is greater than one. For example, assuming the maximum
> line width is selected by clicking on the thickest line at the bottom
> of the tool palette, then each data point plotted is the average of
> eight pixels.
>
> The *Profile Plot Options* dialog box can be used to vary the way
> profile plots are displayed.
>
> Using the Copy command when the Plot window is the active window will
> copy both the profile plot(as a PICT) and the data values(as a single
> column of text) to the clipboard. Plot values can also be saved to a
> text file using the Export command.
>
> **.i.Surface Plot**
>
> Generates a surface plot of the current selection. The entire image is
> plotted if there is no selection. The plot will be drawn in a new
> window whose size is determined by *New Width* and *New Height* in the
> Preferences dialog box. Use Command-Period to abort plotting. You can
> exaggerate the vertical scale in the plot by increasing the contrast
> of the image before plotting using the controls in the Map window. To
> improve the quality of plots of small selections, use *Scale and
> Rotate* to enlarge the selection before plotting, which will increase
> the number of lines in the plot.
>
> **.i.Options...**
>
> .i.Measurement Options;The Options dialog box allows you to specify
> the measurements that will be recorded by the Measure and *Analyze
> Particles* commands and displayed by *Show Results*. Double-clicking
> on the polygon tool also brings up this dialog box.
>
> ![](media/image11.pct){width="6.527777777777778in"
> height="4.944444444444445in"}
>
> **Area -** Area of selection in pixels. Area will be given in
> calibrated units, such as square millimeters, if you have used *Set
> Scale* to do spatial calibration.
>
> **Mean -** Average gray value of the pixels within the selection.
> Given in calibrated units if you have used the Calibrate command to
> generate a standard curve.
>
> **Standard Deviation -** This is the standard deviation of the gray
> values used to generate the mean gray value.
>
> **X-Y Center** - Center of the best fitting ellipse, measured from
> either the upper left or lower right corner of the image, depending on
> the status of the *Invert Y Coordinates* check box in the Preferences
> dialog box. This option is automatically checked when X-Y coordinate
> values are recorded using the cross hair tool.
>
> **Modal Value -** Most frequently occurring gray value within the
> selection. Corresponds to the highest peak in the histogram.
>
> **Perimeter/Length -** Length around the outside of the selection, or
> line length for line selections. The perimeter is only computed for
> freehand and polygon selections, or when using Analyze Particles. Note
> that the perimeter is computed at the time the outline is created, not
> when you use the Measure command. This option is automatically checked
> when Measuring a line selection.
>
> **Major/Minor Axis -** Lengths of the major and minor axes of the best
> fitting ellipse.
>
> **Angle -** This is the angle between the major axis and a line
> parallel to the x-axis of the image, or it is an angle measured using
> the angle tool. This option is automatically checked when measuring
> angles using the angle tool.
>
> **Integrated Density -** Used to measure the size(volume) of
> spots(such as protein spots on a two-dimensional electrophoresis gel).
> Computed using the following formula:
>
> IntegratedDensity=N \* (Mean - Background)
>
> where N is number of pixels in the selection, and Background is the
> modal gray value(most common pixel value) after smoothing the
> histogram. Note that this formula assumes that the background is
> lighter(has lower pixel values) than the object being measured. The
> background level may be computed incorrectly if there isn\'t a well
> defined peak in the histogram. This can happen if not enough
> background is included within the selection or the background is not
> very uniform.
>
> **Min/Max -** Minimum and maximum gray values within the current
> selection.
>
> **User 1, User 2 -** Add new columns to the results table that can be
> used by user written macros to record and display derived results.
> Several example macros in the file "Measurement Macros" display
> results using *User 1* an *User 2*.
>
> When *Redirect Sampling* is checked, pixel data for calculating the
> mean gray value is taken from a second image. Requires that exactly
> two image windows be open, and that these two images be the same size.
>
> Checking *Label Particles* causes Analyze Particles to draw a number,
> corresponding to the measurement number, on each particle found. Check
> *Outline Particles* if you want particles to be outlined(this
> currently only works for density sliced images). Checking *Ignore
> Particles Touching Edge* causes Analyze Particles to ignore particles
> touching the edge of the image. The Wand tool and the Analyze
> Particles command will include interior holes in area computations if
> *Include Interior Holes* is checked. Set *Min/Max Particle Size* to
> get Analyze Particles to discriminate particles by size.
>
> If *Wand Auto-measure* is checked, the Measure command is
> automatically invoked whenever an object is outlined using the wand
> tool. In addition, if *Label Particles* is checked, the object will be
> numbered. If *Adjust Areas* is checked, and the .i.Wand tool;Wand tool
> is in auto-measure mode, the perimeter is computed and added to the
> area. This is useful when measuring the area under peaks, since adding
> the perimeter corrects for the tendency of the
>
> Wand tool to underestimate the size of small peaks by not counting
> pixels under the boundary.
>
> If *Headings* is checked, column and row headings will be added to
> results Copied to the Clipboard or Exported to a text file.
>
> *Max Measurements* specifies the size of the arrays used to hold
> results produced by the Measurement command, by Analyze Particles, and
> by the angle and cross hair tools. You must Record Preferences, Quit,
> and then restart *Image* before any change you make will take effect.
>
> *Field Width* specifies the column width in characters for results
> displayed in the Results window, Printed, Copied to the Clipboard, or
> Exported. *Digits to the Right of Decimal Point* specifies the number
> of digits that follow the decimal point.
>
> **.i.Set Scale...**
>
> .i.Spatial calibration;Performs spatial calibration so that results
> from length and area measurements are presented in calibrated units,
> such as millimeters. Before setting the scale, use the line tool to
> make a straight line selection that corresponds to known distance.
> Then, bring up the Set Scale dialog box, select a unit of measurement,
> and enter the known distance in *Actual Distance*.
>
> ![](media/image12.pct){width="5.930555555555555in"
> height="3.763888888888889in"}
>
> Setting *Pixel Aspect Ratio* to a value other than 1.0 enables support
> for different horizontal and vertical spatial scales, for example 100
> pixels/cm horizontally and 95 pixels/cm vertically. Before setting the
> aspect ratio, calibrate to a known horizontal distance. Then enter the
> pixel aspect ratio into *Pixel Aspect Ratio*. To find the pixel aspect
> ratio, measure the width and height(in pixels) of a digitized object
> with a known 1:1 aspect ratio. The pixel aspect ratio is computed by
> dividing the width by the height. Note that the dialog box only shows
> the horizontal scale. Divide the horizontal scale by the aspect ratio
> to compute the vertical scale.
>
> Once the scale has been set you can switch to other units of
> measurements, for example from inches to centimeters. If you know what
> the scale for an image is(e.g., 300 DPI), then that
>
> value can be directly entered into *Scale* . Click on *Pixels* to
> disable spatial calibration. Double-clicking on the line selection
> tool will also present the Set Scale dialog box.
>
> Note that *Image* displays a black diamond in the title bar of images
> that are spatially calibrated.
>
> **.i.Calibrate...**
>
> .i.Density calibration;Allows you to calibrate to a set of density
> standards, such as a calibrated optical density step tablet, or
> radioactive isotope standards. Before calibrating, you must measure
> the standards. To do this, first use Reset to set the measurement
> counter to zero. Then use the Measure command to record the mean gray
> value of each of the standards. Note that the standards must be
> measured in order, starting with the lowest gray value(lightest)
> standard. When you have finished making the measurements, select
> Calibrate and enter the actual values into the *Known* column of the
> dialog box.
>
> ![](media/image13.pct){width="6.305555555555555in"
> height="4.708333333333333in"}
>
> .i.Rodbard fit;*Rodbard* is a four parameter general curve fit
> function proposed by David Rodbard at NIH and implemented by Cary
> Mariash at the University of Minnesota. The form of the equation is: y
> = (D) + (A - D)/(1 + (x/C)\^B).
>
> Selecting *Uncalibrated OD* causes *Image* to convert gray values to
> uncalibrated optical density values using the following function:
>
> Uncalibrated OD = log10(255 / (255 - Gray Value))
>
> You do not need to measure OD standards or enter known OD values to
> enable this transformation.
>
> Pressing *Invert OD* performs the following function on the
> entered(known) standards:
>
> Inverted OD = -log10(1.000 - 10\^(-Entered OD))
>
> Optical densities are converted to transmission, subtracted from
> perfect transmission and converted back to OD yielding the reciprocal
> density. This function is of use to those who have a positive set of
> optical density standards but a photographic or other negative image.
> It is also of use to those who quantitate reflected light images but
> wish to specify results in terms of transmitted light. This is often
> the case in anatomical imaging. Entered optical densities must range
> from 0.00001 to 4.62.
>
> The *Save* button allows you to save both measured and known values to
> a text file so they can be restored later using the *Open* button. If
> there are no measured values(count=0), *Open* restores both the
> measured and known values, otherwise, only the known values are
> restored.
>
> If *Copy Function to LUT* is checked then the current calibration
> function will be copied to the video look-up table when you exit this
> dialog box. You can then use Apply LUT to apply the calibration
> function the pixel values. If *Remove Calibration* is checked then the
> spatial calibration, if any, associated with the currently active
> image will be removed.
>
> If you hold down the option key when invoking Calibrate you will be
> allowed to change the measured values. This feature allows you to
> enter measurements acquired previously or acquired from another
> system.
>
> Note that *Image* displays a white diamond in the title bar of images
> that are density calibrated.
>
> .i.
>
> **.i.Redo Measurement**
>
> Allows you to repeat a previous measurement. Simply enter the number
> for the measurement you want to repeat and it will be replaced the
> next time you use the Measure command. Redo only works for
> measurements made using the Measure command, not for angle or XY
> coordinate measurements.
>
> **.i.Delete Measurement**
>
> Deletes the specified measurement and renumbers any subsequent
> measurements.
>
> **.i.Reset**
>
> Resets the measurement counter to zero.
>
> **.i.Restore Selection**
>
> Returns the previous region or line selection to its original position
> immediately after an operation that has removed it. If there is a
> selection currently active, this command restores the previous one.
> Can also be used to transfer a selection from one window to another.
>
> **.i.Label Selection**
>
> Outlines the current selection in white and labels it with the
> measurement count. Can be used to keep track of which objects have
> been measured when doing redirected sampling using the Measure
> Redirected macro.
>
> **.c2.Special; Menu**
>
> **.i.Start Capturing**
>
> Continuously captures TV camera images using either the Data
> Translation DT2255 QuickCapture or the Scion Image Capture 1000 frame
> grabber cards. The command changes to *Stop Capturing* while
> digitizing is in progress. Clicking in the Camera window with any tool
> except the magnifying glass or the grabber will also cause digitizing
> to stop. Newly created Camera windows inherit the gray map(or color
> palette), as well as any spatial or density calibration, of the
> currently active window, if there is one.
>
> When digitizing using the Data Translation card you are allowed to
> change contrast, alter color schemes, zoom, or pan. Also, when using
> the QuickCapture, histograms are continuously computed and displayed
> when you use the Histogram command. Hold down the option key to
> digitize using the whole screen with the Scion card.
>
> **.i.Average Frames**
>
> Averages two or more video frames to reduce time-varying random noise.
> Averaging will be done only for the current rectangular selection, or
> for the entire image if there is no selection.
>
> ![](media/image14.pct){width="3.486111111111111in"
> height="1.6944444444444444in"}
>
> Check *Sum Frames* to do frame summation, rather than frame averaging.
> Frame summing increases image quality and contrast in low light
> situations. Frames are summed using a 16-bit buffer and the resulting
> 16-bit pixel values are linearly scaled to a range of 0 to 255. Note
> that there is a possibility of overflow when averaging more than 128
> frames since frames are summed in a signed integer buffer.
>
> **.i.Save Blank Field**
>
> Use this command to save a median brightness blank field which will be
> used to correct for nonuniform illumination and for the nonuniform
> response of the video camera. Before using this command, you must
> *Start Capturing* and adjust the lens diaphragm and/or lightbox
> intensity so that the average pixel value, as shown by the dynamic
> pixel value displayed in the Values window, is approximately 128.
>
> The *Stop Capturing* command will use the reference image previously
> acquired by *Save Blank Field* to correct shading errors in the newly
> acquired image. It does this by dividing each pixel in the newly
> acquired image by a correction factor computed for each of the 300,000
> pixels in the blank field. This correction factor is generated by
> dividing each gray value in the blank field by the mean gray value.
>
> You can digitize a single frame without shading correction by holding
> down the Option key while selecting *Stop Capturing*. Close the "Blank
> Field" window if you want to stop doing shading correction.
>
> **.i.Video Options...**
>
> Displays a dialog box, shown below, that allows you to alter the
> behavior of the *Start Capturing*, *Average Frames*, *Make Movie* and
> *Animate* commands.
>
> ![](media/image15.pct){width="3.7916666666666665in"
> height="3.4305555555555554in"}
>
> Images acquired using a frame grabber card will be inverted if
> .i.*Invert Video Input* ;is checked.
>
> Checking *Highlight Saturated Pixels* enables a feature that, during
> live capture, causes all pixels that over saturate the camera(are too
> bright) to be displayed in green and all pixels that under saturate
> the camera(are too dark) to be displayed in red.
>
> Check *Oscillating Movies* if you want movies to run in a reversing
> mode(1234321234), as opposed to the default wrap-around
> mode(123412341234).
>
> *Use* .i.*External Trigger* ;enables support for the external trigger
> feature of the Data Translation QuickCapture card when using the Start
> Capturing, Average Frames or Make Movie commands. External trigger
> events are signaled by a 5 volt falling TTL edge on input line 7 of
> the QuickCapture cable.
>
> Checking *"Blind" Movie Capture* disables screen updates when using
> the Make Movie command, allowing faster frame capture rates.
>
> *Input Channel* allows you to specify which of four input channels is
> used by the QuickCapture or Scion frame grabber cards. The input
> channels for both cards are numbered from 0 to 3.
>
> *Scion Window Width* ;allows you to change the width of the window
> used for acquiring images when using the Scion frame grabber. This
> value may need to be reduced to get the Scion card to work properly
> with some video cards.
>
> **.i.Photo Mode**
>
> Erases the entire screen to the current background color and then
> redraws the current image window without the menu bar, title bar, tool
> palette, etc. You can change the background color by selecting the
> eraser tool and clicking in the LUT window. Holding down the Option
> key
>
> while selection this command will cause the image to be drawn starting
> at the top of the screen using the space formally occupied by the Menu
> Bar.
>
> **.i.Load Macros...**
>
> .i.Macros;Opens a text file, which should contain a set of macros
> written in Image\'s Pascal-like macro programming language. Each macro
> in the text file causes a new command to be inserted at the bottom of
> the Special Menu. Macros may be assigned to any key, including the
> function keys on the extended keyboard. For example, a macro named
> "Test Macro \[T\]" would be assigned to the T key, and one named
> "Another Macro \[F1\]" would be assigned to the F1 function key. In
> both cases, it is not necessary to hold down the command key. Macros
> can usually be aborted by pressing command-period. When launched,
> *Image* automatically loads the macros contained in the file named
> "Image Macros", as long as this file is in the same folder as *Image*,
> or in the System Folder.
>
> Example macros for performing the following functions, and many
> others, are distributed with Image: plotting gel lanes; .i.Arrow
> heads, drawing;drawing arrows; .i.Sine wave, generating;generating a
> sine wave; .i.Grayscale step function;creating a grayscale step
> function; creating a montage; printing all currently open images;
> generating bas-reliefs; clearing outside of the current selection;
> ;plotting XYZ coordinate data; Importing .i.FITS ;files; recovering
> X-Y coordinate data from line plots; and generating an .i.ASCII dump;.
>
> The macro programming language is documented in Appendix A.
>
> **.c2.Stacks; Menu**
>
> The commands in this menu create or operate on stacks, which are three
> dimensional images consisting of two or more "slices". The slices in a
> stack can be consecutive serial sections in a 3D data set, frames in a
> movie loop, or any related set of images. The \< and \> keys are used
> to move through the slices in a stack. The current slice and total
> number of slices are displayed in parentheses in the title bar. Stacks
> are displayed in a single window and can be saved to a single disk
> file using the Save or Save As commands. Most commands in *Image*,
> with the exception of Save, Save As, and Open, operate only on the
> current slice. Several example macros(in the file "Stacks") are
> available that operate on all the slices in a stack
>
> **.i.Window to Stack**
>
> Converts the set of images currently being displayed in separate
> windows to a stack. The images must all be the same size. A macro,
> also called "Window to Stack, is available that works with windows
> that are not all the same size.
>
> **.i.Stack to Windows**
>
> Converts the currently active stack to windows. A stack with 20 slices
> would be converted to 20 normal image windows.
>
> **.i.Add Slice**
>
> Adds a new blank slice to the stack following the currently displayed
> slice.
>
> **.i.Delete Slice**
>
> Deletes the currently displayed slice. Undo will restore the last
> slice deleted.
>
> **.i.Next Slice**
>
> Displays the slice following the currently displayed slice. Note that
> is not necessary to hold
>
> down the command key to use the keyboard shortcut, i.e., you only need
> to press the \> key. You can also use the Page Down key.
>
> **.i.Last Slice**
>
> Displays the slice before the currently displayed slice. As a
> shortcut, use the \< or Page Up keys.
>
> **.i.Make Movie...**
>
> Captures a series of video frames into a stack. *Image* will create a
> stack the same width and height as the current selection and large
> enough to hold the number of frames specified. You will be asked to
> enter the time to delay between frames. Entering zero will result in
> the fastest possible sampling rate. As shown in the table below, the
> delay time is the inverse of frames per second. For example, if you
> want to capture at the rate of two frames per second you would enter a
> delay of .5. After *Image* has completed recording the movie it will
> compute the actual frame rate and display it in the Values window. If
> the computed rate is not the same as the desired rate then the frames
> were probably captured at uneven intervals. If an even sampling rate
> is required then you should either specify a slower rate, or make a
> smaller selection. Use command-period to abort the movie making
> process.
>
> **Time Delay Frames/Sec Maximum Size**
>
> .067 15 128 X 128
>
> .1 10 200 X 200
>
> .133 7.5 300 X 300
>
> .2 5 400 X 400
>
> .333 3 640 X 480
>
> .5 2 640 X 480
>
> **.i.Capture Frames**
>
> Captures a frame and adds it to a stack each time the mouse button is
> pressed. Press any key to stop capturing frames.
>
> **.i.Animate**
>
> Animates the current stack by repeatedly displaying its slices(frames)
> in sequence. If you hold the Option key down, the screen will be
> erased to the current background color before the animation starts.
> The animation speed can be controlled by pressing keys \'1\' through
> \'9\'. The right and left arrow keys can be used to single step
> through the slices. Press the mouse button to stop the animation.
> Check *Oscillating Movies* in the Preferences dialog box to get
> *Image* to automatically reverse direction at the beginning end of the
> frame sequence.
>
> **.i.Project...;**
>
> .i.Volume rendering;.i.3D reconstruction;Generates an animation
> sequence by projecting a rotating 3D data set onto a plane. Each frame
> in the animation sequence is the result of projecting from a different
> viewing angle. To visualize this, imagine a field of parallel rays
> passing through a volume containing one or more solid objects and
> striking a screen oriented normal to the directions of the rays. Each
> ray projects a value onto the screen, or projection plane, based on
> the values of points along its path. Three methods are available for
> calculating the projections onto this plane: nearest-point,
> brightest-point, and mean-value. The choice of projection method and
> the settings of various visualization parameters determine how both
> surface and interior structures will appear. This routine was written
> by Michael Castle (email: mike.castle@med.umich.edu) and Janice Keller
> of the University of Michigan Mental Health Research Institute (MHRI).
>
> ![](media/image16.pct){width="4.597222222222222in"
> height="5.361111111111111in"}
>
> *Distance Between Slices* is the interval, in pixels, between the
> slices that make up the volume. *Image* projects the volume onto the
> viewing plane at each *Rotation Angle Increment*, beginning with the
> volume rotated by *Initial Angle* and ending once the volume has been
> rotated by *Total Rotation.*
>
> The *Lower and Upper Transparency Bound* parameters determine the
> transparency of structures in the volume. Projection calculations
> disregard points having values less than the lower threshold or
> greater than the upper threshold. Setting these thresholds permits
> making background points (those not belonging to any structure)
> invisible. Be setting appropriate thresholds, you can strip away
> layers having reasonably uniform and unique intensity values
>
> and highlight (or make invisible) inner structures. Note that you can
> use density slicing to set the transparency bounds.
>
> Sometimes, the location of structures with respect to other structures
> in a volume is not clear. The *Surface Opacity* parameter permits the
> display of weighted combinations of nearest-point projection with
> either of the other two methods, often giving the observer the ability
> to view inner structures through translucent outer surfaces. To enable
> this feature, set *Surface Opacity* to a value greater than zero and
> select either *Mean Value* or *Brightest Point* projection.
>
> Depth cues can contribute to the three-dimensional quality of
> projection images by giving perspective to projected structures.The
> depth-cueing parameters determine whether projected points originating
> near the viewer appear brightest, while points further away are dimmed
> linearly with distance. The trade-off for this increased realism is
> that data points shown in a depth-cued image no longer possess
> accurate densitometric values. Two kinds of depth-cueing are
> available: *Surface Depth-Cueing* and *Interior Depth-Cueing*.
> *Surface Depth-Cueing* works only on nearest-point projections and the
> nearest-point component of other projections with opacity turned on.
> *Interior Depth-Cueing* works only on brightest-point projections. For
> both kinds, depth-cueing is turned off when set to zero (i.e. 100% of
> intensity in back to 100% of intensity in front) and is on when set at
> 0\<n≤100 (i.e. (100-n)% of intensity in back to 100% intensity in
> front). Having independent depth-cueing for surface (nearest-point)
> and interior (brightest-point) allows for more visualization
> possibilities.
>
> The *Minimize Window Size* option allows you to save memory by making
> projection windows as small as possible given the size of the volume
> and the axis of rotation. If this box is not checked, then projection
> windows for a given set of slices will be the same size regardless of
> the axis of rotation (convenient for animations using multiple axes of
> rotation).
>
> Select *Nearest Point* projection to produce an image of the surfaces
> visible from the current viewing angle. At each point in the
> projection plane, a ray passes normal to the plane through the volume.
> The value of the nearest nontransparent point which the ray encounters
> is stored in the projection image. *Brightest Point* projection
> examines points along the rays, projecting the brightest point
> encountered along each ray. This will display the brightest objects,
> such as bone in a CT (computed tomographic) study. *Mean Value*
> projection, a modification of brightest-point projection, sums the
> values of all transparent points along each ray and projects their
> mean value. It produces images with softer edges and lower contrast,
> but can be useful when attempting to visualize objects contained
> within a structure of greater brightness(e.g. a skull).
>
> Several macros(in the file "Stacks") are available for performing
> various operations on the slices making up a volume prior to using the
> Project command. Use "Smooth" to reduce noise in a volume. Since the
> projection routine assumes volumes contain one or more objects within
> a black background, use "Invert" to invert volumes with a white
> background. For low contrast volumes, increase the contrast using the
> controls in the Map window and then apply the look-up table to the
> volume using the "Apply LUT" macro. The "Remove 0 and 255" macro
> changes pixel values of 0 and 255 to 1 and 254 respectively. This is
> sometimes useful when pseudocoloring projections. Use "Replicate
> Slices" to eliminate the gaps seen in projections of volumes with a
> slice interval greater than one by increasing the number of slices.
> The "Make Cone" macro creates a 643 volume containing a cone with two
> rods inside that is very useful for understanding the effect of
> various projection parameters.
>
> **Reslice**
>
> Reconstructs a 2D image from the image volume contained in the current
> stack. Use the straight line selection tool to select were the
> reconstruction will be done. You will be prompted for the slice
> spacing(displacement between slices in the stack) in pixels if this
> information has not been previously entered. To try out the Reslice
> command, a sample MRI volume consisting of 27 5mm slices is available
> via anonymous ftp from alw.nih.gov, in the directory /pub/image/image.
> Two macros are available(in the file "Stacks") for repetitive
> reslicing of image volumes, for example, to generate a set of coronal
> slices from an MRI volume consisting of sagittal slices.
>
> **Options**
>
> Allows you to change the slice spacing parameter, which is used by the
> Project and Reslice commands.
>
> **.c2.Windows; Menu**
>
> **.i.Next Window**
>
> Deactivates the current image window and activates the next window in
> the list of window shown in the Windows Menu.
>
> **.i.Stack Windows**
>
> Expands all the image windows to their original size and redraws them
> slightly offset from each other. If you hold down the Option key, all
> windows will be drawn in the same location, at the upper left corner
> of the screen, next to the tool palette.
>
> **.i.Tile Windows**
>
> Contracts all the images windows and repositions them so that they
> will fit on the screen without overlapping. If you hold the Option key
> down the tiled windows will be drawn using "Scale to Fit" mode. Click
> on the Zoom Box of a tiled window to expand it to fill the screen.
>
> **.c.Tools;**
>
> The window containing the tool palette, as well as all the other
> windows displayed by *Image(*with the exception of the Scion Camera
> window), can be freely moved around the screen. All the tools work
> with images at any of the eight available levels of
> magnification..i.Tool palette;
>
> ![](media/image17.pct){width="4.625in" height="4.444444444444445in"}
>
> ![](media/image18.pct){width="0.375in" height="0.2777777777777778in"}
>
> .i.Magnifying Glass;.i.Zooming;**Magnifying Glass** - Click within the
> active image window to zoom. Double-click on the magnifying glass to
> unzoom. Option-click(or use Undo) within the image window to unzoom in
> steps. Notice how the plus sign changes to a minus sign when you hold
> the option key down. Eight magnification levels are available: 1:1,
> 2:1, 3:1, 4:1, 8:1, 16:1, 32:1, and 64:1.
>
> ![](media/image19.pct){width="0.3472222222222222in"
> height="0.2777777777777778in"}
>
> .i.Hand(scrolling) tool;**Scrolling Tool(Grabber)** - Moves images
> within windows. When using other tools, with the exception of the text
> tool, you can temporarily switch to the grabber by holding down the
> space bar.
>
> ![](media/image20.pct){width="0.3333333333333333in"
> height="0.3055555555555556in"}
>
> .i.Selection tools;**Selection Rectangle** - Use this tool to specify
> a rectangular subregion for use by commands in the Edit, Functions and
> Analysis menus. Rectangular selections can be Saved, Copied, Cleared,
> Filled, Duplicated, Scaled, Flipped, Rotated, Inverted, filtered, or
> Measured. Hold down the Shift key to constrain the selection to be
> square. Double-click to select the entire image. As the rectangle is
> being drawn, its width and height are shown in the Values window.
>
> ![](media/image21.pct){width="0.8472222222222222in"
> height="0.2777777777777778in"}
>
> **Oval, Polygon, Freehand** - These are outlining tools for defining
> non-rectangular subregions for use by various commands in the Edit,
> Functions and Analysis menus. Regions defined by these tools, along
> with the rectangle tool, can be Copied, Filled, Cleared, Inverted,
> Framed, filtered, or Measured. The Fill command allows you to change
> colors after a region has been filled by clicking in the LUT window.
> Similarly, Draw Boundary allows you to change the line width by
> clicking on the lines in the Tools window. Double-click on the polygon
> tool to bring up the Measurement Options dialog box. Use the arrow
> keys to "nudge" selections one pixel at a time.
>
> Selections can be edited by holding down the Control key to add a new
> selection to an existing selection or the Option key to subtract a new
> selection from the existing selection.When using the polygon or
> freehand tools you can use the shift key to add to the current
> selection.
>
> ![](media/image22.pct){width="0.9722222222222222in"
> height="0.2777777777777778in"}
>
> **Line Selection Tools -** Use these tools to create straight,
> freehand or segmented line selections. A pop-up menu(note the tiny
> arrow) is used to specify the line type. The pop-up menu is accessed
> by clicking on the tool icon and holding the mouse button down for at
> least 1/2 second. Once you have created a line selection, you can
> measure its length using the Measure command, draw the line using the
> Fill command, and outline the line(assuming line width is greater than
> one) using the Draw Boundary command. With straight lines only, you
> can also generate density profile plots using the Plot Profile
> command, and dynamically vary the line width by clicking on the lines
> at the bottom of the tool palette.
>
> Freehand line selections are created in the same way as freehand
> region selections, except they are not required to be closed.
> Segmented line selections are created using a technique similar to the
> way polygon region selection are made, using a double-click to
> terminate the line.
>
> Line width is specified by clicking on the lines at the bottom of the
> Tools window. Straight lines can be constrained to be either vertical
> or horizontal by holding down the Shift key. Line lengths recorded
> using the Measure command are given in pixels unless Set Scale has
> been used to perform spatial calibration. Use Command-F(Fill) and
> Command-1(Measure) to both draw and measure the length of a line
> selection. Use Show Results to display length measurements.
> Option-click with the text tool to label lines with the measured
> length. Double-click on the line selection tool to bring up the Set
> Scale dialog box.
>
> Line selection can be moved in the same way as region of interest
> selections by clicking inside the "marching ants" and dragging,
> although this has to be done carefully for one pixel wide lines. Lines
> selections can also be moved a pixel at a time using the arrow keys.
> Straight line selections have three handles drawn as small squares.
> The two at either end swing and stretch the line and the one in the
> center can be used to move the selection without changing its
> orientation.
>
> Line selections can be edited in the same way as region selections by
> holding down the Control key to add a new selection or the Option key
> to subtract a new selection. Line selections, however, cannot be added
> or subtracted from previous selections. Once they have been edited,
> line selections revert to ordinary region of interest selections.
>
> ![](media/image23.pct){width="0.2361111111111111in"
> height="0.2777777777777778in"}
>
> .i.Pencil tool;**Pencil** - Draws thin lines using the current
> foreground color. Option-click to pick up the color under the pencil.
> It is not necessary to hold down the Option key to pick up colors from
> the LUT window. Holding down the Shift key causes pencil movements to
> be constrained to be either horizontal or vertical.
>
> ![](media/image24.pct){width="0.3055555555555556in"
> height="0.2777777777777778in"}
>
> .i.**Eraser** ;- Erases to the current .i.Background color;background
> color. Option-click to pick up background colors from within the image
> window. The eraser can also pick up background colors from the LUT
> window. Holding down the Shift key causes eraser movements to be
> constrained to be either horizontal or vertical. The color of the
> eraser indicates the current background color. The background color is
> used by the Cut and Clear commands and as the background color for
> text. Double-click on the eraser to erase the active image window.
>
> ![](media/image25.pct){width="0.2638888888888889in"
> height="0.3194444444444444in"}
>
> .i.Brush tool;**Paint Brush** - Draws in the current foreground color.
> Option-click to pick up the color under the brush. It is not necessary
> to hold down the Option key to pick up colors from the LUT window. The
> color of the brush indicates the current foreground color.
> Double-click on the brush to change its size. Holding down the Shift
> key causes brush movements to be constrained to be either horizontal
> or vertical.
>
> ![](media/image26.pct){width="0.2638888888888889in"
> height="0.2777777777777778in"}
>
> .i.**LUT Tool** ;- This tool is used to dynamically modify color
> look-up tables by clicking and dragging in the LUT window. It is also
> used to manipulate the density slice when density slicing is enabled.
> Double-click on this tool to enable/disable density slicing.
>
> ![](media/image27.pct){width="0.2638888888888889in"
> height="0.2916666666666667in"}
>
> .i.Airbrush;**Airbrush Tool** - Double-click to change the brush
> diameter.
>
> ![](media/image28.pct){width="0.3055555555555556in" height="0.25in"}
>
> .i.**Line Drawing Tool**
>
> Draws straight lines using the current foreground color. Line width is
> specified by clicking on the lines at the bottom of the Tools window.
> Lines can be constrained to be either vertical or horizontal by
> holding down the Shift key.
>
> ![](media/image29.pct){width="0.2916666666666667in"
> height="0.2638888888888889in"}
>
> .i.Wand tool;**Automatic Outlining Tool (Wand)**
>
> Traces the edge of a binary, density sliced, or thresholded object
> and, optionally, measures and/or numbers it, producing a standard
> *Image* outline in the process. To outline an object, click inside
> near the right edge, or outside to the left of the object. Imagine a
> turtle that starts moving to the right from where you click looking
> for a binary edge. Once it finds an edge, it will trace it in a
> counter clock-wise direction until it returns to the point where it
> first found the edge.
>
> Selections created with the wand tool are added to any existing
> selection if either the Shift or Control keys are held down and
> subtracted from any existing selection if the Option key is held down.
>
> You can specify that the objects be automatically measured by checking
> *Wand Auto-Measure* in the Analyze/Options dialog box. Objects that
> have been measured will also be numbered if *Label Particles* is
> checked. The numbers correspond to measurement numbers. Undo can be
> used to remove the most recent number, along with the corresponding
> measurement.
>
> ![](media/image30.pct){width="0.2916666666666667in"
> height="0.2638888888888889in"}
>
> .i.**Density Profile Tool**
>
> .i.Profile plotting tool;Displays a plot of the gray values along an
> arbitrary line. You generate this line in the same way you use the
> line drawing tool to draw lines. Hold down the option key if you want
> the line drawn for reference purposes. Averaging will be performed if
> the line width is greater
>
> than one. For example, assume the maximum line width is selected by
> clicking on the thickest line at the bottom of the tool palette, then
> each data point plotted is the average of eight pixels. The Plot
> window, unlike the Histogram window, my be resized. Lines can be
> constrained to horizontal or vertical be holding down the Shift key.
>
> Plots can be copied to the Clipboard and then pasted into a picture
> window. In addition to the plot, the Copy command also copies the plot
> data to the Clipboard as a single column of numbers, where they can be
> pasted into analysis and plotting programs, such as KaleidaGraph.
> Profile plot data values can also be saved to a file using the Export
> command.
>
> Various aspects of the plots produced by this tool can be altered
> using the Profile Plot Options dialog box. For a shortcut,
> double-click on this tool to bring up the dialog box.
>
> ![](media/image31.pct){width="0.2638888888888889in"
> height="0.2777777777777778in"}
>
> .i.**Paint Bucket**
>
> This is a MacPaint-like Paint Bucket. It causes all pixels located
> where paint can leak from the starting point(the end of the paint
> coming from the bucket) to be changed to the foreground color. In
> conjunction with density slicing, it can be used for measuring areas
> under profile plots. Profile plots must first be pasted into an image
> window before they can be filled using the Paint Bucket.
>
> ![](media/image32.pct){width="0.3194444444444444in"
> height="0.2916666666666667in"}
>
> .i.**Text Tool**
>
> This tool allows text to be added to an image in a Font and Style
> chosen from submenus in the Options menu. Various attributes of the
> text, such as font, size and color, can be changed after the text has
> been entered, but once another tool has been chosen, or you have typed
> Return, the text becomes part of the image\'s bitmap.
>
> Hold down the option key and the text tool will automatically type for
> you the most recent length, angle, or area measurement. Repeated
> option-clicking will enter previous readings, starting with the most
> recent one. Selecting Show Results resets the pointer, allowing you to
> type a set of measurements a second time.
>
> ![](media/image33.pct){width="0.2638888888888889in"
> height="0.2777777777777778in"}
>
> .i.Eyedropper tool;**Eyedropper** - Picks up colors from the active
> picture window and from the LUT window. Option-click to pick up
> background colors. If you are using .i.Pseudocolor;pseudocolor,
> double-clicking on a color in the LUT window causes the Color Picker
> dialog box to be displayed, allowing you to modify that color.
> Double-clicking in the LUT window also allows you to change the
> density slice color when *Image* is in the density slicing mode. Pixel
> values are displayed as .i.RGB ;components when the eyedropper tool is
> in use.
>
> ![](media/image34.pct){width="0.3888888888888889in"
> height="0.2361111111111111in"}
>
> .i.**Angle Tool** ;- Measures the angle formed by two lines drawn
> through a point by this tool. The angle is shown interactively in the
> Values window. Undo can be used to delete the lines if they are not
> wanted. Use Show Results to display a set of angle measurements.
>
> ![](media/image35.pct){width="0.2777777777777778in"
> height="0.2916666666666667in"}
>
> .i.**Cross Hair Tool** ;- Counts objects and records their X-Y
> coordinates, leaving markers so that objects are not counted twice.
> Markers are drawn in the current foreground color and their size is
> related to the current line width. Hold the Option key down to label
> using the current measurement count instead of round marker.
> Alternately, hold the command key down to displays the X-Y
> coordinates. Use submenus in the Options menu to vary font, size, etc.
>
> Use Show Results to display the X-Y coordinates.
>
> ![](media/image36.pct){width="0.6111111111111112in" height="0.75in"}
>
> .i.Line widths;**Line Width** - Allows you to choose the line width
> used by the line selection tool, the line drawing tool, the profile
> ploting tool, or the Draw Boundary command. The lines are 1, 2, 3, 4,
> 6, or 8 pixels in width. Line widths greater than eight can be
> specified in the Profile Plot
>
> dialog box.
>
> **.c.Windows;**
>
> **Image Windows**
>
> ![](media/image37.pct){width="6.0in" height="2.1944444444444446in"}
>
> Images are displayed within image windows, such as the one above,
> created using New, Open, Import, or Duplicate. The size of windows
> created using the New command can be specified in the Preferences
> dialog box. The Close Box closes the window and frees the memory used
> to store the image. Hold down the option key when clicking in the
> close box to close all image windows.
>
> The Zoom Box switches the window to "Scale to Fit Window" mode and
> resizes the window to make it as large as possible, while still
> maintaining the same aspect ratio. You can restore the window to its
> original size by clicking again in the Zoom Box, or by using Unzoom.
> Note that the .i.Magnifying Glass;magnifying Glass and the Grabber
> tools do not work in Scale to Fit mode.
>
> The .i.Grow Box; is used for resizing the window. If you are in the
> Scale to Fit mode the image will be rescaled to fit any resized
> window. You can use the Grow Box to make the window larger than its
> original size if you have zoomed in using the magnifying glass.
>
> .c2..i.Map.
>
> A black diamond is displayed in the title bar of spatially calibrated
> images and a white diamond is displayed if the image is density
> calibrated.
>
> **Map**
>
> ![](media/image38.pct){width="5.944444444444445in"
> height="2.3194444444444446in"}
>
> .i.Brightness, adjusting;.i.Contrast, adjusting;The Map window is used
> to vary brightness and contrast by loading different functions into
> the video look-up table. To vary brightness, click and drag inside the
> frame, which moves the plot(a piece-wise linear density transformation
> function) horizontally. This changes the Y-intercept of the function
> while maintaining the slope fixed. To change contrast, click and drag
> in the margin to move the two points which define the function. A good
> strategy for improving the contrast of grayscale image is to
> click(outside the frame) in the lower left hand corner, than drag
> horizontally to the right until the image starts to saturate.
> Similarly, click in the upper right hand corner, and drag horizontally
> to the left.
>
> **.c2..i.Histogram**
>
> ![](media/image39.pct){width="3.7083333333333335in"
> height="2.111111111111111in"}
>
> This window displays the gray value histogram produced by the Show
> Histogram command. This function shows, for each of the 256 possible
> gray values, the number of pixels within the selection that have that
> gray value. The actual histogram values are dynamically displayed in
> the Values window whenever the cursor is over the histogram window.
> Both the histogram plot and the 256 data values can be copied to the
> clipboard (using Copy) whenever the histogram window is active. The
> data values can also be saved to a text file using the Export command.
>
> Another way to display histograms is to use the macro distributed with
> *Image* that displays histograms in grayscale or color, where each of
> the 256 columns is drawn in the grayscale or color that that column
> represents.
>
> **.c2.LUT**
>
> ![](media/image40.pct){width="3.4305555555555554in"
> height="0.6944444444444444in"}
>
> This window displays the contents of the video .i.Look-Up Table(LUT);,
> which is used to transform each of the 256 possible pixels values into
> one of 16 million possible screen colors.
>
> Click in the LUT window with any of the drawing tools to pick up a new
> drawing (foreground) color. Click in the LUT window with the eraser,
> or Option-click with any other tool, to pick up a new background
> color. The Save As command can be used to save look-up tables
> separately from images.
>
> With the LUT tool(the one with double-headed arrow), click and drag
> near the top or bottom of a color table to stretch it. Click and drag
> near the center to move it up or down. To edit a color in a color
> table, double-click on it with the eyedropper tool. All 256 entries in
> the LUT can be rotated by clicking and dragging with the option key
> held down.
>
> **.i..c2.Paste Control**
>
> ![](media/image41.pct){width="2.861111111111111in"
> height="1.5416666666666667in"}
>
> The .i.Paste ;Control window allows you to control how image
> selections are pasted, or to do image arithmetic on pasted images. It
> is only effective during paste operations. The pop-up menu is used to
> select the transfer mode(Copy, .i.And;, .i.Or;, .i.Xor;, .i.Replace;,
> or .i.Blend;) used for the paste operation. The Paste Control window
> is activated by selecting Paste Control from the Windows menu, or by
> typing Command-Y.
>
> In the Copy mode, pasting occurs normally. When And, Or, or Replace
> are selected, the selection is copied to the screen using "And", "Or",
> or "Replace with Transparency" modes, respectively, allowing you to
> see both the object being pasted and the underlying image. This can be
> used to align two images, but works best if one of the image is first
> converted to binary using the Make Binary, Trace Edges, or Dither
> commands.
>
> The foreground color is initially set to black and the background
> color to white whenever And, Or, or Replace are selected, but you are
> can vary the foreground and background colors during the paste
> operation by clicking(or Option-clicking) in the LUT window. This will
> produce some interesting, and possibly useful, effects. Or mode can be
> used to color objects in binary images created by *Image* or programs
> such as by SuperPaint and MacDraw. Simply select the object you want
> to color, Copy, switch to Or mode, then select a color by clicking in
> the LUT window.
>
> Replace mode replaces the destination pixel with the source pixel if
> the source pixel isn\'t equal to white. Replace mode is useful for
> overlaying colored objects with white backgrounds(e.g.
>
> text or plots) onto another image.
>
> In the Blend mode, destination pixels are replaced with the arithmetic
> average of source and destination pixels. It is similar to an Add
> operation with Scale Image Arithmetic checked in Preferences. Blend
> mode, however, works with true color images, and does not terminate
> the paste operation. Color images to be blended must have the same
> color palette.
>
> Clicking on .i.*Add*;, .i.*Subtract*;, .i.*Multiply*;, or .i.*Divide*
> ;causes the specified image arithmetic operation to be performed and
> terminates the paste operation. For example, clicking *Subtract* will
> subtract the selection being pasted from the current window.
> Arithmetic operations are done in two passes if *Scale Math* is
> checked. In the first pass, *Image* determines the minimum and maximum
> gray levels that would result from performing the operation. In the
> second pass, the image arithmetic is actually performed and the
> resulting pixel values scaled to the range of 0 to 255. Results are
> clipped to 0 and 255 if *Scale Math* is not checked. Arithmetic
> operations are always done on raw pixel values, ignoring any density
> calibration that may be in effect.
>
> Subtraction is probably the most useful arithmetic operation. It can
> be used to subtract the background(the image with features of interest
> removed from view) from an image. It can also be used to detect
> differences between two images or for motion analysis.
>
> Selecting .i.*Live Paste* ;causes the currently pasted selection to
> use "live" TV camera input. The selection must have been copied from
> the Camera window and pasted into some other window. *Live Paste*
> currently only works with the Data Translation frame grabber card.
>
> The arrow keys can be used to.i.Nudging a selection; nudge the
> selection currently being pasted in any of four direction by a single
> pixel. You can get interesting effects, including an embossed look
> similar to a bas-relief, by using the arrow keys to offset an image by
> one pixel, and then subtracting it from itself. To see how this works,
> try Select All(Command-A), Copy(Command-C), Paste(Command-V), Down
> Arrow, Right Arrow, and Subtract.
>
> **.c2.Plot**
>
> ![](media/image42.pct){width="4.652777777777778in"
> height="2.5833333333333335in"}
>
> The .i.Plot window; is created, or updated, by the .i.Density Profile
> Tool;density profile tool, by the PPPlot Profile ;command, or by the
> .i.Calibrate ;command. The plot can be made larger(or smaller) by
> resizing the Plot window using the .i.Grow Box; in the lower right
> corner. The Plot window must be the currently active window in order
> to Print or Copy the current plot . To activate it, click on it or
> select Plot from the Windows menu. When active, the Plot window's
> title bar will be highlighted(as show above), and Plot will be checked
> in the Windows menu.
>
> The current plot can be copied to the Clipboard using the Copy
> command. Once on the Clipboard, the plot can be pasted into an image
> window, or into another application. The plot is copied to the
> Clipboard in both graphic and text formats. The Graphic form will be
> used if you paste the plot into a program that deals primarily with
> graphics, such as MacDraw. The text form(i.e., the *N* pixel values)
> will be used if you paste into a program that is text oriented, such
> as Excel.
>
> *N* refers to the number of pixel values being plotted. For plots
> created using the Plot Profile command, *N* is equal to the width of
> the selection. For plots generated by the density profile tool, *N* is
> the greater of DX and DY(as displayed in the Values window as the line
> is drawn) plus the line width. *Mean* is the mean of the *N* gray
> values. The word *Calibrated,* with the unit of measurement in
> parenthesis, is displayed if the image has been calibrated to density
> standards using the Calibrate command, otherwise *Uncalibrated* is
> displayed.
>
> Whenever the cursor is over the Plot window, X(the pixel number) and
> Y(the pixel value) coordinate values are continuously displayed in the
> Values window. In the case of calibration plots, X is the uncalibrated
> pixel value(in the range 0-255) and Y is the calibrated value.
>
> Several aspects of profile plots, such as y-axis scaling and plot
> size, can be changed using the .i.Profile Plot Options; command.
>
> **.c2.Values**
>
> ![](media/image43.pct){width="2.986111111111111in"
> height="2.7916666666666665in"}
>
> The values displayed at top of the Values window are dynamically
> updated variables that have different meanings depending on which
> window the cursor is in. .i.Values Window;
>
> **Image Window -** **X** and **Y** are the current cursor coordinates,
> where the origin is at the lower left-hand corner and positive X is to
> the right and positive Y is up. (Note, you can change the origin to
> the upper left in Preferences.) Value is the gray value of the pixel
> at the current X-Y coordinates. The range of values is from 0(white)
> to 255(black). In the case of color images, Value is the index used by
> the color look-up table.
>
> **LUT Window -** Index is the look-up table index at the cursor
> location. .i.RGB ;are the associated red, green, and blue brightness
> values in the look-up table. You can use this information to set the
> foreground or background grayscale, or color, to a specific grayscale
> value or index.
>
> **Map Window -** X and Y display the X-Y coordinates of the gray map
> control point you are currently changing by dragging the mouse. To
> change one of the two control points you click and drag near the
> border of the gray map.
>
> **Histogram Window -** X is the current X-axis(grayscale) value, Y is
> the number of pixels in the selection which have that value.
>
> **Plot Window -** X is the cursor x-coordinate. Y is the corresponding
> plot y value.
>
> **.c.**
>
> **Techniques**
>
> **.c2.Analyzing Electrophoretic Gels**
>
> Here is one possible procedure for using *Image* to analyze a one
> dimensional electrophoretic gel such as the one shown below. This
> procedure also demonstrates some of the less obvious features in
> *Image,* and also illustrates a few shortcuts. Note that to make
> precise measurements it is usually necessary to calibrate to standards
> included in the gel or to calibrate using a calibrated optical density
> step tablet.
>
> ![](media/image44.pct){width="6.458333333333333in"
> height="1.8888888888888888in"}
>
> 1\) If the *Setup to Plot Gel* and *Plot Lane* commands are not shown
> in the Special menu then use *Load Macros* to open the macros
> contained in the file *Gel Plotting Macros*.
>
> 2\) Close all image windows except for the gel to be analyzed.
>
> 3\) Use the rectangular selection tool to outline the first lane.
>
> 4\) Select *Setup to Plot Gel* in the Special menu.
>
> 5\) Move the rectangular selection(by clicking inside it and dragging)
> and plot(using *Plot Lane*) each of the lanes in succession.
>
> 6\) Use the line drawing tool to draw base lines and drop lines so
> that each peak defines a closed area as shown above. Note that you can
> hold the Shift key down to constrain lines to be vertical.
>
> 7\) Measure the areas of the peaks by clicking inside each one in
> succession with the wand tool.
>
> 8\) Option-click with the text tool to automatically label the peaks,
> in reverse order, with the area measurements. The measurements are
> also recorded in tabular form, and can, using *Show Results,* be
> printed or exported to a spreadsheet.
>
> *Setup to Plot Gel* may fail if it tries to create a plot window that
> is larger than the Undo buffer. If this happens, you will need to
> increase *Undo & Clipboard Buffer Size* in Preferences, *Record
> Preferences*, and restart *Image*. The needed size is equal to (*New
> Height* \* *New Width*) / 1024, where the values for *New Height* and
> *New Width* are shown at the top of the Preferences dialog box.
>
> Note that *Setup to Plot Gel* changes several of the settings in the
> Analysis/Options dialog box. It enables *Wand Auto-Measure.* It
> disables *Label Particles;* otherwise peaks would be automatically
> numbered. It enables *Include Interior Holes*. If this were not done,
> the Wand tool
>
> would measure zero area. It enables *Adjust Areas*. This compensates
> for the tendency of the Wand tool to underestimate the size of small
> peaks by computing the perimeter and adding it to the area. The size
> of small peaks is underestimated because some of the actual peak area
> is represented on the screen by the pixels which define the boundary,
> and, on small peaks, the ratio of boundary pixels to interior pixels
> is higher.
>
> **.c2.Using Selections**
>
> .i.Selection tools;A selection is a user defined region or line of
> interest created using one or more of *Image\'s* five selection tools.
> Selections are used for defining areas or lines to be measured or to
> be operated on using various filtering or editing commands.
> Selections, such as those shown below, are indicated by the selection
> marquee, sometimes referred to as "marching ants".
>
> ![](media/image45.pct){width="5.652777777777778in"
> height="1.2777777777777777in"}
>
> **Moving a Selection.** Selections can be moved by clicking within the
> selection and dragging. The Values window displays the coordinates of
> the upper left corner of the selection(or the bounding rectangle for
> non-rectangular selections) as it is being moved. Notice that the
> cursor changes to an arrow when it is within the selection. If you
> want to move the *contents* of a selection, rather than the selection
> itself, first do a Copy(Command-C) and a Paste(Command-V), then click
> within the selection and drag. Use the shift key to constrain movement
> to be horizontal or vertical. The arrow keys can be used to .i.Nudging
> a selection;nudge the selection one pixel in any direction.
>
> **Stretching a Selection.** Rectangular selections can be stretched
> using the handle in lower right corner. The contents of the selection
> will also be stretched if the selection is the result of a paste
> operation. The width and height are displayed in the Values window as
> the selection is stretched. Use the arrow keys with the option key
> down to stretch a selection one pixel at a time. With the Option key
> down, the arrow keys can be used to stretch the selection one pixel at
> a time.
>
> **Adding to a Selection.** If you hold down the Control key(notice the
> little plus sign in the cursor) while making a selection, then the new
> selection you create will be added to the current selection. This
> feature allow you to edit existing selections, or to create
> discontinuous selections, such as the one above. The Shift key can
> also be used to extend selections when using either the polygon or
> freehand tool. Note that it is not possible to measure the perimeter
> of outlines that have been edited in this way except by doing a Draw
> Boundary and then using the wand tool too recreate the selection. Also
> note that line selections cannot be added to or subtracted from
> existing selections, but freehand and polygon selections can added to
> and subtracted from line selections.
>
> **Subtracting from a Selection.** If you hold down the Option
> key(notice the little minus sign) while making a selection, then the
> new selection you create will be subtracted from the current
> selection. This feature allow you to edit existing selections, or to
> create selections with holes in them, like the one above.
>
> **Deleting a Selection.** To delete the current selection, choose any
> of the selection tools and click anywhere outside the selection. Or,
> alternately, choose a tool other than one of the selection tools, the
> magnifying glass, or the grabber hand. You can use Restore Selection
> to bring the selection back after you have deleted it.
>
> **Transferring a Selection.** A selection can be transferred from one
> image window to another by using the Restore Outline command. Simple
> activate the window you want to transfer the selection to by clicking
> on it, and use Restore Outline. You can also use the Next Window
> command to activate another image window.
>
> **Saving and Restoring Selections.**
>
> A selection can be saved to disk by transferring it to a blank(white)
> window, using the Draw Boundary command(make sure it's drawn black),
> and saving the resulting binary image as a PICT file. To restore the
> selection, open the PICT file and click to the left of the drawn
> outline with the wand tool.
>
> **.c2.**
>
> **Using *Image* with Flatbed Scanners**
>
> Several potential problems can occur when you use a flatbed scanner to
> digitize images for use with *Image*. For example, scanners which only
> support 4-bit (16 gray level) scanning are a poor choice for use with
> *Image,* since at least 32 gray levels are needed for realistic
> looking images, and 256 gray levels are desirable for quantitative
> analysis. You should also avoid scanners with software that is unable
> to save in uncompressed 8-bit TIFF format, since PICT files digitized
> at greater than 75 dots per inch(DPI) will probably not be displayed
> correctly by *Image*.
>
> You also have to be careful not to generate files that are two large
> for *Image* to handle. *Image* was optimized to handle the 640 x 480
> (300K) images produced by frame grabber cards, whereas an 8 x 10 inch
> page scanned at 300 DPI is 2400 x 3000 pixels , or 7.2MB, which is
> much larger than *Image* was designed to handle. The following table
> gives suggested maximum scan areas for different scanning resolutions
> for use with the standard Apple 13 inch monitor(640 x 480) and for 19
> inch monitors(typically 1024 x 768). *Image* can handle scans somewhat
> larger than these, but you will probably run into problems if you
> greatly exceed these recommended sizes.
>
> **75 DPI 150 DPI 300 DPI**
>
> **13\" Monitor** 7.5\" x 6\" 3.75\" x 3\" 1.8\" x 1.5\"
>
> **19\" Monitor** 12\" x 10\" 6\" x 5\" 3\" x 2.5\"
>
> The Undo buffer should be set to 700K, or larger, when working with
> scans the size of the ones suggested for 19 inch monitors.
>
> You should probably stick to 75 DPI unless you are scanning small
> selections. 75 DPI also has the advantage of producing images that are
> near actual size when displayed on the screen, since nominal screen
> resolution is 72 DPI.
>
> **.c2.**
>
> **Recovering Data from Line Plots**
>
> *Image* can be used to recover numeric coordinate data from line plots
> using the following procedure.
>
> ![](media/image46.pct){width="6.152777777777778in" height="1.25in"}
>
> 1\) Digitize the plot using a TV camera or flat bed scanner.
>
> 2\) Edit the plot to remove x-axis, y-axis, and labels.
>
> 3\) Rotate the plot 90° clock-wise.
>
> 4\) Create a line mask similar to the one above using the line drawing
> tool and repeated use of Copy and Paste.
>
> 5\) Convert the line plot to a scatter plot by ANDing the plot with
> the mask using Paste Control.
>
> 6\) Select *X-Y Center* and deselect *Label Particles* in the
> Analyze/Options dialog box.
>
> 7\) Deselect *Invert Y-Coordinates* in the Preferences dialog box.
>
> 8\) Use Analyze Particles to record the X-Y coordinates.
>
> Alternately, and much easier, you can use the macros in "Line
> Plots-\>Data", which automate most of these steps. Use the cross hair
> tool to outline the plot(click to the left of the curve), then use the
> Clear Outside macro to erase everything except the plot. Next, use
> Convert Line Plot to Points, which will perform steps 3-8 above. It
> assumes the active window contains a binary image and you have
> selected a single isolated line plot drawn on a white background. You
> can use the Plot Points macro to display the resulting coordinate
> data.
>
> **.c2.Using the Option Key**
>
> .i.Option key;Holding the option key down when using many of the
> commands and tools in *Image* causes alternative functions to be
> performed. You only need to hold the option key down when you first
> invoke a menu command.
>
> **Menu Command Options**
>
> **Starting *Image* -** Use QuickCapture card instead of Scion card,
> assuming both are installed
>
> **Close -** Changes to Close All
>
> **Save** - Changes to Save All
>
> **Export(Measurements) -** Exports measurement results with column and
> row headers
>
> **Print -** Do bitmap printing (which is better for text and line
> art), rather than halftoning.
>
> **Copy(Measurements) -** Measurement results copied with column and
> row headers
>
> **Rotate Left, Rotate Right -** Erase before rotating
>
> **Smooth -** More (unweighted) smoothing
>
> **Sharpen -** Increased sharpening
>
> **Trace Edges -** Result is not thresholded, allowing you to do it
> yourself
>
> **Calibrate -** Allows you to edit the measured values
>
> **Start Capturing -** Digitize with Scion frame grabber using whole
> screen
>
> \- With QuickCapture card, wait for external trigger
>
> **Stop Capturing -** Omit shading correction
>
> **Average Frames** - Sum frames instead of averaging
>
> **Make Movie** - With QuickCapture, for each frame, wait for external
> trigger
>
> **Animate** - Erase screen to background color before doing animation
>
> **Photo Mode** - Move window to top of screen before erasing screen
>
> **Stack Windows** - Move windows to the "home" position in the upper
> left corner
>
> **Tile Windows** - Use "Scale to Fit" mode to draw windows
>
> **Tool Options**
>
> .i.Magnifying Glass;**Magnifying Glass -** Zoom out instead of zooming
> in
>
> **Text Tool** - Draw results of area or length measurements
>
> **Eraser** - Pick up background color from image window
>
> **Brush** - Pict up foreground color from image window
>
> **Profile Plot Tool** - Draw reference line
>
> **Eyedropper** - Select background color rather than foreground color
>
> **.c.Questions and Answers**
>
> **Q.** I am used to black having a value of zero, and white a value of
> 255, but in *Image* black is 255 and white is zero. How can I change
> this?
>
> **A.** Choose one of the selection tools and use the Measure command
> twice (it doesn\'t matter what you measure). Hold down the option key
> and bring up the Calibrate dialog box. Enter 0 and 255 in the first
> column(replacing what was there) and 255 and 0 in the second column.
> Click the button labeled Straight Line and then click OK. Or, check
> I*nvert Displayed Pixel Values* in Preferences, that does the
> equivalent of all of the above for you.
>
> **Q.** How can I create a new window of a particular size, for example
> 1024x1024?
>
> **A.** Bring up the Preferences dialog box(its in the Options menu).
> Set New Height to 1024 and New Width to 1024 and click on OK. Any
> windows created with the New command during this session should now be
> 1024x1024. You will need to set the size of the Undo and Clipboard
> buffers so that they are at least as large as the new window. In the
> case of a 1024x1024 window, you would need to set the Undo buffer to
> 1024K.
>
> **Q.** Sometimes, after I have copied an image to the clipboard, the
> Paste command becomes dim. Why is this?
>
> **A.** Images copied to the clipboard are stored in a buffer(called
> the Clipboard buffer), which is the same size as the Undo buffer. In
> some situations, such as filtering, *Image* has to use the Clipboard
> buffer for internal operations. When this is necessary, the Paste
> command gets dimmed out.
>
> **Q.** Why do the Finder\'s icons change color when I run *Image*?
>
> **A.** *Image* uses all but two of the 256 available screen colors.
> The two "colors" that *Image* never changes are white(0) and
> black(255). Objects on the screen that are not black and white are
> likely to change color when in *Image* is being used. Colored objects
> are redrawn in their original color when you quit *Image*.
>
> **Q.** Why don\'t the Halftone and BitMap buttons in the print dialog
> box do anything?
>
> **A.** You are probably using version 6.0, or later, of the
> LaserWriter driver. This version supports halftone printing for all
> Mac applications. This feature is normally not used by *Image* since
> *Image* does its own halftoning by sending PostScript commands
> directly to the printer. You can disable *Image*\'s built-in
> halftoning by deselecting *Custom Grayscale Halftoning* in the
> Preferences dialog box, in which case, you can take advantage of the
> buttons in the Print dialog box.
>
> **Q**. I want to combine two color images to produce a montage, but
> when I Copy from one window and Paste into the other the colors are
> wrong.
>
> **A**. You can\'t normally combine images that have different LUTs,
> but if you check *Keep LUT* when you open the second image(which must
> be stored as a PICT file) its pixel values will be remapped to conform
> to the LUT of the first image. You will now be able to successfully
> Copy and Paste, since both images have the same LUT.
>
> **Q**. Why won't *Image* run on my LC?
>
> **A**. *Image* normally requires a floating-point coprocessor, which
> is optional on the LC. However, there are three things you can do to
> get it to run on an LC: 1) Add a floating-point coprocessor. They are
> available by mail order for as little as \$100. 2) Download the
> Non-FPU version of *Image* from alw.nih.gov using anonymous ftp. 3)
> Use the normal version of *Image* along with the free PseudoFPU Init,
> which is also available from alw.nih.gov.
>
> **Q**. Is there a version of *Image* that runs on PC compatibles or on
> UNIX workstations?
>
> **A**. *Image* has not been ported to the PC or to UNIX and no ports
> are planned at NIH. However, the complete Pascal source code(\~32,000
> lines) is available for anyone willing to attempt a port.
>
> **Q**. Is there some way to more rapidly switch between the 256 color
> mode required by *Image* and the "millions" of colors mode required by
> a few other programs?
>
> **A**. There is a free Fkey called Switch-A-Roo that will allow you to
> rapidly switch between any two monitor depths settings by pressing a
> few keys. Switch-A-Roo is available by anonymous ftp from alw.nih.gov,
> in the directory /pub/image.
>
> **.c.Appendices**
>
> **.c2.A. Macro Programming Language**
>
> The Load .i.Macros ;command requires a text file containing one or
> macros. A macro is similar in format to a .i.Pascal ;procedure. A
> macro file may also contain procedures.
>
> Here is an example macro file:
>
> Procedure add(a,b:integer);
>
> Begin
>
> result:=a+b;
>
> End;
>
> Macro \'Test \[T\]\';
>
> Var
>
> i,j,result:integer;
>
> Begin
>
> MoveTo(100,100);
>
> add(2,2);
>
> DrawNumber(result);
>
> End;
>
> Macro \'Another Macro \[F5\]\';
>
> begin
>
> beep;
>
> End;
>
> The text in quotes following the keyword Macro is passed unchanged to
> the Menu Manager, becoming a new command at the bottom of the Special
> menu. Macros may be assigned to keys by enclosing the key character in
> brackets. Macros may also be assigned to function keys as shown in the
> example above. A few characters( \';\', \'\^\', \'!\',\'\<\', \'/\',
> \'(\' ) have special meaning to the Menu Manager, and should normally
> be avoided. You can use / to assign a command key equivalent to a
> macro, e.g., \'Test Macro/6\'. Use \'(-\' as the macro name to create
> a dividing line in the menu.
>
> Procedures may not be nested inside other procedures, or inside
> macros. However, unlike Pascal, variables declared in a calling
> procedure or macro are made available to a called procedure. This
> feature can be used to get around the lack of VAR procedure
> parameters, as shown in the example above. Procedure names are
> required to be unique in the first twelve characters.
>
> **Key Words**
>
> MACRO PROCEDURE BEGIN END VAR FOR TO DO
>
> IF THEN ELSE WHILE REPEAT UNTIL
>
> **Operators**
>
> \+ - \* / DIV MOD :=
>
> = \< \> \<\> \<= \>= AND OR NOT
>
> **Types**
>
> INTEGER REAL BOOLEAN
>
> Both integer and real variables are stored internally in extended
> precision real format, which has a range of 1.9 x 10-495 to 1.1 x 10
> 4932 and 19-20 digits precision. Real numbers are automatically
> converted (by rounding) to integer without warning as needed. Variable
> names must be unique within the first twelve characters.
>
> **Arrays**
>
> Although user defined arrays are not supported, most measurement
> results can be accessed using predefined one-dimensional arrays. These
> arrays are named *rArea, rMean, rStdDev, rX*, *rY*, *rMin*, *rMax*,
> *rLength*, *rMajor*, *rMinor*, and *rAngle*. These arrays use indexes
> ranging from 1 to *Max Measurements*, where the value of *Max
> Measurements* can can be changed in the Options dialog box. Use the
> *rCount* function to get the value of the current measurement counter
> and SetCounter(n) to set it.
>
> Two predefined arrays(*rUser1* and *rUser2*) can be used to record and
> display derived results. Unlike other results arrays, *rUser1* and
> *rUser2* are reserved for use by macros, and are never written to by
> any of the commands in Image. The column headings used for User1 and
> User2 can be set from within macros using the routines
> *SetUser1Label*('Label') and *SetUser2Label*('Label). After computing
> a derived result, use *UpdateResults* to redisplay the last line in
> the results table or use *ShowResults* to redisplay the entire table.
> Use *SetCounter* to control the number of lines displayed by
> *ShowResults.* Several example macros distributed with *Image*(in
> "Measurement Macros") use these arrays to display derived results.
>
> Histogram values are available using the read-only array *Histogram*,
> which accepts indexes in the range 0 to 255. For example, after using
> Measure, histogram\[0\] returns the number of white pixels.
>
> Three built-in read/write arrays(*RedLUT*, *GreenLUT*, and *BlueLut*)
> provide access to the video lookup table(LUT) associated with each
> open image. These arrays use indexes in the range 0-255 and return
> intensity values in the range 0-255. Several macros(in "LUT Macros")
> that use these arrays are distributed with *Image* , including a macro
> to to export the current LUT as a text file, macros to load various
> functions into the LUT, a macro to plot the current LUT, a macro to
> display .i.RGB; pixel values, and a macro to load a grayscale step
> function("Posterize") into the LUT.
>
> The built-in array *LineBuffer* provides access to the internal line
> buffer used by GetRow, PutRow, GetColumn and PutColumn. *LineBuffer*
> uses indexes in the range of 0-4095 and returns pixel values in the
> range 0-255. Using GetRow, LineBuffer\[x\] and PutRow to do
> pixel-by-pixel processing is up to twice as fast as using GetPixel and
> PutPixel, but is still at least 100 time slower than using compiled
> code.
>
> **Built-in Procedures and Functions**
>
> **File Menu**
>
> MakeNewWindow(\'Name\') Use SetNewSize to specify the size of the new
> window
>
> Open(\'File Name\')
>
> SetImport(\'string\') Where *string* contains some combination of:
> \'TIFF\', \'MCID\',
>
> \'Palette\', \'Text\', \'Custom\', \'8-bits\', \'16-bits Unsigned\',
> \'16-bits Signed\', \'Swap Bytes\', 'Auto-Scale',Fixed Scale', and
> \'Open All\'
>
> SetCustom(width,height,offset) Specifies the *width*, *height*, and
> *offset* of imported files
>
> SetImportMinMax(min,max) Disables auto-scaling and fixes the range of
> Imported text files
>
> Import(\'File Name\')
>
> Close Closes the active image window
>
> Dispose Similar to Close, but user is never prompted to save changes
>
> DisposeAll
>
> Save Use SetPicName('Name') to specify file name
>
> SaveAll
>
> SaveAs Use SetPicName('Name') to specify file name
>
> Export Use SetPicName('Name') to specify file name
>
> RevertToSaved
>
> Duplicate(\'Window Title\')
>
> GetInfo
>
> Print Precede with a call to SetOption for bitmap smoothing
>
> **Edit Menu**
>
> Undo
>
> Copy Copies contents of current ROI to Clipboard
>
> CopyResults Equivalent to clicking on Copy in the Results window
>
> Paste Pastes into current ROI if Clipboard object and ROI have the
>
> same dimensions, otherwise, pastes into center of image.
>
> Clear Erases current ROI to background color
>
> Fill Fills current ROI with foreground color
>
> Invert Inverts current ROI
>
> DrawBoundary Outlines current ROI using foreground color. Use
> SetLineWidth
>
> to control width of outline.
>
> DrawScale
>
> SelectAll
>
> SetScaling('string') Where *string* contains some combination of:
> \'Nearest\', \'Bilinear\',
>
> \'New Window\', \'Same Window\' or \'Interactive\'
>
> ScaleAndRotate(xscale,yscale,angle)
>
> ScaleSelection(xscale,yscale) 0.05 \<= xscale,yscale \<= 25.0
>
> RotateLeft(b) Create new window if *b* true
>
> RotateRight(b) Create new window if *b* true
>
> FlipVertical
>
> FlipHorizontal
>
> **Options Menu**
>
> SetPalette(string) Where *string* is one of: \'Grayscale\',
> \'PseudoColor\', \'System
>
> Palette\', 'Rainbow' or \'Spectrum\'
>
> SetFont(\'Font name\')
>
> SetFontSize(size)
>
> SetText(string) Where *string* contains any combination of: \'Bold\',
> \'Italic\',
>
> \'Underline\', \'Outline\', \'Shadow\', \'Left Justified\',
>
> \'Right Justified\', \'Centered\', \'No Background\', or
>
> \'With Background\'
>
> SetNewSize(width,height) Specifies *width* and *height* of new windows
>
> ScaleMath(b) *b*=true or false. Sets or resets *Scale Image
> Arithmetic* flag.
>
> InvertY(b) Invert Y-coordinates if *b* is true
>
> SetPlotLabels(b) *b*=true or false
>
> SetPlotScale(min,max) Set *min* and *max* to zero for auto-scaling
>
> SetPlotSize(width,height) Set *width* and *height* to zero for
> auto-sizing of plots
>
> SetThreshold(level) 0 \<= level \<= 255. SetThreshold(-1) disables
> thresolding.
>
> SetDensitySlice(lower,upper) 1 \<= *lower*,*upper* \<= 254.
> SetDensitySlice(0,0) disables
>
> density slicing, SetDensitySlice(255,255) enables it.
>
> PropagateLUT Propagates current LUT to all other open images
>
> PropagateSpatial Propagates current spatial calibration to all other
> open images
>
> PropagateDensity Propagates current density calibration to all other
> open images
>
> **Enhance Menu**
>
> Smooth Precede with SetOption for unweighted smoothing
>
> Sharpen Precede with SetOption for greater sharpening
>
> Shadow
>
> TraceEdges Precede with SetOption to prevent auto-thresholding
>
> Dither
>
> ReduceNoise
>
> Convolve(\'Kernel file name\')
>
> MakeBinary
>
> Erode
>
> Dilate
>
> SetBinaryCount(n) 1 \<= *n* \<= 8
>
> Outline
>
> Skeletonize
>
> AddConstant(n) -255 \<= *n* \<= 255
>
> MultiplyByConstant(n) 0.0 \<= *n* \<= 255.0
>
> ApplyLUT Transforms the pixel data using the current look-up table
>
> EnhanceContrast
>
> ChangeValues(v1,v2,v3) Changes pixels with a value in the range
> *v1*-*v2* to a value of *v3*
>
> **Analyze Menu**
>
> Measure
>
> GetResults(n,mean,mode,min,max) Use after Measure. Values returned are
> always
>
> uncalibrated. Use cValue function to calibrate them.
>
> AnalyzeParticles
>
> ShowResults
>
> ShowHistogram
>
> RestoreRoi
>
> MarkSelection
>
> SetOptions('string') Where *string* contains some combination of
> 'Area', 'Mean',
>
> 'Std. Dev.', 'X-Y Center', 'Mode', 'Perimeter'(or 'Length'),
>
> 'Major', 'Minor', 'Angle', 'Int. Den.', 'Min/Max', 'User1',
>
> or 'User2'. Any variable not listed is disabled.
>
> Redirect(b) Enable/disable redirected sampling. *b*=true or false.
>
> LabelParticles(b) *b*=true or false
>
> OutlineParticles(b)
>
> IgnoreParticlesTouchingEdge(b)
>
> IncludeInteriorHoles(b)
>
> WandAutoMeasure(b)
>
> AdjustAreas(b)
>
> SetParticleSize(min,max)
>
> SetPrecision((digits) Were *digits* is the number of digits to the
> right of the decimal point
>
> SetScale(scale,'units') *Scale* is the number of pixels per unit of
> measurement. '*Units'* is one
>
> of the following: 'nm', \'µm\', 'mm', 'cm', 'me', 'km', 'in', 'ft',
> 'mi',
>
> or 'pixels'. Use SetScale(0,'pixels') to disable spatial calibration
> and
>
> SetScale(0,'') to activate the Set Scale dialog box.
>
> PlotProfile Replaces Column Average Plot
>
> ResetCounter Sets the measurement counter to zero
>
> **Special Menu**
>
> StartCapturing Start live video
>
> StopCapturing Stop live video
>
> Capture Grabs one frame. Currently only works with DT2255.
>
> AverageFrames Precede with SetOption to sum frames
>
> SetChannel(channel) Where channel=0, 1, 2, or 3
>
> **Stacks Menu**
>
> AddSlice Adds a slice following the current slice
>
> DeleteSlice Deletes the current slice
>
> Reslice
>
> **Windows Menu**
>
> NextWindow
>
> TileWindows
>
> ShowPasteControl Activates the Paste Control window
>
> **Miscellaneous (Note: ROI means Region of Interest)**
>
> Beep
>
> ChoosePic(n) Selects Nth image window without activating it
>
> ChooseSlice(n) Selects Nth slice in a stack without displaying it
>
> DrawNumber(n) Displays *n* at the current location(set with MoveTo)
>
> DrawText(\'text\') Displays text at the current location
>
> Exit Terminate execution of the macro
>
> GetColumn(x,y,length) Copies a column of pixels from the active image
> to the line buffer
>
> GetLine(x1,y1,x2,y2,LineWidth) Returns coordinates and width of the
> current straight line selection
>
> GetMouse(x,y) Returns location of cursor in local coordinates
>
> GetPicSize(width,height) Returns *width* and *height* of active image
>
> GetRoi(left,top,width,height) Returns ROI location and size. Returns
> *width*=0 if no ROI.
>
> GetRow(x,y,length) Copies a row of pixels from the active image to the
> line buffer
>
> GetTime(year, month,day, hour, minute, second, dayofweek)
>
> InsetRoi(delta) Shrinks or expands(if *delta*\<0) ROI by *delta*
>
> KillRoi
>
> LineTo(x,y) Draws a line from current location to (x,y)
>
> MakeLineRoi(x1,y1,x2,y2) Origin(0,0) is at upper left
>
> MakeNewStack('name') Creates a new 1-slice stack. Use SetNewSize to
> specify size.
>
> MakeRoi(left,top,width,height) Origin(0,0) is at upper left
>
> MakeOvalRoi(left,top,width,height)
>
> MoveRoi(dx,dy) Moves ROI right *dx* pixels and down *dy* pixels
>
> MoveTo(x,y) Origin is always at upper left corner
>
> PlotXYZ Plots XYZ coordinate data stored in a text file
>
> PutColumn(x,y,length) Copies *length* pixels from the line buffer to a
> column in active image
>
> PutMessage(\'message\') Displays \'message\' in a dialog box. Accepts
> multiple arguments
>
> like the Write routine.
>
> PutPixel(x,y,value) Displays *value* at location (*x*,*y*)
>
> PutRow(x,y,length) Copies *length* pixels from the line buffer to a
> row in the active image
>
> ResetGrayMap Equivalent to clicking on reset icon in Map window
>
> SaveState Saves foreground and background color, new window width and
>
> height, status of invert Y flag, and various ScaleAndRotate and
>
> SetScaling parameters
>
> RequiresVersion(n) Aborts macro if Image version number is less than
> the one specified
>
> RestoreState Restore settings saved by SaveState
>
> SelectPic(n) Activates Nth image window
>
> SelectSlice(n) Display Nth slice in a stack
>
> SetCounter(n) Sets the measurement counter to *n*
>
> SetForegroundColor(c) 0 \<= c \<= 255, were 0=white and 255=black
>
> SetBackgroundColor(c) 0 \<= c \<= 255
>
> SetLineWidth(width)
>
> SetUser1Label('Label') Replaces label used for User 1 column in
> Results window
>
> SetUser2Label('Label') Replaces label used for User 2 column in
> Results window
>
> SetPicName('Name') Renames the currently active image window
>
> SetOption Equivalent to holding down Option key
>
> SetSliceSpacing(n)
>
> ShowMessage(\'message\') Displays \'message\' in the Values window.
> Accepts multiple arguments
>
> like the Write routine. Use a back-slash('\\') to start a new line.
>
> UpdateResults Redisplays last measurement in Values and Results
> windows
>
> Wait(seconds) Fractions of a second are allowed, e.g., wait(1.5)
>
> WaitForTrigger Waits for QuickCapture external trigger(or mouse
> button)
>
> Write(e1,e2,\...) Draws text, variables, or constants at the current
> location. Like the Writeln procedure in Pascal, expressions may have
> optional field
>
> width specifications in the form e:f1:f2(e.g., write('M= ',mean:8:3),
>
> where f1 is the field width, and f2 specifies the number of digits to
>
> he right of the decimal point.
>
> Writeln(e1,e2,\...) Similar to Write, but does the equivalent of a
> line feed and carriage return after displaying the specified values.
>
> **Miscellaneous Functions**
>
> AllSameSize Returns true if all open images have the same dimensions
>
> Button TRUE if mouse button down
>
> Calibrated True if current image is density calibrated
>
> cValue(PixelValue) Converts raw pixel values(0-255) to density
> calibrated values
>
> GetNumber('Prompt',default) Displays a dialog box and returns with
> number entered
>
> GetPixel(x,y) Returns the pixel value at (*x*,*y*)
>
> GetSliceSpacing Returns slice spacing(in pixels) of current stack
>
> nPics Returns number of Image Windows
>
> nSlices Returns number of slices in current stack
>
> PicNumber Returns number(used by SelectPic) of active window
>
> rCount Returns current measurement counter value
>
> Round(n) Converts a real value to integer with rounding
>
> SliceNumber Returns number of current slice in a stack
>
> Trunc(n) Converts a real value to integer with truncation
>
> **Math Functions**
>
> abs(n) Returns absolute value of *n*
>
> arctan(n) Returns arctangent of *n*
>
> cos(n) Returns cosine of *n* (radians)
>
> exp(n) Returns exponential of *n*
>
> ln(n) Returns natural logarithm of *n*
>
> odd(n) TRUE if integer *n* odd
>
> Random Generates a random number between 0 and 1
>
> sin(n) Returns sine of *n*(radians)
>
> sqr(n) Returns square of *n*
>
> sqrt(n) Returns sqrt of *n*
>
> **Paste Control Options (Use immediately after a paste command)**
>
> DoCopy Precede DoCopy, DoAnd, etc. with SetOption to switch
>
> DoAnd paste transfer modes, otherwise the operation is performed
>
> DoOr and the paste operation terminated.
>
> DoXor
>
> DoReplace
>
> DoBlend
>
> Add
>
> Subtract
>
> Multiply
>
> Divide
>
> Note that routines that require a file name or window
> title(MakeNewWindow, Open, SaveAs, Import, Duplicate, and SetPicName)
> accept multiple arguments similar to Writeln, except that numeric
> field are left filled with zeros rather than spaces. As an example,
> SetPicName('PIC',n:2) result in window titles in the form 'PIC01',
> 'PIC02', 'PIC03', etc.
>
> **.c2.B. Frame Grabber Cards**
>
> *Image* supports two frame grabber cards for acquiring images from
> video sources, such as TV cameras and VCRs: the Data Translation
> QuickCapture and the Scion Image 1000.
>
> Both cards have advantages and disadvantages. When using the
> QuickCapture, *Image* allows you to adjust brightness, contrast, and
> pseudocoloring while digitizing. The continuous histogram and .i.Live
> Paste;live paste features are also currently only available with the
> QuickCapture. *Image* also supports the full 768 x 512 resolution
> available with 50Hz(PAL) version of the QuickCapture card. On the
> other hand, when capturing using the QuickCapture, the screen is
> redrawn only about four frames a second. Also, the A/D converter in
> the QuickCapture seems to favor odd pixels values, which results in
> strange looking histograms. This does not, however, seem to be a
> problem in normal use, and Data Translation claims to have a fix.
>
> The Scion card, in addition to being less expensive, has the ability
> to capture and displaying on the screen at 30 frames per second. One
> disadvantage of this card is that, since it copies video data directly
> to the video card over the NuBus at video rates(about 9 MB/sec.), it
> doesn\'t work with some third party video cards, or is unable to
> capture the entire 640x480 frame. On the 640x480 Apple video card, it
> is able to capture 600x480 frames. A major disadvantage of the Scion
> is that it does not work with the built-in video available on newer
> Macintosh's, such as the IIsi, IIci, Quadra 700, and Quadra 900. The
> Scion card also has a 4-8% vertical shading problem and is also
> considerably noisier than the QuickCapture card.
>
> Both Data Translation and Scion offer optional software for their
> respective cards for digitizing in color using an .i.RGB; color
> camera, and then reducing the resulting 24-bit color image to an 8-bit
> color PICT file that can be opened in *Image*.
>
> 1\) **Data Translation QuickCapture**
>
> Part Number: DT2255
>
> Price: \$1295
>
> Requires EP205 Cable Assembly: \$125
>
> Data Translation, Inc.
>
> 100 Locke Drive
>
> Marlboro, MA 01752
>
> Phone: 508-481-3700
>
> Fax: 508-481-8620
>
> 2\) **Scion Video Image 1000**
>
> Price: \$895
>
> Scion Corporation
>
> 152 West Patrick Street
>
> Frederick, MD 21701
>
> Phone: 301-695-7870
>
> Fax: 301-695-0035
>
> D1887@applelink.apple.com
>
> **.c2.C. Recommended Camera and Light Box;**
>
> Quantitative image analysis using *Image* requires the use of a high
> quality TV camera and light source. You should select a high
> resolution solid-state(CCD) monochrome camera designed for imaging
> applications. There should be a way to disable any automatic gain
> control(AGC) or automatic black level features. The light source
> should provide uniform illumination, as well as stable output with
> normal line voltage variation.
>
> The Sierra Scientific MS-4030 solid state(CCD) camera is one camera
> that is well suited for quantitative densitometry. A less expensive
> camera that is also suited for scientific imaging applications is the
> COHU Model 4815-5000. Both Sierra Scientific and COHU also sells
> lenses and filters. Another highly rated CCD camera is the Sony XC-77.
> When ordering a CCD camera, particularly the Sony XC-77, make sure it
> comes with all necessary components, such as power supply, tripod
> attachment(if needed), and documentation.
>
> Imaging Research, creator of the highly regarded MCID biomedical image
> analysis system for the IBM-PC, makes a stabilized fluorescent
> illuminator that provides the uniform illumination needed for
> autoradiographic densitometry. They also sell several needed
> accessories, including the Nikon Micro-Nikkor f2.8/55 mm. lens, the
> F-C adapter needed to connect the lens to a TV camera, and the Kaiser
> RS-1 copy stand. In addition, they sell Sierra Scientific, COHU, and
> Sony cameras.
>
> For specialized applications, Perceptics has a Nubus frame grabber
> card that supports the 1340X1037 resolution Videk MegaPlus camera, and
> can supply a version of Image that supports the MegaPlus. Photometrics
> has a cooled CCD imaging system for the Mac II that supports CCDs with
> a resolution of up to 2K X 2K. Dage-MTI has a real-time video
> processor that does real-time averaging and integration to enhance
> noisy, low contrast images. They also have an image intensifier for
> CCD cameras.

+-------------------------------+--------------------------------------+
| **COHU Inc.**                 | **Photometrics Ltd.**                |
|                               |                                      |
| 5755 Kearny Villa Road        | 3440 East Britannia Drive            |
|                               |                                      |
| San Diego, CA 92138           | Tucson, AZ 85706                     |
|                               |                                      |
| 619-277-6700                  | 602-889-9933                         |
+-------------------------------+--------------------------------------+

+-------------------------------+--------------------------------------+
| **Dage-MTI, Inc.**            | **Sierra Scientific**                |
|                               |                                      |
| 701 N. Roeske Ave.            | Sunnyvale, CA                        |
|                               |                                      |
| Michigan City, Indiana 46360  | 408-773-5600                         |
|                               |                                      |
| 219-872-5514                  |                                      |
+-------------------------------+--------------------------------------+

+-------------------------------+--------------------------------------+
| **Imaging Research Inc.\      | **Sony Corporation of America**      |
| **Brock University            |                                      |
|                               | Component Products Company           |
| St. Catharines, Ontario       |                                      |
|                               | 10833 Valley View St.                |
| Canada L2S 3A1                |                                      |
|                               | Cypress, CA 90630                    |
| 416-688-2040                  |                                      |
|                               | 714-229-4197                         |
+-------------------------------+--------------------------------------+

+-------------------------------+--------------------------------------+
| **Perceptics Corp.**          |                                      |
|                               |                                      |
| 725 Pellisippi Parkway        |                                      |
|                               |                                      |
| Knoxville, TN 37933           |                                      |
|                               |                                      |
| 615-966-9200                  |                                      |
+-------------------------------+--------------------------------------+

  -------------------------------- --------------------------------------
                                   

  -------------------------------- --------------------------------------

  -------------------------------- --------------------------------------
                                   

  -------------------------------- --------------------------------------

  -------------------------------- --------------------------------------
                                   

  -------------------------------- --------------------------------------

  -------------------------------- --------------------------------------
                                   

  -------------------------------- --------------------------------------

> **.c2.D. Alternative Macintosh Analysis Systems**

+-------------------------------+--------------------------------------+
| **BRAIN**                     | **NCSA Image, PalEdit, Layout, and   |
|                               | Gel Reader (all public domain)**     |
| (2-DG and receptor            |                                      |
| autoradiography)              | (Scientific visualization, palette   |
|                               | editing, gels)                       |
| Image and Computer Vision     |                                      |
| Center, Drexel University     | NCSA, Champaign, IL                  |
|                               |                                      |
| Philadelphia, PA              | 217-244-0072                         |
|                               |                                      |
| 215-895-1381                  | Anonymous ftp: zaphod.ncsa.uiuc.edu  |
+-------------------------------+--------------------------------------+

+-------------------------------+--------------------------------------+
| **DIP Station**               | **Photoshop**                        |
|                               |                                      |
| (Medical image analysis,      | (Color image processing, 24-bit to   |
| 16--bits, surface rendering)  | 8-bit color conversion, file         |
|                               | conversion, plug-in modules)         |
| Hayden Image Processing       |                                      |
| Cleveland, Ohio               | Adobe Systems                        |
|                               |                                      |
| 216-721-2388                  | Mountain View, CA                    |
| (whc@po.cwru.edu)             |                                      |
|                               | 415-961-4400                         |
+-------------------------------+--------------------------------------+

+-------------------------------+--------------------------------------+
| **Enhance**                   | **PixelTools, TCL-Image**            |
|                               |                                      |
| Micro Frontier                | (Video rate processing, 1340x1035    |
|                               | frame grabber)                       |
| Des Moines, Iowa              |                                      |
|                               | Perceptics Corporation               |
| 515-270-8109                  |                                      |
|                               | Knoxville, TN                        |
|                               |                                      |
|                               | 615-966-9200                         |
+-------------------------------+--------------------------------------+

+-------------------------------+--------------------------------------+
| **The Explorer**              | **Transform, View, Format, and       |
|                               | Dicer**                              |
| (Medical image analysis)      |                                      |
|                               | (Scientific visualization,           |
| UCLA                          | presentation graphics,               |
|                               |                                      |
| Los Angeles, CA               | volume visualization)                |
|                               |                                      |
| 213-825-0757                  | Spyglass, Inc.                       |
|                               |                                      |
|                               | Champaign, IL                        |
|                               |                                      |
|                               | 217-355-1665                         |
+-------------------------------+--------------------------------------+

+-------------------------------+--------------------------------------+
| **Image Analyst**             | **VoxBlast**                         |
|                               |                                      |
| Automatix                     | (Volume rendering)                   |
|                               |                                      |
| Billerica, MA                 | VayTek,Inc                           |
|                               |                                      |
| 508-667-7900                  | Fairfield, Iowa                      |
|                               |                                      |
|                               | 515-472-2227                         |
+-------------------------------+--------------------------------------+

+--------------------+------------------------+------------------------+
| **ImageSet**       | **VoxelView/Mac**      |                        |
|                    |                        |                        |
| Dapple Systems,    | (Volume rendering)     |                        |
| Inc.               |                        |                        |
|                    | Vital Images           |                        |
| Sunnyvale, CA      |                        |                        |
|                    | Fairfield, Iowa        |                        |
| 408-733-3283       |                        |                        |
|                    | 515-472-7726           |                        |
+--------------------+------------------------+------------------------+

+-------------------------------+--------------------------------------+
| **IPLab, IPLab/Spectrum**     | **Ultimage**                         |
|                               |                                      |
| (FFT, \>8-bits grayscale,     | GTFS Inc.                            |
| 24-bit color, scripting)      |                                      |
|                               | Santa Rosa, CA                       |
| Signal Analytics              |                                      |
|                               | 707-579-1733                         |
| Vienna, VA                    |                                      |
|                               |                                      |
| 703-281-3277                  |                                      |
+-------------------------------+--------------------------------------+

+-------------------------------+--------------------------------------+
| **MedVision**                 |                                      |
|                               |                                      |
| (Medical image analysis,      |                                      |
| multi-modality studies,       |                                      |
| 16-bits, extendible)          |                                      |
|                               |                                      |
| Evergreen Technologies, Inc.  |                                      |
|                               |                                      |
| Gaithersburg, MD              |                                      |
|                               |                                      |
| 301-948-1800                  |                                      |
| (e                            |                                      |
| vergreen@applelink.apple.com) |                                      |
+-------------------------------+--------------------------------------+

> **.c2.E. File Formats**
>
> **.i.TIFF ;Files Created by *Image***
>
> Bytes 0-7 contain the TIFF header. Bytes 8-129 contain the TIFF Image
> File Directory(IFD). Within the IFD, bytes 30-31 contain the image
> width, and bytes 42-43 contain the height. Bytes 130-255 are currently
> unused and are set to zero. Bytes 256-767 contain a 512 byte header
> unique to the *Image* program. Image data starts at byte 768, stored
> in row order, one byte per pixel.In the case of a stack, there are two
> or more consecutive images starting at byte 768 and bytes 516-517
> contain the number of images(slices). The TIFF color table, if any,
> follows the image data. It consists of 256 16-bit red values, 256
> 16-bit green values, and 256 16-bit blue values. Any additional TIFF
> IFDs(only needed for stacks) follow the color table. Note that the
> 16-bit integers containing the width, height, and number of images
> have the opposite byte order as compared to IBM PC and VAX systems.
>
> The information provided here should be adequate for writing a program
> to read a TIFF file created by *Image*. It is not sufficient for
> creating TIFF files that *Image*, or any other program, can read. More
> detailed information on TIFF is available via anonymous FTP from
> alw.nih.gov in the directory /pub/image, or from the Developers Desk,
> Aldus Corporation, 411 First Avenue South, Seattle, WA 98104, (206)
> 622-5500.
>
> **.i.MCID ;File Format**
>
> The easiest way to create variable sized image files that can be read
> by *Image* is to duplicate the MCID format accepted by the Import
> command. These files contain the line width less one in bytes 0-1, the
> number of lines less one in bytes 2-3, followed by the 8-bit pixel
> data in row order. The 2 bytes (one 16-bit word)used to store the
> width and height are stored in Intel/VAX byte order, where the low
> order byte is first. The following Pascal program is an example of how
> to create a file that can be Imported into *Image*.
>
> PROGRAM MakeRamp;
>
> {
>
> This example Pascal program creates an image
>
> file that can be opened using Image\'s Import command.
>
> }
>
> VAR
>
> f:text;
>
> i,line,pixel,PixelsPerLine,nLines:integer;
>
> BEGIN
>
> write(\'Pixels Per Line: \'); readln(PixelsPerLine);
>
> write(\'Number of Lines: \'); readln(nlines);
>
> writeln(\'Creating image. This may take a few minutes.\');
>
> rewrite(f,\'Ramp\');
>
> write(f,chr((PixelsPerLine-1) MOD 256));
>
> write(f,chr((PixelsPerLine-1) DIV 256));
>
> write(f,chr((nlines-1) MOD 256));
>
> write(f,chr((nlines-1) DIV 256));
>
> FOR line:=1 TO nlines DO
>
> FOR pixel:=0 TO PixelsPerLine-1 DO write(f,chr(pixel));
>
> close(f);
>
> END.
>
> **F. Program Limitations**
>
> The maximum number of pixels per line is 4096. There is no arbitrary
> limit(other than memory requirements) on the maximum number of lines
> in an image. *Image* uses two 300K buffers as Undo and Clipboard
> buffers. Many functions will not work with images larger than these
> buffers. The size of these buffers can be changed in the Preferences
> dialog box. You must Save Preferences, Quit, and then restart *Image*
> before the buffer size change will take effect.
>
> The maximum number of characters that can be displayed, printed, or
> copied to the clipboard is 32,700. There is no limit to the number of
> measurements that can be exported to a text file.
>
> The default maximum number of measurements is 200. This can be changed
> in the Options dialog box. You must Save Preferences, Quit, and then
> restart *Image* before the change will take effect.
>
> The maximum size of a macro file is 15,000 bytes. A macro file can
> contain up to 50 macros and 50 procedures. The push-down stack used by
> the macro language holds up to 100 variables.
>
> The maximum number of slices in a stack is 256.
>
> **.c2.G. Shortcuts;**
>
> ![](media/image47.pct){width="5.222222222222222in"
> height="4.222222222222222in"}
>
> ![](media/image48.pct){width="5.597222222222222in"
> height="4.111111111111111in"}
>
> **.c2.H. References**
>
> Color, Motion Analysis and Biological Imaging, Joseph Ayers and Garth
> Fletcher, *Advanced Imaging*, November 1990, pages 39-42.
>
> Computer-Aided Cell Colony Counting, Robert Parry, et. al.,
> *BioTechniques*, Vol. 10, No 6, 1991, pages 772-774.
>
> Digital Image Processing, Kenneth Castleman, Prentice-Hall, 1979.
>
> Digital Image Processing: A Practical Primer, Gregory Baxes,
> Prentice-Hall, 1984.
>
> Image Analysis for All, Paul Lennard, Nature, Vol 347, 6 September
> 1990, pages 103-104.
>
> Image Processing on the Macintosh, Robert Morris, *IEEE Computer*,
> August 1990, pages
>
> 103-106.
>
> Microcomputer-based Three-dimensional Reconstruction of in situ
> Hybridization Autoradiographs, Thomas Ford-Holevinski et al., Journal
> of Chemical Neuroanatomy, Vol 4, 1991, pages 373-385.
>
> PCs Invade Processing of Biomedical Images, *Diagnostic Imaging*,
> February 1990, pages 139-148.
>
> A Six-Pack for the Mac, Steven Hollinger, *ESD: The Electronic System
> Design Magazine*, June 1989, pages 26-36.
>
> Use of Image Analysis to Quantitate Changes in Form of Mitochondrial
> DNA After X-irradiation, Raymond O'Neill et al., *Applied and
> Theoretical Electrophoresis*, 1989-1, pages 163-167.
>
> Video Microscopy, Shinya Inoue', Plenum Press, 1986.
>
> **.c2.I. Updated Versions and Bug Reports**
>
> Updates to *Image* are available to Internet users via anonymous ftp
> from zippy.nimh.nih.gov. Those without Internet access can get updates
> from many Macintosh bulletin boards and user group libraries. A
> reasonably current version, including Pascal source code and example
> images, should be available from one of the following:
>
> 1\) From a friend. The *Image* program, including source code and
> documentation, is public domain and may be freely copied, distributed,
> and modified. However, if you modify *Image*, please update the about
> box before distributing your version of the program.
>
> 2\) Via .i.Anonymous FTP;anonymous FTP from
> zippy.nimh.nih.gov\[128.231.98.32\]. Enter "anonymous" as the user
> name and anything you like as the password. The /pub/image directory
> contains the latest version of *Image*(image144.hqx), a version of
> *Image* that runs on Macs without a floating-point coprocessor
> (image144NonFPU.hqx), documentation in Word
> format(image144_manual.hqx), and complete Think Pascal source
> code(image144_source.hqx). The directory /pub/image/images contains
> sample TIFF and PICT images. The directory /pub/image/image_spinoffs
> contains versions of *Image* extended to do FFTs, fractal analysis, to
> capture and analyze .i.Color analysis;color images, and to support
> quantitative evaluation of cerebral blood flow, .i.Glucose
> metabolism;glucose metabolism, and protein synthesis. Most of the same
> files are also available from alw.nih.gov \[128.231.128.7\] in the
> directory /pub/image. There is a README file(0README.txt) with
> information on the file formats used.
>
> 3\) DL14 of MACSYS on CompuServe.
>
> 4\) Twilight Clone BBS in Silver Spring, MD. The Clone has 16 lines on
> sequential rollover, starting with 301-946-8677. To guarantee a V.32
> connection, call 946-5034. *Image* is currently available at no charge
> from the Twilight Clone.
>
> 5\) NTIS(National Technical Information Service), phone 703-487-4650,
> order number PB90-500687 (\$100 check, VISA, or Mastercard). Both the
> zippy.nimh.nih.gov FTP site and the Twilight Clone BBS are likely to
> have newer versions of *Image* than NTIS.
>
> Bug reports and suggestions are welcome, as are corrections or
> additions to this manual. The author (Wayne Rasband) can be reached at
> the following electronic mail addresses:
>
> Internet, BitNet: wayne@helix.nih.gov
>
> AppleLink: wayne@helix.nih.gov@internet#
>
> CompuServe: \>INTERNET: wayne@helix.nih.gov
>
> **[.c.Index]{.smallcaps}**
>
> 3D reconstruction 33
>
> Add 15, 43
>
> Add Slice 31
>
> Airbrush 38
>
> Analyze Particles 22
>
> And 42
>
> Angle Tool 8, 39
>
> Animate 32
>
> Anonymous FTP 67
>
> Apply LUT 21
>
> Arithmetic 20
>
> Arrow heads, drawing 31
>
> ASCII dump 31
>
> Average Frames 29
>
> Background color 38
>
> Binary 19
>
> Blend 42
>
> Brightness, adjusting 41
>
> Brush tool 38
>
> Calibrate 43
>
> Calibrate... 27
>
> Capture Frames 32
>
> Clear 12
>
> Closing 20
>
> Color 10
>
> Color analysis 67
>
> Contrast, adjusting 41
>
> Converting color to grayscale 21
>
> Convolve 19
>
> Copy 11
>
> Cross Hair Tool 8, 39
>
> Cut 11
>
> Delete Measurement 28
>
> Delete Slice 31
>
> Density calibration 27
>
> Density Profile Tool 38, 43
>
> Density Slice 17
>
> Dilate 20
>
> Dither 19
>
> Divide 15, 43
>
> Draw Boundary 12
>
> Draw Scale 12
>
> Dumping the screen 8
>
> Duplicate 9
>
> Edge detection 18
>
> Equalize 21
>
> Eraser 38
>
> Erode 19
>
> External Trigger 30
>
> Eyedropper tool 39
>
> Fill 12
>
> Filters 18
>
> FITS 31
>
> Flip Horizontal 12
>
> Flip Vertical 12
>
> Get Info 9
>
> Glucose metabolism 67
>
> Grayscale 14
>
> Grayscale step function 31
>
> Grow Box 40, 43
>
> Halftone Options... 9
>
> Hand(scrolling) tool 36
>
> Histogram 8, 41
>
> Import... 4
>
> Invert 12
>
> Invert LUT 13
>
> Invert Video Input 30
>
> Invert Y Coordinates 15
>
> Label Selection 28
>
> Last Slice 32
>
> Line Drawing Tool 38
>
> Line widths 40
>
> Live Paste 11, 43, 60
>
> Load Macros... 31
>
> Look-Up Table(LUT) 8, 42
>
> LUT tool 14, 17, 38
>
> MacPaint 3, 6, 19
>
> Macros 31, 53
>
> Magnifying Glass 36, 40, 50
>
> Make Binary 19
>
> Make Movie... 32
>
> Map. 40
>
> MCID 4, 63
>
> Measure 22
>
> Measurement Options 24
>
> Median filter 19
>
> Multiply 15, 43
>
> New 3
>
> New Height 15
>
> New Width 15
>
> Next Slice 31
>
> Next Window 35
>
> Nudging a selection 43, 47
>
> Opening 20
>
> Open... 3
>
> Option key 50
>
> Options... 24
>
> Or 42
>
> Outline 20
>
> Page Setup... 10
>
> Paint Bucket 39
>
> Palettes 5, 6, 7
>
> Pascal 2, 53
>
> Paste 11, 42
>
> Paste Control 11, 42
>
> Pencil tool 37
>
> Photo Mode 30
>
> PICS 6
>
> PICT 3, 6
>
> Plot Profile 23
>
> Plot window 43
>
> Print... 10
>
> Profile Plot Options 44
>
> Profile plotting tool 38
>
> Project... 33
>
> Propagate 17
>
> Pseudocolor 7, 17, 39
>
> Quit 10
>
> Record Preferences 8
>
> Redo Measurement 28
>
> Reduce Noise 19
>
> Replace 42
>
> Reset 28
>
> Restore Selection 28
>
> Revert to Saved 9
>
> RGB 39, 44, 54, 60
>
> Rodbard fit 27
>
> Rotate Left 12
>
> Rotate Right 12
>
> Save As... 6
>
> Save Blank Field 29
>
> Save Screen 8
>
> Scale and Rotate... 13
>
> Scale Image Arithmetic 15
>
> Scale to Fit Window 16
>
> Scaling 13
>
> Select All 12
>
> Selection tools 36, 47
>
> Set Count... 20
>
> Set Extra Colors... 14
>
> Set Iterations... 20
>
> Set Number of Colors... 13
>
> Set Scale... 26
>
> Shadow 18
>
> Sharpen 18
>
> Show Clipboard 13
>
> Show Histogram 23
>
> Show Results 23
>
> Sine wave, generating 31
>
> Skeletonize 20
>
> Smooth 18
>
> Spatial calibration 26
>
> Stack to Windows 31
>
> Stack Windows 35
>
> Start Capturing 28
>
> Subtract 15, 20, 43
>
> Surface Plot 24
>
> System Requirements 2
>
> Text Tool 39
>
> Thresholding 17
>
> TIFF 3, 4, 6, 63
>
> Tile Windows 35
>
> Tool palette 36
>
> Trace Edges 18
>
> Undo 11
>
> Values Window 44
>
> Video Options... 30
>
> Volume rendering 33
>
> Wand tool 17, 25, 38
>
> Window to Stack 31
>
> Xor 42
>
> Zooming 36