. Credits \uImageLab V2.2\u (C) Copyright 1989 by Gary Milliorn This program is copyrighted, but is freely redistributable excluding commercial concerns. Send suggestions, bugs, complaints, to: mail: 5915 Shanghai Pierce Rd. Austin, Texas 78749-1927 bix: gmill Last revision: August 5, 1989 . Overview \uImageLab V2.2\u \uImageLab\u is a program that performs functions on image files. It is principally oriented towards greyscaled images, though there are some color functions provided. \uImageLab\u only works on IFF files. All operations can be limited to areas by drag-selecting an area on the file opened: just click at one corner and drag to the opposite; only the selected area will be affected. .Convolution \iConvolution\i (the graphical or spatial form) is a general purpose image procesing transform that can be used to extract or enhance features of the image, under control of a matrix called the \ikernel\i. \uImageLab\u V2.2 is limited to a 3 x 3 kernel, but there are many operations which can be performed with this small kernel, such as smoothing, edge detection, etc. .Area Operations may be applied to the whole screen or to a sub-area. To select an area, click the mouse on the picture and drag to outline the desired area. .Clipboard The clipboard functions can be used to import or export graphical data, or to temporarily hold data to move between screens you open. .Project The \iProject\i menu contains general information selections: About and Information. Note: if the `checkmark' option is set and the special font is available, then \uImageLab\u will convert the Project menu into an Amiga-style checkmark. .File The \iFile\i menu contains all File I/O operations, as well as the Quit option. .Edit The \iEdit\i menu contains the clipboard functions, plus general purpose editing facilities (such as Paint, Flip, Erase, etc.) .Transform Menu The \iTransform\i menu contains various picture/area modification functions, including the FFT menus, the Convolution and Averaging menus, and the Filters menus. .Picture Menu The \iPicture\i menu contains various global picture operations, including color table manipulations and screen parameter editing (change size, etc.) .Other Menu The \iOther\i menu contains miscellaneous functions, including: Position - screen positioning Save Mode - compression type and FFT inclusion. Restrict Palette - limit color range. Bell - controls bell usage. Icons - controls icon creation. .About \iAbout\i displays information about \uImageLab\u, including the copyright information, current memory availability (\uImageLab\u can use quite a bit) and provides access to \iHelp\i. Note: help is also available using the `Help' key. .Picture Info \iPicture Info\i shows information about the current open picture, including: Filename. File size. Display modes. Select size and area. FFT memory usage. .Open \iOpen\i opens an \bIFF\b picture file. If a screen is currently open already, it will be closed first (if it has been modified, a warning will be issued). If the \bSHIFT\b key is held while \iOpen\i is selected, when the IFF file is opened, the most-significant bit plane will be stripped away. This is useful in processing DigiView files, which create extra bitplanes that can adversely affect \uImageLab\u's operation. See also: \iRestrict Palette\i and \iEdit Parameters\i. .Revert \iRevert\i re-opens the previously opened IFF picture file, undoing any changes that have been made. This option is disabled if you have not made any changes to your file. .Close \iClose\i closes the current picture screen. If the picture has been modified, you will be warned. .Save \iSave\i saves the current picture back to the filename used when the picture was loaded. The `Save' option is disabled when the picture's screen modes have been altered (by the \iEdit Parameters\i command). .Save As \iSave As\i saves the current picture to a filename specified using a file requester. .Delete \iDelete\i brings up a file requester allowing you to specify files to be deleted. .Quit \iQuit\i leaves \uImageLab\u. If the current picture has been altered but not saved, you will be warned first. .Undo \iUndo\i undoes most operations, even if it has to re-load the picture from disk. .Cut \iCut\i copies the selected area to the clipboard, then erases the area to the background color (color #0). If the \bSHIFT\b key is held down, the area is cleared to the last color that was selected by the palette. .Copy \iCopy\i copies the selected area to the clipboard as an IFF picture. Selected areas can be exported to other programs by the clipboard. .Paste \iPaste\i pastes the IFF graphics area to the current picture. If the clipboard contains an IFF compatible picture, the picture screen will be brought up and a select box will be active. Position the box to the desired location and press the left mouse button. To abort a \ipaste\i in-progress, press the \bESC\b key. .Clear \iClear\i erases the selected area (or the entire screen) by setting it to the background color (color #0). If \bSHIFT\b is held while Clear is selected, the area is cleared to the last color that was selected with the palette. .Unselect \iUnselect\i removes the selected area from the picture. Alternately, just click once on the picture without moving the mouse. .Move \iMove\i allows you to reposition a selected area. To use, select an area, then the \iMove\i option. The screen is brought up, with the selected area shown. To move that area, click the left mouse button to drag the area to the new location, and release the button when the area is positioned properly. To abort a move in-progress, press the \bESC\b key before releasing the button. .Resize The \iResize\i option allows to you to change the size of a selected area. The first two options, \iCopy\i and \iInterpolate\i control whether pixels which must be created are simply copied or are produced by a two-dimensional averaging technique. To use those methods, you select them and then select a new area. \iResize\i will expand and/or contract your image as needed to fit the available area. The second two options, \iHalve\i and \iDouble\i, do not require you to specify the target area. \bNote:\b \iDouble\i always interpolates, so it is a little slower. .Flip The \iFlip\i option produces mirror images of selected areas. The suboptions allow you to flip around an imaginary center vertical axis (making horizontal flips) or around an imaginary center horizontal axis (making vertical flips). .Paint The \iPaint\i option invokes a small, touch- up painter. You can draw colors on the screen using the mouse, when the left mouse button is pressed. The 'toolbox' on the screen allows the following modes: Draw - draw using last palette color. Xor - exclusive-or (invert) pixels. Random - draw with random pixels. Trace - draw, but connect between dots. To select a different color, currently you must leave edit mode, use the palette to pick a color, and return to paint mode. Sorry. To select the modes, you can use 'd', 'x', 'r', and 't' to select the Draw, Xor, Random, and Trace modes, respectively. .Position The submenus of the \iPosition\i menu allow control over the position of the open picture screen, which has no drag bar. The \iHigh\i, \iMiddle\i, and \iLittle\i selections put the screen at the top, halfway down, or near the bottom. Since menu selections are made from the WorkBench screen, the last two allow easy access to the ImageLab window. The command key mnemonics were chosen for convienent access using the right Amiga, not for some bizarre meaning. key. .Save Type The \iSave Type\i menu allows you to set the the checked item indicates the file compression method used. \iNo Compression\i and \iCompress Runs\i are the standard IFF compressions. The \iChoose\i performs a save to a RAM-type disk using each format, and then displays the resulting size - you then pick which one to keep. The default menu selection is the compression mode of the currently open picture, if any. .Bell The \ibell\i option, causes a bell to be sounded when an operation is complete. This is handy with some of the lengthy functions, such as FFT's. .Icons The \iIcons\i menu allows controlling whether icons are generated with saved picture files. The default is OFF if \uImageLab\u was started from the CLI, or ON if it was started from WorkBench. .FFT The \iFFT\i menu contains the main FFT transform function, \iTransform\i, \iInverse\i and \iDisplay\i. .Color to B&W The \iColor to B&W\i menu converts the color palette to a greyscale. It does this using the EIA weighting factors. This is one step in converting a color picture for \uImageLab\u use. Note: if the palette is not in order after using this command, use \iLinearize\i. .Linearize The \iLinearize\i menu sorts the palette, and rewrites all pixel values on the screen so that no change in appearance occurs. \uImageLab\u requires a linearly increasing palette for most operations to perform as expected. .Negative The \iNegative\i menu inverts the order of the palette. If you have a standard greyscale, this will produce a negative image. If not, unpredictable results will occur. .Saturate The \iSaturate\i menu saturates all colors in the palette. If the \bSHIFT\b key is held, then the intensity levels are forced to maximum values also; this produces a palette of primary colors. .Pseudo Color The \iPseudo Color\i menu converts a grey- scaled palette to a "thermographic" palette, where blue represents coldest (darkest) and red represents hottest (whitest). Values in- between are scaled accordingly. If the \bSHIFT\b key is held while selecting \iPseudo Color\i, the palette is given random colors. This serves no useful purpose, except for hours of enjoyment. .Delete Color The \iDelete Color\i menu brings up a window containing selection gadgets, one per color. Selecting the gadgets changes them to an 'X', and when "OK" is selected, all marked colors are deleted from the palette and their pixels are deleted from the picture. Unchanged colors and pixels are moved down, freeing up space in the palette/picture. .Map Color The \iMap Color\i menu brings up a window containing selection gadgets, one per color. Selecting the gadgets changes them to an 'X', and when "OK" is selected, the two (and only two) marked colors are exchanged in the palette and their pixels are exchanged in the picture. .Sobel The \iSobel\i transform is a specialized, highly effective edge detecting transform. Areas processed by the \iSobel\i transform will be replaced with bright pixels in area of greatest change, and dark where there is little change. .Roberts The \iRoberts\i transform is a specialized, effective edge detecting transform. Areas processed by the \iRoberts\i transform will be replaced with bright pixels in area of greatest change, and dark where there is little change. .Binary The \iBinary\i function converts the selected area to white or black, depending upon whether the pixel are greater than or less than a supplied value. .Threshold The \iThreshold\i function limits the selected area. Pixels outside a specified pair of limits are forced to be within that range. .Pixelize The \iPixelize\i function converts a group of pixels into their average value. This produces blocky images (i.e., "computerized"). .Transform The \iTransform\i function begins an FFT transform. The selected area must be a power of two in size (2, 32, 128, etc.); if not, a modification requester is brought up. When ready, the FFT operation begins. A bar chart monitors its progress. When done, the data is ready and is attached to the picture. Select the \iDisplay\i function to view the results. .Inverse The \iInverse\i function begins an inverse FFT transform. This converts the data back to an image. When done, the data can be displayed via \iDisplay\i. Theoretically, if no changes have occured to the raw FFT data, you should get your picture back. The \iPaint\i option also modifies any FFT data. .Display The \iDisplay\i function display a screen image using the FFT data. The options \iLog Display\i and \iNo Display\i control whether a logarithmic enhancement is applied to the data. Usually, this \bmust\b be done to \iTransform\ied images. .Intensity The \iIntensity\i function alters the apparent brightness of an area up or down in steps. The \iBrighten\i and \iDarken\i area additive operations, while the \iScale\i operations are multiplicative. .Merge The \iMerge\i function merges two pictures. The options are: Overlay - copy new picture to current, wherever the current pixel is black. Add - add the pixel values together. Subtract - subtract the pixel values together. And - logically AND the pixel values together. Or - logically OR the pixel values together. XOR - logically XOR the pixel values together. Other... - do a custom blitter operation. .Average The \iAverage\i function smooths a selected area by replacing each pixel by the weighted average of its neighboring pixels. Different suboptions select which neighbors to use. If the \bSHIFT\b key is held while selecting \iAverage\i, you can edit the control matrix. .Convolve The \iConvolve\i function alters a pixel based upon factors weighted by selected neighboring pixels. By varying the kernel used, smoothing, enhancing, or edge detection can be performed. If the \bSHIFT\b key is held while selecting \iConvolve\i, you can edit the control matrix. .Histogram The \iHistogram\i function counts pixels in a selected area, and shows a graph from that data. The \iInclude Black\i, \iExclude Black\i, \iBar Graph\i, and \iLine Graph\i options control its display. .Equalize The \iEqualize\i function adjusts the values in the palette so normalize the greyscale to a Gaussian distribution, producing a more normal appearance. \bNote\b: a \iHistogram\i function \bmust\b have been invoked first. .HAM Conversion The \iHAM Conversion\i function is enabled only when a HAM picture has been loaded. It converts the picture or selected area to a 16-color greyscaled image. \bNote\b: this function \bdoes\b work correctly for selected areas which do not start at the left edge. .Halftone The \iHalftone\i function converts the selected area or picture to a halftoned image. A halftone cell size of 2 or 3 can be selected. .Restrict Palette The \iRestrict Palette\i function prevents \uImageLab\u from using the upper half of a palette. This is needed to process DigiView pictures properly. .Greyscale The \iGreyscale\i function converts the palette to a linearly increasing greyscale. .Median The \iMedian\i filter replaces each pixel in an area with the median value of its eight surrounding pixels. .Minimum The \iMinimum\i filter replaces each pixel in an area with the minimum value of its eight surrounding pixels. .Maximum The \iMaximum\i filter replaces each pixel in an area with the maximum value of its eight surrounding pixels. .Distort The \iDistort\i function randomly distorts an area. A probability of 0% to 100% can be set. .Noise The \iNoise\i function randomly produces impulse noise in an area. A probability of 0% to 100% can be set. If the \bSHIFT\b key is held while selecting \iNoise\i, the noise generated is 0, instead of 1. .Palette The \iPalette\i function places a color palette on the screen. You can select each color, and alter its RGB components using the provided sliders. Select "OK" to make the changes permanent, or "CANCEL" to restore the old values. .Edit Parameters The \iEdit Parameters\i function changes the size and modes of the screen, producing a new screen. A window allows you to edit the screen width, depth, and height. You can select HAM, Interlace, and Extra-Half-Bright modes as well. If the \bSHIFT\b key is held while selecting \iEdit Parameters\i, it will ignore any selected area and will set the default width and height to the pictures true size.