CCSD3ZF0000100000001NJPL3IF0PDSX00000001 PDS_VERSION_ID = PDS3 RECORD_TYPE = FIXED_LENGTH RECORD_BYTES = 80 OBJECT = TEXT PUBLICATION_DATE = 1994-08-01 NOTE = "IMDISP USER'S GUIDE" END_OBJECT = TEXT END USER'S GUIDE FOR THE PDS IMDISP PROGRAM Chapter 1 INTRODUCTION This document describes version 7.5 of the IMDISP program, an interactive image processing utility for the IBM Personal Computer family (PC, XT and AT) and compatibles. It has been developed for use with the Compact Disk - Read-Only Memory (CD-ROM) storage systems currently being evaluated by the Planetary Data System (PDS). It can also be used to display and process images stored on floppy or hard disks. This User's Guide presents an overview of image processing and CD-ROM fundamentals, a section on the installation of IMDISP and CD-ROM software and hardware, a description of IMDISP program operation, a description of other utility programs which can be used in conjunction with IMDISP, and a command summary. Other support software for using the PDS CD-ROM disks has also been developed. These packages include the USGS Planetary Image Cartography System (PICS) for MicroVAX computers, a set of FORTRAN routines to access CD-ROM disks on VAX computers (VMSCD), and "C" language source code to process disks written in the High Sierra format. Contact Mike Martin (JPLPDS::MMARTIN on SPAN) for access to these tools. Chapter 2 BACKGROUND Efforts to utilize small computer systems for display and analysis of scientific data have been hampered by the lack of sufficient data storage capacity to accommodate large image arrays. Most planetary images require nearly a megabyte of storage. Over the past two years a new storage technology, "CD-ROM", has been developed which provides the capability to store up to 600 megabytes of data on a single 4.72-inch disk. The disks can be mass produced, and hundreds of copies of large digital archives distributed rather than the few sets currently produced. Readers for CD-ROM disks can now be purchased for under a thousand dollars for use on personal computers and some science workstations. The PDS has worked with industry and other government agencies to support the development of CD-ROM as a major data distribution and storage media for space science data. Initial development efforts by the PDS, the Voyager Project, and multi-disciplinary science representatives have resulted in the production of 12 CD-ROM disks containing about 30,000 images from the Voyager 1 and 2 encounters. The IMDISP program can be used to display most of these data files on a personal computer equipped with a CD-ROM drive. Any feedback on the use of IMDISP is greatly appreciated, and any of the following people can be contacted for reporting bugs, adding enhancements, etc: Mike Martin Jet Propulsion Lab Internet: mmartin@jpl-pds.jpl.nasa.gov SPAN: JPLPDS::MMARTIN Ron Baalke Jet Propulsion Lab Internet: baalke@kelvin.jpl.nasa.gov Archie Warnock Goddard Space Flight Center SPAN: STARS::WARNOCK Internet: warnock@stars.gsfc.nasa.gov 2.1 DIGITAL IMAGE PROCESSING SUMMARY A digital image is a picture converted to numerical form so that it can be stored and used in a computer. The image is divided into a matrix of small regions called picture elements, or pixels. The rows and columns of pixels are called "lines" and "samples", respectively. Each pixel has a numerical value, or DN (data number) value, quantifying the darkness or brightness of the image at that spot. In total, each pixel has an address (line number, sample number) and a DN value, which is all that the computer needs for processing. The DN value of each pixel usually represents a shade of darkness or brightness between black and white (gray levels). How many gray levels there are in an image depends on the number of bits used to represent each pixel intensity in the computer. The number of gray levels will be equal to 2^n, where n is the number of bits per pixel's DN value. If 8 bits are used to represent a pixel's DN value (gray level), the system will be capable of using 2^8, or 256, gray levels in an image, where DN 0 is pure black, and DN 255 is pure white. If each DN used only 4 bits of storage, the image would contain only 2^4 or 16 gray levels; if there were only 1 bit per DN, the image would contain only black and white pixels (bit values of 0 or 1). 2.2 OVERVIEW OF IMDISP CAPABILITIES While the specifics of IMDISP commands are discussed in Chapter 4, this section provides a general overview of how a user can manipulate images once a file is selected. There are DISPLAY commands which allow the user to display all or part of an image at various positions on the display screen. The user may also zoom in and out from a point on the image defined by the cursor, and may pan around the image. The cursor may be turned on or off; when on, the arrow keys are used to move the cursor around the screen; when off, the cursor is not visible. A user may choose to "subsample" the image, to enable more or all of the original image to be displayed on the screen at once. For example, if the image were subsampled by a factor of 2, every other pixel from every other line would be displayed, starting from the upper left corner of the image. If a factor of 3 were chosen, every third pixel from every third line would be displayed. Any positive integer may be used for subsampling. The user may produce a histogram of an image file, which is a graph showing the number of pixels per DN value, or per range of DN values, for the entire image. Histograms are overlaid on top of the image, but may be removed using the REFRESH command. Subsampling may be specified when computing a histogram to reduce the time required for the calculations. A profile may be created which plots DN value versus pixel along a line between two points on the image. After the cursor is used to select the two endpoints, the connecting line is drawn on the image and the profile is plotted at the bottom of the screen. There is a plot command to plot the actual data values in an image line. The user may also "stretch" the image, which is analogous to turning the contrast knob on a TV set. The user specifies low and high DN values; all pixels with values lower than the specified "low" become black, and all pixels higher than the specified "high" value become white. All pixels between the low and high values are evenly shaded between black and white. IMDISP also has several filter functions available. The user may process the image with a convolution filter, mean or median filters. There is also an edge detection filter, as well as functions to brighten, darken and smear the displayed image. There are bookkeeping types of commands, also. These allow the user to do such things as retrieve a desired image from the CD-ROM, to save an image to a file on hard disk, and to erase only the graphics from the screen or to erase the entire screen. Users may execute batch command files to do a series of tasks automatically. Lastly, the user may, of course, EXIT the IMDISP program when done. 2.3 GRAY LEVEL AND FALSE COLOR IMAGES Most planetary images are composed of 8-bit DN values representing monochrome brightness levels in the scene. To obtain color images, separate images are taken through color filters (red, green, blue) and are then combined by ground processing systems to produce a true color image. Only a very small fraction of planetary images are available in color versions. Most display and analysis is done on monochrome images. A display with 256 (2^8) gray levels is required to present the information contained in a standard image. However, the human eye can only distinguish about 32 gray levels. Thus 5-bit DN values would satisfy most display requirements. Unfortunately, computers are oriented to the storage of and manipulation of items which are a power of two, and 5-bit pixels would be very clumsy. The standard display devices which the IMDISP program supports are limited to 16 gray levels (PGA and VGA), 4 gray levels (EGA) or 2 gray levels (CGA), but the program also supports several "enhanced" VGA display devices offering up to 256 colors (or 64 shades of gray). The 16 gray levels of the PGA are adequate to support image analysis; however 4 or 2 gray levels are practically useless for viewing planetary images. Fortunately the EGA display will support 16 different colors, and a color palette can be selected which uses a graduated scale of colors to represent gray levels, producing a "false color" image (false because the displayed color does not represent the actual color of the scene). A false color image (also called a pseudo color image) is created from a black and white image by assigning a color (rather than a gray level) to each DN value in the image. For instance, a DN value of 128 could be reassigned to yellow if the user so desired. Ranges of DNs (e.g., 100-125) may also be assigned one color. Pseudo colors get assigned to DN values in a pseudo color table, which the display program then uses to determine how to color the image on the monitor. Display programs often have preset pseudo color tables with commonly used DN-color combinations, and the user can simply call for one of these when generating a pseudo color image. The option exists, of course, for users to generate their own pseudo color tables. Pseudo colors are often used to highlight features of an unusual nature in an image. Since the Enhanced Graphic Adapter for the IBM PC provides only 4 gray shades (black, dark gray, light gray and white) most image viewing is done using a pseudo color table which interprets gray levels as color values ranging from black through reds, greens and blues up to white. 2.4 RADIOMETRIC AND GEOMETRIC CORRECTIONS All camera systems have some kind of distortions in the lens, in the way the shutter works, etc. Distortions in the amount of fight transferred through the camera to the imaging plate are called radiometric distortions. Geometric distortion affects the "squareness" of an image, and is detected by taking an image of a geometric grid. For spacecraft cameras, both types of distortion can be measured before launch, and in a limited fashion, in flight. These measured distortions are saved in digital files. When a raw image is received, these "calibration files," as they are called, are subtracted from (or otherwise applied to) the image, effectively removing radiometric and geometric distortion. This process is called radiometric and geometric correction. Corrected images contain the closest possible representation of the scene being imaged. 2.5 IMAGE FILE FORMATS Digital image files are seldom stored as a simple array of pixels. Generally there is an area at the beginning of an image file containing descriptive information about the image. This is referred to as a label or header area. Figure 2-1 shows a diagram of a simple image format with a label area followed by the image lines. In practice, images from planetary missions have a more complicated format, due to the need to store additional information to allow proper interpretation of the image data. Figure 2-2 shows the format of a Voyager image, which has engineering parameters embedded at the end of each image line to form a line suffix area, an engineering trailer record after the last image line, and this is followed by an image histogram. -------------------------- Labels or Header Area -------------------------- Image Array Line 1 -------------------------- Image Array Line 2 -------------------------- . . . -------------------------- Image Array Line n -------------------------- Figure 2-1: Simple Image Format Different image label formats have been developed for use by nearly all image processing facilities. Two formats are widely used within the planetary and astronomy communities: the VICAR2 (Video Image Communication and Retrieval) labels used by the Multi-Mission Image Processing Laboratory (MIPL) and FITS (Flexible Image Transport) labels used for astronomy image interchange. The PDS has developed a label scheme which is very similar to these standards, called the Object Description Language (ODL). This format attempts to add a broader range of data descriptive capabilities to the proven capabilities of the existing label systems. A description of the ODL architecture is given in Appendix D. Most of the images stored on the PDS CD-ROM disks have either ODL or VICAR2 labels. IMDISP will automatically interpret these labels to determine the display format of the image data. -------------------------------------- PDS ODL Labels -------------------------------------- Image Array Line 1 Line Suffix -------------------------------------- Image Array Line 2 Line Suffix -------------------------------------- . . . -------------------------------------- Image Array Line 800 Line Suffix -------------------------------------- Image Engineering Trailer -------------------------------------- Image Histogram -------------------------------------- Figure 2-2: Voyager CD-ROM Image Format 2.6 CD-ROM FUNDAMENTALS The CD-ROM disk uses the same basic data storage format as a CD audio disk. In fact, data blocks are identified by minute, second and sector number, following the audio format. Data blocks are recorded along a spiral from the inner to the outer radius of the disk. Each raw data block (sector) contains 2,352 bytes of information, with 304 bytes used for housekeeping and error correction and 2,048 (2K) containing user data. Each data block is called a sector, and 75 sectors are stored per second. Since the nominal playing time of a CD disk is 60 minutes, the data storage capacity is 75 sectors per second * 60 seconds per minute * 60 minutes or 270,000 sectors. Thus the nominal storage capacity of a single CD-ROM disk is 540,000 kilobytes, which can be extended to more than 600,000 kilobytes and beyond by recording more than 60 minutes of data on a disk. In order to maximize the storage capacity of CD disks a constant linear velocity (CLV) recording format is used. This means that the player changes speed (slows down) as it reads from the inside to the outside of the disk, to maintain a constant flow of data under the read mechanism at a speed of 1.2 meters per second. This is in contrast to most magnetic disk drives which use constant angular velocity (CAV) storage, where the information density is greater on the inner tracks that the outer tracks. While the use of CLV recording increases the storage capacity of CD-ROM disks, it reduces access time, since the disk must change speeds as it moves to different positions on the disk radius. The strategy for locating a recorded data block is also more complicated than with constant angular velocity recording technology. As a result the average access time of CD-ROM drives is between 400 ms and 1 s, and the maximum data transfer rate to the host computer is 150 kilobytes per second. These rates are approximately an order of magnitude slower than magnetic disks. Therefore, the access mechanisms to disk directories and data must be customized for CD-ROM in order to provide acceptable performance. The development of a standard logical format for recording data files on CD-ROM disks was taken on by a group of CD-ROM applications developers, hardware vendors and computer vendors. The proposed standard resulting from this initial effort was called the High Sierra format. This format was submitted to the International Standards Organization (ISO) for consideration and approved on October 5, 1987. It is now referred to as the ISO-9660 standard. The format used for the early PDS CD-ROM disks is dated May 28, 1986, and differs slightly from the final ISO standard. Microsoft and other CD-ROM software developers have committed to supporting this preliminary version of the format in later software releases. However, software developed by other vendors to support the ISO format (DEC for example) will not support the format of these early disks. Chapter 3 IMDISP INSTALLATION IMDISP requires an IBM PC, XT, AT or 100 percent compatible with 512K of base memory. It supports several graphics display devices, including the Enhanced Graphics Adapter (EGA), the Video Graphics Array (VGA), the Professional Graphics Adapter (PGA), and the Color Graphics Adapter (CGA). The hardware environment in which the program has been developed and tested includes and AT class computer, deluxe or enhanced EGA board with 256K of memory, selected VGA boards with 512K or 1MB memory, and MultiSync (tm) or multiscan monitor. 3.1 PROGRAM SETUP The IMDISP program can be run from a floppy or hard disk. To use the program from a floppy disk, insert the program disk in the A: or B: drive and type the MS-DOS command: "A:" or "B:" to set the floppy disk as the default drive. To use the program from hard disk first create a directory to hold the IMDISP files. Use the MS-DOS command "MKDIR \IMDISP" to create a directory to hold the programs. Use the "CHDIR \IMDISP" command to make IMDISP the default directory. Insert the distribution floppy disk in floppy disk drive A:. Now type "COPY A:*.*" to copy the files from the distribution disk to your hard disk. You should now be able to run all examples from that directory on your hard disk. If you wish to use IMDISP from other directories, you need to include the IMDISP directory in your MS-DOS "PATH" command. This command provides MS-DOS with a list of directories to search when looking for a program file to run. If you wish to run IMDISP from different directories, the \IMDISP subdirectory should be added to the PATH command in your AUTOEXEC.BAT file. A sample path command would look like this: PATH=C:\DOS;C:\UTIL;C:\WORDSTAR;C:\IMDISP You may want to add a line to your AUTOEXEC.BAT file which will allow you to abort the display program while running batch files or displaying large image files. If the command "BREAK=ON" is placed in CONFIG.SYS, you will (sometimes) be able to terminate the IMDISP program by typing the control and break keys simultaneously. Different computer systems offer varying response to the control-break command, and the use of this command may effect other programs you use. You can set IMDISP to start up in the correct display mode for your video system by specifying the environment variable IMDISP in your AUTOEXEC.BAT file. A sample command to do this would look like this: SET IMDISP=ORCHID800 if you have an Orchid ProDesigner super VGA board with 512K of video memory. See section 3.3 for a description of all the possible supported video modes. IMDISP also builds various scratch files for use when browsing images or executing DOS functions. By default, they go in the root directory on drive C:. If you wish to have them written somewhere else, you may do that by specifying the desired directory in the environment variable IMBROWSE. A sample command to do this would look like this: SET IMBROWSE=D:\TEMP\ This will make IMDISP write its scratch files in the subdirectory TEMP on drive D:. Note that the final backslash (\) is required. We recommend that the drive specified by IMBROWSE have at least 512K of free space - the scratch file written when using any of the DOS system calls can be as large as that. Also, if you have a collection of color palettes in a separate subdirectory, you can specify this directory as being the default palette directory. For example: SET IMPALETTE=D:\IMAGES\PALETTES\ will tell IMDISP to look in the D:\IMAGES\PALETTES directory first when loading in a color palette with the PAL LOAD command. IMDISP can use extended memory, managed by an XMS memory driver like HIMEM.SYS or QEMM, for its refresh buffer. If no extended memory is available, IMDISP will not set up a refresh buffer by default, but will allow the user to open a disk file to be used for refreshing the screen. In this case, the environment variable IMREFRESH defines where the refresh buffer is to go, so SET IMREFRESH=G:\ tells IMDISP to put the refresh buffer in the root directory of drive G:. Note that the refresh buffer can be quite large - a 1024x768 display will require 768K of disk space (or XMS memory) to hold the entire buffer. 3.2 CD-ROM SETUP To use the IMDISP program with PDS CD-ROM disks you will need a CD-ROM reader, interface board, and software provided by the vendor which will make your CD Reader look like a disk drive to your PC. The details of setting up your hardware and software configuration are beyond the scope of this manual, however several aspects of setup will be reviewed. There are many potential pitfalls in setting up your hardware and interface board. Read the directions carefully, and don't assume that "default" switch settings are correct. Check all switches to see that they correspond to the recommended settings. To work properly with the batch command and label files provided with IMDISP, your CD-ROM drive should be set up to be drive letter "L:". Most vendor software allows you to select the drive letter which will be assigned to the CD-ROM reader. 3.2.1 Microsoft Extensions If you are using the Microsoft Extensions you will load a CD-ROM device driver as part of your CONFIG.SYS file (or two drivers if using the Philips or DEC readers) with a line like this: DEVICE=HITACHI.SYS /D:CDROM1 /N:1 This command assumes that the driver file "HITACHI.SYS"is located in your ROOT directory. The /D:CDROM1 switch assigns a logical name CDROM1 to the drive. A name must be supplied, and is used to identify this device, in case more than one CD-ROM drive is being used on your system. The name should not be the same as the name of any file stored on your system. An attempt to open a file with the same name as the device driver will result in the device driver being opened, not the file. The /N:1 switch indicates that this is drive 1. This switch is used since some CD-ROM interface cards support multiple drives. Other commands which should be included in CONFIG.SYS if you are using a CD-ROM drive with the Microsoft Extensions are: LASTDRIVE=Z FILES=30 BUFFERS=50 The LASTDRIVE command tells MS-DOS to allow for enough drive letters to support the CD-ROM drive, plus any other drives on your system. Using LASTDRIVE=L should also work in most circumstances. The files and buffers specifications provide sufficient system work area to support CD-ROM operations. You must also execute a program called MSCDEX.EXE which allows access to the CD-ROM drive as if it were a disk drive on your system. This command can be put in your AUTOEXEC.BAT file so that it is automatically run whenever you start-up your computer. The command format is: MSCDEX /D:CDROM1 /L:L /M:20 /V /E Several MSCDEX command switches are illustrated. The /L:L command assigns the drive name L: to the CD-ROM drive. The /D switch gives the device name of the CD-ROM drive (which must be the same name used in the device name parameter of the "DEVICE=CDROM.SYS" command in the CONFIG.SYS file. The /M:20 switch assigns twenty 2K blocks of memory as a buffer for use with CD-ROM data. The /V switch provides verbose messages when the installation program is run, and /E tells the program to use expanded memory for the cache area. 3.2.2 Other Driver Software Some vendors (Reference Technology, TMS) offer CD-ROM software which is comparable to the Microsoft Extensions. Our experience with these software packages is that they modify the internals of MS-DOS and may cause unpredictable results with your other PC software. They often do not support CD-ROM applications designed to work with the MS-DOS extensions for CD-ROM and cannot be used with the IMDISP FILE prompt mode. 3.2.3 Problems with CD-ROM Software The PDS CD-ROM disks utilize a feature of the CD-ROM format standard which provides extended attribute records to define the physical characteristics of data files. These records will be used by VAX and other minicomputer systems where the operating system allows a variety of record formats (fixed, variable, stream). Many of the earlier implementations of High Sierra software failed to recognize these records, which are placed at the beginning of a file's data area. If your CD-ROM software was developed prior to April 1987, it may interpret these records as part of the data file, causing the first 2K bytes of each file to appear as meaningless binary data. Users with this problem should contact their hardware or software vendors for updated versions of the CD-ROM software. The IMDISP program has been patched to recognize and skip over these records on the PDS CD-ROM disks, but these patches may not support other CD-ROM disks with extended attribute records. 3.3 DISPLAY DEVICE CHARACTERISTICS IMDISP automatically finds out which display devices are available (PGA, EGA, or CGA) and uses the one available. The Enhanced Graphics Adapter must have at least 128K of memory to work properly. Use of the Color Graphics Adapter is discouraged because the pixels have no gray levels, only black or white. The display coordinates start at (1,1) in the upper left corner of the screen; the line direction is down and the sample direction is to the right. 3.3.1 Enhanced Graphics Adapter (EGA) The EGA is a bit-mapped display device providing a resolution of 350 lines by 640 samples of 4-bits each. It produces a digital video signal for each primary color (red, green and blue), The video signal for each color can be set to one of four levels, roughly equivalent to off, low, medium and high. Thus the number of possible colors (color palette) is 64 (4^3). The following table illustrates the colors created by some of the different combinations of red, green and blue. Red= off, Green= off, Blue= off results in Black Red= low, Green= off, Blue= off results in Dark Red Red=medium, Green= off, Blue= off results in Light Red Red= high, Green= off, Blue= off results in Bright Red Red= low, Green= low, Blue= low results in Dark Gray Red=medium, Green= low, Blue= off results in Brown Red=medium, Green=medium, Blue= off results in Yellow Red=medium, Green=medium, Blue=medium results in Light Gray Red= high, Green= low, Blue= off results in Orange Red= high, Green= high, Blue= high results in White Table 3-1: Sample EGA Color Palette Settings The EGA display is limited to only 16 colors out of the 64 possible, because only 4-bits are used to store each pixel value in memory. This 4-bit pixel value points to an entry in the color table which represents one of the 64 possible combinations of red, green and blue which can be displayed. Many of the newer EGA boards are capable of displaying additional lines and samples when using a MultiSync (tm) or Multiscan monitor. The standard EGA uses a 16 Mhz crystal oscillator (something like a clock which regulates the display speed), which limits the video output rate to the equivalent of 640 pixels by 350 lines. The EGA circuitry allows for a faster crystal oscillator to be added to the board (24 Mhz and beyond) allowing about 25 percent more lines to be displayed (480 lines instead of 350). A method for adding this capability to an existing EGA board (for about $10 worth of parts) is described in the September 16, 1986 issue of PC Magazine. This mode requires that a MultiSync (tm) or multiscan monitor be attached to the computer, and there is no way for the program to automatically detect the presence of the special monitor. Therefore this display mode is invoked by specifying an MS-DOS "ENVIRONMENT" variable. This is done by issuing an MS-DOS "SET" command at the MS-DOS prompt as follows: SET IMDISP=EGA480 This command can also be put in your AUTOEXEC.BAT file using a text editor, so that you need not invoke it each time you run IMDISP. It should have no effect on other MS-DOS system operations. There is a chance that adding this variable will exceed the size reserved by MS-DOS for environment variables. If so, you should consult your MS-DOS manual to increase the environment size on your system. The environment variable can be removed with the MS-DOS command: SET IMDISP= where a carriage return is typed immediately after the equal sign. The 480 line mode requires an additional 83K of memory for the refresh buffer. If you try this mode and receive the message "Insufficient memory for line buffer", it is probably because you have a 512K memory machine, or have memory resident programs operating (like Sidekick or Superkey) which reduce the available memory to less than about 400K. You will need to use the 350 line mode or remove some memory resident programs to operate in 480 line mode. Users of the EGA with MultiSync (tm) and Multiscan monitors can achieve a 16 gray level display through the use of a special device called the Grayscaler 1, from Avocado Computer, Box 632, Yorba Linda, Ca, 92686, (714) 528-1025. This cable converts the digital video signals produced by the EGA board to analog signals. By selecting appropriate EGA palette entries, a fairly good representation of 16 gray levels can be achieved (use the palette selection "PAL LOAD GRAY16.PAL" to select this palette). 3.3.2 Video Graphics Array (VGA) This version (5.7) of the IMDISP program includes support for the IBM Video Graphics Array (VGA) display device. The VGA produces an analog display with several new color modes. Of particular interest to IMDISP users are the 640 x 480 line mode with 16 displayable colors (or gray levels). The 320 x 200 line mode with 256 displayable colors (or 64 gray levels) has been tested but produces very blocky pixels. This version of IMDISP also supports a number super VGA graphic boards (see below). To set the VGA display mode you must set a MS-DOS environment variable prior to executing IMDISP. To set the environment variable use the MS-DOS command: SET IMDISP=VGA This will put the display in 640 sample by 480 line mode, with 16 gray levels or colors displayable from a palette of 256K. The display is initialized with a gray scale palette, but a pseudocolor palette can be invoked with the IMDISP command "PAL PS 0". The "PALETTE EDIT" command will allow you to step forward or backward through the 64 available shades for each primary color. See the next section of the IMDISP manual for more information on the palette edit function. Users may experiment with the 320 x 200 VGA mode by using SET IMDISP=VGA320 The pixels are rather large in this mode, but there are enough colors to display images nicely. 3.3.3 Professional Graphics Adapter (PGA) The PGA is a special graphics board developed by IBM for use with CAD/CAM applications on the IBM PC. Because its architecture is incompatible with the CGA and EGA boards, it has not been well received by software developers. The PGA provides an analog video signal with a display resolution of 480 lines by 640 samples of 8-bits each. It provides 16 intensities for each primary color, resulting in a palette of 4,096 colors (16^3). The color table allows 256 colors to be displayed simultaneously, however only 16 gray levels can be selected. Use the command: SET IMDISP=PGA at the MS-DOS prompt to force IMDISP to go into PGA display mode. 3.3.4 Color Graphics Adapter (CGA) The CGA display is a bit-mapped graphics device with a resolution of 200 lines by 640 samples of 1-bit each. It supports only 2 colors in this display mode, black and white. This display can be used to get a general idea of the contents of a digital image, or for displaying one bit images (graphics for example) but is not recommended for use with the PDS CD-ROM images. To force a multi-function display card into CGA mode, use: SET IMDISP=CGA 3.3.5 Super VGA Display Boards Several high resolution display boards are supported by this version of IMDISP. Most of them support resolutions with 256 colors or 64 grayscale levels. Select one from the following list if it matches your display board: SET IMDISP= Resolution Board Name ATI640 640x480x256 ATI VGA Wonder Board (512K) ATI800 800x600x256 ATI VGA Wonder Board (512K) ATI1024 1024x768x16 ATI VGA Wonder Board (512K) EVGA512 512x480x256 Everex EV-673 Board (256K) EVGA640 640x400x256 Everex EV-673 Board (256K) ORCHID 640x480x256 Orchid ProDesigner+ Board (512K) ORCHID800 800x600x256 Orchid ProDesigner+ Board (512K) ORCHID1024 1024x768x256 Orchid ProDesigner+ Board (1MB) PARADISE 640x480x256 Paradise VGA Board (400 lines if the board has 256K of memory) TRIDENT 640x480x256 Trident-based SVGA boards (512K) VESA 1024x768x256 VESA SVGA Interface (1MB) (test) 3.4 MULTIPLE BUFFERS Multiple copies of images (or the entire screen) can now be copied and stored away into buffers, limited by the available memory. If you don't have enough memory, the buffers can still be used, but as virtual files (see HINTS & TIPS ON CONSERVING MEMORY, down below). Using the buffers, images can now be merged together to create interesting effects. You can add or subtract images from each other. You can store an image away into a buffer before applying a filter, and if you didn't like the result, then retrieve it back from the buffer, effectively creating an UNDO feature. You can create a "face-on-Venus image" by merging the face-on-Mars image with a Magellan image. There are 26 buffers available in IMDISP, limited by memory or disk space. The buffers are referenced by name as a single letter, one for each letter of the alphabet (A-Z). 3.5 HINTS & TIPS ON CONSERVING MEMORY If you have no extended memory, or don't have enough extended memory, don't despair. You can still use the buffers if you use the following tips to help you maximize the use of the memory o IMDISP will automatically create a refresh buffer in extended memory whose size is he size of the screen. You can disable the refresh buffer and this memory will be freed up for buffer use. To disable the refresh buffer, type: SET REFRESH OFF The refresh buffer can be enabled with SET REFRESH ON o IMDISP will also attempt to load an entire image into extended memory whenever you do the FILE command. You can have IMDISP not do this by using the NOMEMORY option: FILE IO.IMG NOMEMORY o If you are using a Super VGA graphics card in its highest resolution, then if you switch to a lower screen resolution, this will generally cause the buffers to be smaller. For example, if you using an Orchid Pro Designer II card in its highest resolution (1024x768), then you can switch to the 800x600 or 640x480 screen resolutions: SET DIS ORCHID800 SET DIS ORCHID o Subsample the image so that it doesn't take up the entire screen, which then can be saved to smaller buffers: DISP SUB 3 o Use the FILE option on the COPY or MERGE commands to store buffers into a file instead of extended memory. o Erase any unused buffers: ERASE A Chapter 4 IMDISP OPERATION IMDISP can be used to display images up to several thousand lines and samples with a variety of pixel formats. These formats include bit (1 bit), nibble (4 bits), byte (8 bits), integer (16 bits) or long integer (32 bits). Integer pixels may be byte-swapped, which means that the sign and most significant 7 bits are in the rightmost byte, and the least significant 8 bits are in the leftmost byte. This is the convention used by both the IBM PC and VAX computer hardware families. IBM mainframes and 68000 series computers (Macintosh and Sun, for example) use un-byte-swapped integers. Program interaction with the user is via commands typed in response to the "COMMAND:" prompt. Most interaction is performed on the graphic display screen, and program messages are printed over any image display currently on the screen. The REFRESH command can be used to restore an image after other commands have written text over the display. The ERASE command can be used to clear away the clutter left by program status messages and previously displayed images. The screen is not automatically erased after each operation in order that multiple images can be displayed simultaneously, or so a histogram can be placed on the screen with the image. IMDISP is invoked by typing "IMDISP" or "IMDISP filename", where filename is the name of an image file to be opened for processing at program start-up. The filename may include a disk drive and path name specification. The program will blank the display screen and display a welcome logo, then the prompt "COMMAND:" will appear in the lower left portion of the screen. If a filename is included in the command invocation, the welcome message is not displayed and the screen will display the COMMAND: prompt. Typing "HELP" at the command prompt will provide a list of IMDISP commands. The most frequently used commands are "FILE" to open a file for processing, and "DISPLAY" to display an image once the file has been opened. 4.1 COMMAND SYNTAX The command line syntax is of the form: COMMAND KEYWORD1 = VALUE1 KEYWORD2=VALUE2 KEYWORD3 VALUE3 ... The command line may be typed in either upper or lower case. The command and the keyword names may be abbreviated to 3 characters in most cases. Any number of spaces may be inserted between words, and the keyword and value may be separated by a space or an equals sign. Some keywords do not require a value. All keywords are optional and have default values. 4.2 COMMAND DESCRIPTION Table 4-1 presents a summary of IMDISP commands. They are separated into 3 groups, file manipulation commands; display commands and program control commands. Only the capitalized letters are required to specify a command. 4.3 OPERATING MODES Several of the commands invoke special program operating modes. These include the FILE command when issued without a filename argument and the CURSOR, PROFILE and PALETTE EDIT commands. The FILE mode displays a list of files in the current directory on the screen for selection. It also contains several subcommands for controlling the display of files on the menu screen. In the CURSOR, PROFILE and PALETTE EDIT commands the cursor keys (arrow keys) on the numeric keypad are used in conjunction with other keys to control program operation. These modes are exited by typing either a period '.' or carriage return. File oriented commands: CD or CHDIR . . . . to change the default directory DIRECTORY . . . . to perform the MS-DOS directory command FILE . . . . to specify the name of the image LABEL . . . . to display the image labels LOG . . . . to save (log) commands to a text file SAVE . . . . to save the image display to a file TYPE . . . . to perform the MS-DOS type command Display commands: BROWSE . . . . to display a group of images CURSOR . . . . to move the cursor around DISPLAY . . . . to display the image ERASE . . . . to erase the display HISTOGRAM . . . . to display the histogram of the image OVERLAY . . . . to place an overlay on the image PALETTE . . . . to adjust the palette for the display PERSPECTIVE . . . . to plot a pseudo-perspective of the image PLOT . . . . to plot image lines and spectra on the display PROFILE . . . . to plot a profile of the image REFRESH . . . . to refresh the image plane SET . . . . to set display options TEXT . . . . to draw text on the image Image processing commands: BRIGHTEN . . . . to brighten the image COPY . . . . to copy images to/from memory buffers DARKEN . . . . to darken the image ENHANCE . . . . to apply various filters to the image: BAALKE CONVOLUTION EDGE LOG MEAN MEDIAN POWER STAIR SMEAR UNSHARP MASK . . . . to mask off pixels in the image MERGE . . . . to combine image and memory buffers NEG . . . . to invert the color palette PALETTE . . . . to adjust the palette for the display SLANT . . . . to slant the image to the right or left STRETCH . . . . to do a linear gray scale stretch Program control commands: BATCH . . . . to execute a batch command file EXIT or QUIT. . . . to exit from the program HELP . . . . Display help information MENU . . . . to select images from a menu file SYSTEM . . . . execute an MS-DOS command Table 4-1: IMDISP Command Summary 4.4 ERROR HANDLING If an invalid command is issued at the COMMAND: prompt the program will beep and return to the COMMAND: prompt. In handling command parameters the program takes action on those parameters that are recognized, but ignores invalid parameters. It is also possible for certain system errors to be encountered which cause the program to abort leaving your computer in graphics mode. If you are using certain utilities which reset the default text mode screen colors (like the Norton Utilities screen attributes command) you may not be able to see what is being printed on the screen. The simplest approach is to perform a warm boot, by typing the Ctrl, Alt, Del keys simultaneously. Alternately, you can often type IMDISP then EXIT to reset the computer to text mode. Errors in processing image files on CD-ROM, hard disk or floppy disks can cause these aborts. 4.5 COMMAND REFERENCE This section lists all IMDISP commands alphabetically and describes their function, parameters which control command operation, and provides examples of command use, In the command and parameter description the following conventions are used: filename represents the name of an MS-DOS file, and may include an optional drive identifier and path specification. n represents an integer value. 4.5.1 BATCH The BATCH command reads commands from the specified batch command file. If no file name is specified the current directory is searched for a file named BATCH.CMD. The CURSOR, PROFILE and PALETTE EDIT commands should not be used within batch command files since they require interactive inputs from the keyboard. Batch files may be nested. The BATCH command may take the following argument: filename filename of batch command file. A batch file is simply a text file containing a list of commands, with each command terminated by a carriage return. You can add comments to a batch file by putting a semi-colon on the line. Everything from the semi-colon to the end of the line is ignored. If the command file is created with a word processor, the program should be used in the non-document mode, to assure that carriage returns are embedded between command lines. An example of creating a batch file to display the PDS logo image follows. At the MS-DOS command level type: COPY CON TEST.CMD FILE LOGO.IMG DISP ZOOM 4 DISP ZOOM 2 DISP DISP SUB 2 EXIT Now run IMDISP and type "BATCH TEST.CMD" at the "COMMAND:" prompt. Make sure the file "LOGO.IMG" is in your current directory. The PDS logo should be displayed on the screen in several different sizes. 4.5.2 BRIGHTEN The BRIGHTEN command adds a constant value to all pixels in the displayed image. If no value is specified, the default is 10% of the total range of DN values (i.e., 2 will be added to all pixels in 16-color modes, 26 will be added in 256 color modes). Examples: BRIGHTEN BRIGHTEN 50 4.5.3 BROWSE The BROWSE command will display all images in a directory one after another. An optional directory mask can be supplied to display only selected files ("BROWSE *.IMG"). The command creates a list of files to be displayed, then creates and executes a batch command file to display those images. After each image is displayed, the filename is displayed at the top of the image. A BROWSE session can be interrupted by pressing control-s, then restarted by pressing control-q TWICE. A session can be halted by typing any other key during the display. It can then be restarted (from the beginning) with the command "BROWSE C:BATCH.CMD". The default file name for the batch file created by the BROWSE command is 'C:BATCH.CMD'. This name can be changed using the "SET BROWSE fname" command where fname can consist of a drive letter and filename, which should be terminated with the extension ".CMD". It can also be set from DOS or in your AUTOEXEC.BAT file by using the environment variable IMBROWSE. For example, the DOS command SET IMBROWSE=D:\TEMP\BROWSE.CMD will make the create the BROWSE command file in the subdirectory TEMP on drive D:. The BROWSE command has one argument and several optional keywords. fname optional file selection mask (must immediately follow the command BROWSE). Examples: *.img, D:\IMAGES\*.IMG, L:*.BRS. SIZe n allows the display of multiple images on the screen. For example, on a 640x480 VGA display, six 200x200 images can be displayed adjacent to each other. SUBsample n used in conjunction with the SIZE command, to scale each image to fit in the SIZE specification. Same as SUB option used with the DISPLAY command. NOLabel inhibits writing the file name label at the top of each image as it is displayed. The default is that labels are enabled. DNLow DNHigh sets the DN range for all images (see SET). PAUse n pauses display for n seconds when the screen gets full. ALL searches all subdirectories in addition to the current directory, looking for files matching the mask. AUToset n sets DNLO adn DNHI to n% of the full range, based on the image histogram. The default is 5%. SELect interactively selects files as they are being displayed and writes the filenames out to a "select" file. The default select file is "C:\IMDISP.SEL" and this can be changed by using the SET SELECT command. FILe fname select files to browse from a file instead of using a mask. The file will contain a list of files, and the list can have wildcarded names. The filename can also be the IMDISP.SEL file created earlier with the SELect option. BUFFERS browses through all the memory buffers which have been created. EXAMPLES: BROWSE *.* SIZE 200 SUBSAMPLE 4 will display all the files in the current directory, subsampling each by 4 and displaying them in a 200 x 200 window. The command: BROWSE *.IBG SIZE 100 SUB 2 PAUSE ALL when used with the Voyager browse images will display all of the browse images on the screen (including the subdirectories), pausing each time the screen fills up with images. BRO *.* SIZE 200 ALL SELECT NOLABEL will allow the selection of individual images and BRO FILE C:\IMDISP.SEL SIZE 200 will redisplay the images that you just selected. BROWSE BUFFERS PAUSE displays the contents of each buffer, pausing in between each display. BRO BUFFERS SIZE 100 SUB 4 displays a small version of each buffer. *** NOTE *** BROWSE does not distinguish between image and non-image files, and it is up to the user to provide the appropriate directory mask to select ONLY images. If a message "Image does not have proper label" comes up on the screen during BROWSE, it is probably because a non-image file is in the directory you are browsing. You can type carriage returns several times to get back to the "COMMAND:" prompt, and the browse will continue. If you are using BROWSE on a computer without a hard disk, you will have to use the SET BROWSE command to change the default browse file name to a writable disk drive, for example: "SET BROWSE A:BROWSE.CMD". If you are using BROWSE to view files on a CD-ROM disk, be sure to include the drive letter of a writable disk drive if you specify a BROWSE file name. The text editor to produce your own custom command files. 4.5.4 CD or CHDIR The CD or CHDIR command is used just as it is at the MS-DOS command level to change the current default directory. The argument of the CD command is the path name specification of the new default directory. For example, "CD \IMDISP\IMAGES" would make \IMDISP\IMAGES the current directory if it exists. To change the current default drive use the "SYSTEM" command ("SYSTEM L:" for example) or the "FILE" command. If there is not enough memory available for the system command to be executed an error message is displayed. 4.5.5 COPY The COPY command will attempt to copy the image last displayed with the DISPLAY command, the screen or another buffer to a destination buffer. IMDISP will attempt to put the buffer into extended memory. An FILE option is provided to allow the buffer to be put into a file on the disk. COPY buffer [FILe] COPY TO buffer [FILe] COPY source TO buffer [FILe] where buffer = A-Z where source = A-Z or SCReen Examples: COPY A Copies the last displayed image to buffer A COPY A TO B Copies buffer A to buffer B COPY A TO B FILE Copies buffer A to buffer B, buffer B is a file COPY SCREEN TO Z Copies the entire screen to buffer Z 4.5.6 CURSOR The CURSOR command is used to select a point in a displayed image for subsequent display commands. When first invoked, it places a small cursor symbol at the center of the screen. Depending on the current contents of the screen, the cursor may be hard to see. Moving it with the arrow keys on the numeric keypad will help you locate it. If you have a mouse, it will also move the cursor around. Whenever the cursor is moved, the current line and sample location of the cursor and the DN value of the pixel at that point is printed in the lower right portion of the screen. The cursor will move 16 pixels in the selected direction unless the movement value is adjusted using the + or keys. Numeric Keypad Keys ------------------------------- | 7 | 8 | 9 | PrtSc | | Home | Up | PgUp | | ------------------------------- | 4 | 5 | 6 | - | | Left | | Right | | ------------------------------- | 1 | 2 | 3 | + | | End | Down | PgDn | | ------------------------------- Action of Keypad Keys: 7 = Move up and left. 8 = Move up. 9 = Move up and right. 4 = Move left. 5 = Not active. 6 = Move right. 1 = Move down and left. 2 = Move down. 3 = Move down and right. - = Decrement cursor movement value. + = Increment cursor movement value. Table 4-2: IMDISP Cursor Keys Cursor mode is exited by typing a "." (period) or carriage return or by tapping the left button on the mouse. The cursor position is retained for future use in DISPLAY commands which use the CENTER option. It is very useful with large images where the entire image may be displayed using the subsample option, then a point selected for subsequent display at full resolution. You can specify the starting position of the cursor with the subcommands DSL (Display Starting Line) and DSS (Display Starting Sample). Otherwise, the cursor starts off at the position where it was left last. Example: Type "FILE MONTAGE.IMG" followed by "DISP" to display the MONTAGE.IMG file. Type "CUR" to enter the cursor mode, then move the cursor to the center of the Uranus image in the upper left corner of the image using the up and left arrow keys. Now type "." to exit cursor mode, then type "DISP ZOOM 4 CENTER" which will display Uranus as a large grainy ball on the screen. 4.5.7 DARKEN The DARKEN command subtracts a constant value from all pixels in the displayed image. If no value is specified, the default is 10% of the total range of DN values (i.e., 2 will be subtracted from all pixels in 16-color modes, 26 will be subtracted in 256 color modes). Examples: DARKEN DAR 100 4.5.8 DIR The DIR command is used just as the MS-DOS dir command. Its argument is passed to MS-DOS for execution. At the end of the directory listing the screen will display "Type carriage return to continue:" which will return to the IMDISP command mode. If there is not enough memory available for the system command to be executed an error message is displayed. 4.5.9 DISPLAY The DISPLAY command reads an image file and displays it on the the screen. If the image is larger than the display screen, the default mode is to display as much of the upper left portion of the image as will fit on the screen. The SUBSAMPLE keyword can be used to select every 'n' lines and samples so that representations of very large images may be displayed. The ZOOM keyword can be used to enlarge a portion of an image on the display screen. Keywords can be specified to begin displaying at any line and sample in the image with the SL (starting line) and SS (starting sample). If only a limited number of lines and samples are to be displayed the NL (number of lines) and NS (number of samples) keywords can be used. The UP, DOWN, LEFT and RIGHT keywords can be used to display different portions of the image, relative to the currently displayed portion. The display can also placed at any point on the screen using the DSL (display starting line) and DSS (display starting sample) keywords. The FLIP keyword displays the image from the bottom of the screen to the top, rather than the other way around. DISPLAY takes the following keywords : buffer displays the image in the named memory buffer SUBsample n a positive integral subsampling factor for displaying images larger than the size of the screen. SUB=2 would display an image at half the resolution. If the image lines and samples look like this: sample values line 1 1 2 3 4 5 line 2 6 7 8 9 10 line 3 11 12 13 14 15 Then the command DISP SUB 2 would produce: sample values line 1 1 3 5 line 2 11 13 15 ZOOM n a positive integral zoom factor for looking at part of an image close up. The zoom command replicates pixels by the integer value specified. If the image lines and samples look like this: sample values line 1 1 2 3 line 2 4 5 6 line 3 7 8 9 Then the command ZOOM 2 would produce the following: sample values line 1 1 1 2 2 3 3 line 2 1 1 2 2 3 3 line 3 4 4 5 5 6 6 line 4 4 4 5 5 6 6 line 5 7 7 8 8 9 9 line 6 7 7 8 8 9 9 CENTER center the display around current cursor position. This command is very useful when displaying large images or when zooming in on selected areas. Should be used after using the CURSOR command. NL n NS n number of lines or samples from the image file to display SL n SS n starting line or sample within the image file to display UP n DOWN n adjusts the starting line up or down from the previous value, thereby moving the display window up or down in the image. The default amount to move up or down is the size of the display. LEFT n RIGHT n adjusts the starting sample left or right from the previous value, thereby moving the display window left or right in the image DSL n DSS n start the image display at the specified line and sample on the display screen. FLIP flips the image top to bottom, so the image is displayed from the bottom of the screen to the top. NOPrompt displays the image without display the command line prompt (COMMAND:) at the bottom of the screen. This is to accommodate screen captures of IMDISP displays. AUToset n sets DNLO and DNHI to n% of the full range, based on the histogram. The default is 5%. NOMemory tells IMDISP not to attempt to load the image into extended memory as it displays the image. SOUrce used to display the source file of a browse image. The source file is specified with the SOURCE_FILE_NAME and SAMPLING_FACTOR keywords in the label. The source file is centered on the current cursor position in the browse file. Does not work with Voyager or Viking compressed images. Examples: The user wants to display an entire Voyager image (800 x 800) on the display screen then display a portion of the image at full resolution. Type "FILE MIRANDA1.LBL", then "DISP SUB 2" to display the entire image at half resolution, Use the CURSOR command to move the cursor to the center of an area of interest. Exit the cursor mode by typing ".", then type "DISP CENT" to display the selected portion of the image at full resolution. The user wishes to place 2 images which are each 800 lines by 800 samples on the screen next to each other. The first file is opened with "FILE IMAGE1.IMG". The "DISPLAY SUB 4" command is given to display every 4th line and sample of the image to create a 200 x 200 display. Next the "FILE IMAGE2.IMG" command is given. Now a "DISPLAY SUB 4 DSS 201" is given to place the second image on the screen starting at display sample position 201, next to the first image. Examples: DISP SUB 2 DISP SUB 3 DSS 200 DISP SUB 4 DSL 300 DISP CEN ZOOM 2 (Use CUR first to select a center) DISP A Displays buffer A DISP A SUB 2 Displays buffer A, subsampled twice DISP A CEN ZOOM 3 Zooms in on the center of buffer A 4.5.10 ENHANCE The command ENHANCE applies a number of image processing filters to the image. It can either be applied to the entire image (from the input file) or simply to the displayed portion of the image. ENHANCE takes the following subcommands: SCReen applies the filter to the entire screen. If this option is not selected, then the filter will be applied to the image last displayed with the DISPLAY command. BAAlke applies an enhancement filter developed by Ron Baalke. CONvolution n applies a convolution filter to the image which has the effect of detecting the edges. A 3x3 mask is used. There are two variations of this filter used (n = 0 or 1). Integer arithmetic is used to speed up the process. The following weighted mask is used: -1 -1 -1 -1 8 -1 -1 -1 -1 EDGe n applies an edge enhancement filter to the image using a 3x3 mask. There are four variations of this filter (n = 0, 1, 2, 3). Integer arithmetic is used to speed up the process. LOG n applies a logarithmic filter to the image which has the effect of enhancing the contrast in the image. Useful on dark images or on images like stars and galaxies. The parameter that goes with this one is a little different than the other filters, in that you specify a factor (default=40) which is multiplied with the log of the pixel value. Examples: MEAn n applies a mean filter to the image which has the effect of smoothing out the image. There are three variations of this filter (n = 0, 1). A 3x3 (n=0), 5x5 (n=1) or 7x7 (n=2) mask is used where the middle pixel is replaced by the average of the nine pixels in the mask. Integer arithmetic is used to speed up the process. MEDian applies a median filter to the image which has the effect of smoothing out the image. A 3x3 mask is used where the middle pixel is replaced by the middle of the nine pixels after they have been sorted. The sort used is a simple bubble sort which is terminated halfway through the sort process since the median value will be found by then. POWer n modifies the pixels of the image by the following equation: newDN = numDN * (oldDN/numDN) ^ n where n is a floating point number. The default value is 2.0. Values less than 1.0 tend to brighten the image, while values greater than 1.0 tend to darken it. STAir n groups pixels together with the net result of smoothing the image. The default step increment is 8 SMEar applies a filter which averages the image in the vertical direction. The result is to "smear" the images down the screen. UNSharp applies an unsharp mask to the image, which has the effect of enhancing edges in the image. It is the equivalent of performing a merge with 3 times the original image minus 2 times the image after it has been blurred with a 5x5 mean filter. Examples: ENH MEAN ENH EDGE ENHANCE EDGE 2 ENHANCE BAALKE SCREEN ENH CON 1 ENH SMEAR SCR ENH POWER .1 (similar to ENH LOG) ENH STAIR 2 (creates a binary 2-color image) 4.5.11 ERASE The command ERASE causes the screen to be erased by setting all of the pixels to 0, which may not necessarily be black depending on the palette setting. If the REFRESH option is selected, then only the refresh buffer will be erased. Memory buffers (denoted by letters A through Z) can also be erased. Examples: ERA erases the screen ERA REFRESH erases the refresh buffer ERA A erases the memory buffer named A 4.5.12 EXIT The EXIT command exits IMDISP and returns the user to the MS-DOS operating system. The contents of the image display and refresh buffer are discarded. The single subcommand NOClear will leave the computer display in graphics mode, and will not clear the screen. Same as QUIT. 4.5.13 FILE FILE takes just a value which is the file name. The specified file will be opened, or an error message issued if the file cannot be opened. The capability to directly address any sector on the CD-ROM disk by providing its physical address (minute, second and sector number) is also available to users of the Microsoft Extensions software. There is one keyword, NOMEMORY. If not given, the FILE command will attempt to put the image directly into extended memory (where the DISPLAY command will find it). If specified, or if the image doesn't fit into extended memory, the DISPLAY command will read the image from disk. FILE can now display GIF-format images, as well. It does this automatically if the filename extension is .GIF. If the FILE command is specified without a filename, or with a filename mask which contains a wildcard, the program will display a list of file names in the current directory. Each file name is preceded by a number. Typing the number associated with a file name will select that file for processing. File names that actually represent lower level directories are indicated with a symbol after the name, Directories can be traversed downward by selecting the number associated with a directory name. Upward traversal is by selecting the item identified as PARENT DIR. This will move upward in the directory hierarchy. The prompt mode clears the screen and displays a menu of files (matching the wildcard mask, if one was used) and commands. These commands allows specification of the default drive, a file "mask" to use in selecting file names for display and options for moving through the list of files when the current directory contain more than 30 files. The top line of the display also indicates how many files are in the current directory. After exiting the FILE prompt mode, the previous contents of the display screen can be recovered by typing "REFRESH". The FILE prompt mode subcommands: D select default disk drive M specify a file selection mask to use in displaying files on the screen. N display the next set of file names on the screen if there are more files in the current directory than can be displayed on one screen. P display the previous set of file names. Q quit the file selection mode and return to IMDISP command mode. The N, P and Q commands are executed immediately. If the D or M commands are selected, the user is prompted to enter a drive letter or file mask. If the file selected by the "FILE filename" or FILE prompt mode has a valid label, either PDS or VICAR2, then the number of lines and samples and the pixel size will be displayed. If the file is unlabeled then the program will prompt for the values to use for the number of lines and samples, the number of bits per pixel, and the number of header bytes. PDS detached labeled images can also be displayed. The specified file remains the current file until a new FILE command is given. The FILE command resets the SET DNLO and SET DNHI values to the minimum and maximum for the pixel size (normally 0 and 255). If a specified filename is not found in the current directory then an error message is displayed. If the unlabeled image has a regular format, that is a uniform structure of repeating lines and samples, the user can specify this information when prompted by the program. For example, an image named ASTERIA.DAT with one 1422 byte header block followed by an image composed of 370 lines by 450 samples of 8 bit pixels would be processed as follows: At the COMMAND: prompt type "FILE ASTERIA.DAT". The program will display the message: Input file does not have a proper label. Input number of lines: 370 enter the value 370 Input number of samples: 450 enter the value 450 Input size of each sample: 8 enter the value 8 Input size of header label: 1422 enter 1422 for the size of the foreign label block). The physical address of a data block on the CD-ROM can also be specified using the syntax 'FILE "CD:mm:ss:bb"', where mm is the minute, ss the second, and bb the sector block number of the beginning of the desired data area. The CD:mm:ss:nn must be in double quotes and the CD must be capitalized! This mechanism can be used to access files on non-High Sierra format disks. This will only work on systems using the Microsoft Extensions software. 4.5.14 HELP HELP displays the online help message. If followed by the name of a valid command the message for that command is displayed. HELP is not provided for MS-DOS commands (DIR, CHDIR, CD and TYPE). 4.5.15 HISTOGRAM The HISTOGRAM command produces a plot showing the number of pixel values in the image at each DN level. The range of DN values is displayed on the x-axis and the number of occurrences of a specific DN value on the y-axis (See Figure 4-1). The HISTOGRAM command reads through the image, calculates the histogram, and then displays the plot on the screen. The histogram is scaled so that the third highest histogram value is used as the maximum. It is recommended that the SUBSAMPLE or other subsetting keywords be used to speed up histogram calculation, which can be quite slow for large images and for images stored on CD-ROM. Histogram plots are displayed on top of any image currently displayed on the screen, so the user may wish to use the ERASE command to clear the screen prior to using HISTO. After the histogram is displayed, the image can be restored using the REFRESH command. 27582 | . | .. | .... COUNT | ..... | ....... | ......... | ............ | ............... --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 64 128 192 256 DN value Figure 4-1: Sample Image Histogram By evaluating the histogram, the user can determine the optimum settings for the SET (DNLO and DNHI) command to produce a useful display. In the example above, the image data are clustered between DN values 32 and 144. Using the default settings of the EGA display mode the colors assigned to the 2 lowest color values and the 7 highest values (representing DN values from 0 to 31 and from 144 to 255) would not be used since the image contains no pixels with these values. By using the "SET DNLO 32 DNHI 144" command the 16 display levels available on the EGA display would be assigned to values between 32 and 144 rather than distributed evenly from 0 to 255, and all 16 colors would be used in the display. HISTOGRAM takes the following keywords and arguments: SUBsample n a integral subsample factor. For speeding up HISTOGRAM, use of "SUBSAMPLE 4" is recommended buffer displays the histogram of the image in the named memory buffer NL n NS n number of lines and samples from image SL n SS n starting line and sample in image CENT perform the histogram on only the displayed portion of the image. Two special keywords can be used with Voyager or Viking images on the PDS CD-ROM disks. These will extract histogram values stored with the image on the CD-ROM disk and reduce the time required for the histogram to be generated from more than 1 minute to about 3 seconds. Note that these commands will not work with Voyager image files in the \PLANET\JUPITER\ATMOS directory, or with versions of system software written before April 1987. VOY use histogram from Voyager CD-ROM engineering data VIK use histogram from Viking CD-ROM engineering data 4.5.16 LABEL The LABEL command prints the labels for the currently selected image file on the screen. It pauses after each screen full of data, and waits for you to press a key before displaying the next screen of data. You can terminate the listing by pressing the letter 'Q' to quit and return to IMDISP. 4.5.17 LOG The LOG command controls logging commands to a text file as they're entered. The resulting file can be used as a batch file, to repeat the command sequence, or as a record of what operations have been performed. The file is automatically flushed and closed when you exit IMDISP. The LOG command takes the following keywords and arguments: ON opens a log file called IMDISP.LOG. Commands will be copied into this file until it is either closed or you exit IMDISP. FILe fname opens a log file called fname (defaults to IMDISP.LOG). CLOse OFF closes the current log file. 4.5.18 MASK The MASK command is used to mask out pixels on the low or high end of the color palette. It is particularly userful when merging images together. It sets all the pixels with a DN value above or below a specified value to a default. The MASK command takes the following keywords and arguments: LO n sets all pixels with a DN value of n or less to the default DN value of 0. HI n sets all pixels with a DN value of n or greater to the default DN value of 255. WITH n overrides the default values for LO and HI, and sets the pixels to the DN value n. Examples: MASK LO 20 Sets the DN values for all pixels with DN values of 20 or less to 0. MASK LO 20 WITH 255 Sets the DN values for all pixels with DN values of 20 or less to 255. MASK HI 200 Sets the DN values for all pixels with DN values of 200 or more to 255. MASK HI 200 WITH 0 Sets the DN values for all pixels with DN values of 200 or more to 0. 4.5.19 MENU The MENU command reads a file containing a list of file names and places the user in the MENU mode, where files from this list can be selected for display. The MENU mode is similar to the FILE mode, except that the list of files presented is that provided in the menu file, rather than from a selected directory. The MENU mode can be invoked by typing "MENU filename.MNU" at the COMMAND: prompt. It can also be invoked on program startup by typing "IMDISP filename.MNU" to initiate the program. The menu file must use the ".MNU" extension to startup IMDISP in MENU mode. Subcommands of the MENU mode are as follows: # - Enter the number corresponding to a desired file name to select the file. P)revious - display the previous screen of file names N)ext - display the next screen of file names Q)uit - quit or exit from MENU mode After selecting and displaying an image, the user can return to the current menu by typing "MENU" at the COMMAND: prompt. A menu file can take either of two formats. The preferred format is a PDS labelled table file containing file names. A sample file is shown below: NJPL1I00PDS100000000 = SFDU_LABEL FILE_TYPE = TABLE RECORD_FORMAT = STREAM OBJECT = FILE_NAME TYPE = LITERAL LENGTH = 80 ENDOBJECT NOTE = "Sample MENU file for IMDISP" END L:\OCEAN\SCBMEAN.IMG L:\OCEAN\WCMEAN.IMG L:\PLDS\TMCH01.DAT L:\PLDS\DEM.DAT L:\PLANET\SATURN\ATMOS\C3497355.IMG A second abbreviated form may also be used, where only the filenames are specified in the ".MNU" file. In this case the file would only contain the filenames shown after the END statement in the example above. 4.5.20 MERGE The MERGE command will merge buffers, images or the screen together. A scaling option can be provided to control the amount of merging. If the TO option is not used then the result will be displayed on the screen by default. The result can also be written to a buffer. MERGE buffer MERGE source1 [scale1] WITH source2 [scale2] [TO buffer] [FILE] Examples: MERGE A Merge the last displayed image with buffer A and display the result back on the screen MERGE A WITH B Merge buffer A with buffer B and display the result on the screen. Since no scaling parameter are specified IMDISP will default to 50% of A and 50% of B. MERGE A WITH B TO C Merge buffer A with buffer B and store the result into buffer C MERGE A WITH B -1 Subtract buffer A from buffer B MERGE A .75 Merge 25% of the last displayed image with 75% of buffer A, display the result on the screen. MERGE A .75 with B .8 Merge 75% of buffer B with 80% of buffer B, display result on the screen MERGE B WITH SCREEN Merge buffer B with the screen MERGE A 3 WITH B -2 TO C FILE Subtract 200% of buffer B from 300% of A, store the result in buffer. 4.5.21 OVERLAY The OVERLAY command draws a lat/lon overlay grid on the displayed image. It is intended only for use with the Ocean Data System, West Coast Time Series CD-ROM in this program version. The OVERLAY command has the following arguments: MAXLAT Latitude of top of image. MINLAT Latitude of bottom of image. MAXLON Longitude of left side of image. MINLON Longitude of right side of image. LEGend Draw a color scale with the overlay. 4.5.22 PALETTE The PALETTE command is used for changing the colors assigned to displayable color values. This is done by modifying an internal color table which assigns intensity values for red, green and blue to a color value, The EGA provides 4 intensity values for each of 3 colors, so that 64 different colors can be created. However, the EGA pixels are only 4-bits each so only 16 color values can be used simultaneously. The palette can be modified using the EDIT command and saved and loaded from a disk file. The edit mode is invoked by typing PALETTE EDIT. With the EGA display, a bar containing 16 colors or shades will be displayed on the bottom of the screen. A small square will appear in the middle of the center color box. This indicates that this color value is currently selected for editing. To select another color value for editing, move the small square to the appropriate color using either the "4" (left arrow) and "6" (right arrow) keys on the numeric keypad or the mouse. The "7" (Home) and "1" (End) keys move to the beginning and end of the palette. Pressing the "Ctrl" key with either the "4" or "6" keys will jump the small square left or right by 8 color bars. The color of the current color box is changed with the "R", "G", and "B" keys (for red, green, and blue). Upper case letters increase the amount of the primary color, and lower case keys decrease the amount of the color. The "8" (up arrow) and "2" (down arrow) keys increase and decrease, respectively, the amount of red, green, and blue simultaneously. The left button on the mouse does the same thing. Other commands in the palette edit mode are the "S" and "s" commands, which will shift all colors one value to the right or left, and the "x" command, which will exchange color values (the color setting for color 0 becomes the setting for color 15, while 15 replaces 0, the color setting for color 1 becomes the setting for 14, while 14 replaces 1, etc.). The up and down arrow keys can also be used to cycle through the colors available in a given display mode one at a time. Type the "." key or carriage return to exit the edit mode. PALETTE takes the following keywords and arguments: EDIT n to interactively adjust an n-color palette. See edit description (above) for details PSEUDOCOLOR n PS = 0 for default EGA palette, PS = 1 for gray scale palette, PS = 2 or 3 for pseudo color palettes (16 levels) PS = 4, ..., 9 for pseudo color palettes (256 levels) SAVE filename saves the specified palette on disk LOAD filename loads the specified palette from disk, if no filename is specified, then list of files is displayed. See FIL command for more details. DIS displays the current palette on the screen ERA erases the current palette from the screen CYC n cycles the color palette CYC = 0 "blinks" the palette CYC = 1 blinks four times CYC = 2 rotates the palette for spectacular results CYC = 3 rotates and feeds in random colors CYC = 4 randomizes the palette CYC = 5 double rotates the palette CYC = 6 random swaps of the palette Any key will stop the palette cycling. A 'S' or 's' key will save the palette which is currently being displayed, any other key will restore the palette to its original colors. CYCLE itself has two keywords. FASt sets the delay between changes to .1 second (the default is .3). Works best on machines with fast video, where flicker is minimized. TIMe n runs the PAL CYCLE command for n seconds (useful in batch files). The default palette file for LOAD or SAVE operations is IMDISP.PAL. The format of the default color palette when stored in a palette file is as shown below: NJPL1I00PDS000000784 = PDS_SFDU_LABEL FILE_TYPE = TABLE RECORD_TYPE = STREAM FILE_RECORDS = 28 TABLE_ROWS = 16 ROW_COLUMNS = 4 COLUMN_NAME = (COLOR_NUMBER, GREEN_VALUE, BLUE_VALUE) COLUMN_TYPE = (INTEGER,INTEGER,INTEGER,INTEGER) END 0 0 0 0 1 64 0 0 2 128 0 0 3 192 0 0 4 192 64 0 5 192 128 0 6 192 192 0 7 128 192 0 8 0 192 0 9 0 192 128 10 0 128 128 11 0 128 192 12 0 0 192 13 128 0 192 14 192 0 192 15 192 192 192 The first column of the palette table is the color value number for the display, and columns 2, 3 and 4 represent the intensity of the red, green and blue (respectively) primary colors on a scale of 0 to 255. With the EGA display these values are: 0 = off; 64 = low; 128 = medium; 192 = high. Examples: PAL PS 1 (Gray scale palette) PAL PS 7 (Built in color palette #7) PAL DIS PAL EDI PAL CYC 2 PAL CYC 4 4.5.23 PERSPECTIVE PERSPECTIVE displays the current image as a pseudo-perspective plot. This is useful for inspecting the topography of an image - brighter areas will seem to be raised higher than dark areas. The PERSPECTIVE command has these arguments: SL n displays the plot starting at line n of the image SCR reads the image from the screen, rather than from disk (slightly faster). 4.5.24 PROFILE PROFILE plots the DN values of pixels located along a line between two points in the image, i.e., it creates a graph of DN value versus pixel along the line joining the two points, CURsor mode is used to select the two endpoints; typing "." or carriage return, or tapping the left mouse button, selects the current cursor position as the endpoint. After the endpoints are selected a line is drawn between the points and the graph is plotted at the bottom of the screen, showing the DN values on the x-axis and the positions along the line on the y-axis. 4.5.25 QUIT The QUIT command exits IMDISP and returns the user to the MS-DOS operating system. The contents of the image display and refresh buffer are discarded. The single subcommand NOClear will leave the computer display in graphics mode, and will not clear the screen. 4.5.26 REFRESH REFRESH redisplays the image plane from the refresh buffer. When images are written to the screen they are also written to the refresh buffer. The REFRESH command writes this buffer back to the screen, thereby erasing any graphics or text overlaying the image on the screen. The refresh buffer contains as many lines from the display screen as there is room for in memory. REFRESH takes no parameters. It can also be used after the FILE prompt mode to redisplay the contents of the refresh buffer. By default, the refresh buffer is allocated from extended (XMS) memory. If extended memory is present, the refresh buffer is on by default. If there isn't any extended memory, or not enough extended memory is available, the refresh buffer is off by default, by may be turned on to use a virtual file. The location of the virtual file is given by the environment variable IMREFRESH. REFRESH is commonly used after the HELP command, or after a HISTOGRAM or PROFILE command to remove text and plots from the display screen. The refresh buffer can be disabled/enabled with the SET command: SET REFRESH ON SET REFRESH OFF 4.5.27 SAVE The SAVE command copies the contents of the display screen to a file. On EGA systems the display buffer contains only 4-bits per pixel, so specifying BP = 8 will write the 4-bit pixels in full bytes, but does not save full 8-bit pixels even if the input image is an 8-bit image. Use the COPIM utility program to produce a full resolution subset of an 8-bit image in that case. An 8-bit display device can save an image with full 8-bit pixels. SAVE takes the following arguments and keywords, where the filename must immediately follow the SAVE command: filename filename of image to save - if the extension on the filename is .GIF, the file will be saved in GIF format instead of PDS format. NL n NS n number of lines and samples to save SL n SS n starting line and sample to save BP n number of bits per pixel in output image REFRESH save the displayed image into the refresh buffer Example: Save a 200 line by 200 sample area at the center of an image in the file SMALL.IMG. First use the FILE command to select and display an input image. Now type: "SAVE SMALL.IMG SL 100 SS 210 NL 200 NS 200" to save the portion of the image beginning at line 100 and sample 210 in the new file SMALL.IMG. 4.5.28 SET SET is used set various display options. It may be used to display and change the DN (pixel value) range that is used to compress the pixel values to the range appropriate for the display device. The default, which is reset for each new file, is the full range of DN values for the particular pixel format (e.g. 0 to 255 for byte). The results of a SET DNLOW or SET DNHIGH command will not take effect until the next DISPLAY command is performed. SET can also be used to specify a file name to be used by the browse command, change the default display resolution or change the number of samples used to display the current image. Set takes the following keywords: DNLOW n DNHIGH n where values less than DNlow are set to color value 0, values greater than DNHIGH are set to the maximum color value available, and the color values between are assigned equally to the DN values between Dnlow and DNhi. BROwse filename sets a file name to be used for the browse file. This file name will override the default file name, which is 'c:browse.cmd'. NS n sets the number of samples to be used for the next DISPLAY command. REFresh ON REFresh OFF toggles the state of the refresh buffer on or off. If IMDISP detects the presence of extended memory (XMS - managed by a device driver like HIMEM.SYS or QEMM), the refresh buffer will default to ON. If no XMS is present, the default is off, and turning the refresh buffer on will cause IMDISP to set up a scratch file to be used as the refresh buffer. DELay ON DELay OFF (default) enables/disables the time delay before executing commands. Most useful when used in batch file, because it allows the commands to play slowly instead of as fast as possible. PROmpt ON (default) PROmpt OFF enables/disables the display of the command names before execution. Most useful when used in batch files, because it prevents the command prompts from appearing on the screen. DISPLAY name sets the current display device. You might use this to change from Super VGA resolution to VGA if you wish to have bigger pixels for displaying images with the BROWSE command, for example. To do this, you would type the command SET DIS VGA. The change will take place immediately. The current values for DISPLAY are CGA (640x200x2) EGA (640x350x16) EGA480 (640x480x16) VGA320 (320x200x256) VGA (640x480x16) ATI640 (640x480x256) - ATI VGA Wonder Board (512K) ATI800 (800x600x256) - ATI VGA Wonder Board (512K) ATI1024 (1024x768x16) - ATI VGA Wonder Board (512K) EVGA512 (512x480x256) - Everex EV-673 Board (256K) EVGA640 (640x400x256) - Everex EV-673 Board (256K) ORCHID (640x480x256) - Orchid ProDesigner+ Board (512K) ORCHID800 (800x600x256) - Orchid ProDesigner+ Board (512K) ORCHID1024 (1024x768x256) - Orchid ProDesigner+ Board (1MB) PARADISE (640x480x256) - Paradise SuperVGA Board (512K) (640x400x256) - Paradise SuperVGA Board (256K) PGA (640x480x256) - PGA Board TRIDENT (640x480x256) - Trident-based SVGA boards (512K) VESA (1024x768x256) - VESA SVGA Interface (1MB) (test) PALette directory Sets the default palette directory. This is used with the PAL LOAD command. If PAL LOAD is used with no parameters, IMDISP will go to the default palette directory and display the files there. BUFfers directory Sets the directory to hold the buffers as files instead of memory buffers. Useful when not enough extended (XMS) memory exists to create the buffers. For example, using the default color palette and an EGA display with 16 color values available, the command "SET DNLO 100 DNHI 164" will assign DN values below 100 to black and DN values above 164 to white, and spread the 16 color values between the DN limits, thus each color value will represent 4 DNs (value 0 = DN 100 to 103; value 1 - DN 104 to 107, etc.). If values other than the default are used then the images will display more slowly because scaling divisions are required. SET with no parameters will display the current values. The DNLO and DNHI values are reset to the minimum and maximum for a given pixel size when a FILE command is issued. 4.5.29 SLANT SLANT displays the image slanted either to the left or right. This is done by shifting each line of the image by 1 pixel. It is particularly useful for finding errors in image headers. Examples: SLANT (slants image to the right) SLANT LEFT 4.5.30 STRETCH STRETCH sets the palette to a gray scale stretched between the two specified pixel values. Stretch is most useful on the PGA display where 16 gray levels are available. On the EGA display the stretch command activates the gray level palette which provides only 4 gray levels. Use the PAL PS 0 command to return the display to the default palette after performing a stretch. STRETCH takes the following keywords : LOW n HIGh n the low and high DN values of the stretch. These pixel values refer to the DN values in the current image display, not necessarily in the original image (scaling may have been involved). For example with the EGA display the DN values in the display range from 0 to 15, even if a byte image is being displayed. The STRETCH command is not recommended for use on EGA systems. 4.5.31 SYSTEM The SYSTEM command is used to send a command to MS-DOS. For example "SYS L:" will set the L: drive as the current default drive. If there is not enough memory available for the system command to be executed an error message is displayed. The SYS command will not work on floppy disk systems unless the file "COMMAND.COM" is present on the floppy disk with the IMDISP program. The SYSTEM command in this version of IMDISP will attempt to free as much of memory as possible, by swapping most of the program to scratch space. It tries to find Extended memory (XMS), Expanded memory (EMS) or disk space, in that order. If it succeeds, only a small amount of IMDISP remains in memory, leaving far more memory for DOS functions that previous versions. If the attempt to swap fails, the program will try to swap to DOS with the available memory. Currently, you must have about the same amount of free XMS, EMS or disk space as you have memory free before running IMDISP (i.e., IMDISP allocates all available memory to itself when it starts, and requires that much scratch space when swapping out). The swap process, if it attempts to write out to a scratch disk file, will use the directory specified by the environment variable IMBROWSE. If IMBROWSE doesn't exist, IMDISP will write the scratch file to the root directory of drive C:. The scratch file is deleted when you return to IMDISP (using the EXIT command at the DOS prompt). 4.5.32 TEXT The text command can be used to display a string of text on the screen. The text string can be entered on the command line, enclosed in apostrophes or quotes (e.g., TEXT `This is a text string'). If the text string is not entered on the command line the program will prompt for the string to be displayed. Once the command is issued and the text string entered the program is placed in CURSOR mode so that the display position can be selected. This is done by using the arrow keys to move the cursor to the desired location. After the position is selected, the user types a period (.) or carriage return and the text will be written on the display screen. The TEXT command has one argument and two optional keywords. LINe The line number to position the text at. SAMple The sample number to position the text at. NOPrompt Will display text without the command line prompt. 'text...' The text string to be printed, enclosed in quotes or apostrophes. The text command writes over image data in the display and refresh buffer, thus the underlying portion of the image is lost. 4.5.33 TYPE The TYPE command is used to type the contents of a text file on the display screen, using the standard MS-DOS type command. Its argument is passed to MS-DOS for execution. At the end of the type operation the screen will display "Type carriage return to continue:" which will return to the IMDISP command mode. If there is not enough memory available for the system command to be executed an error message is displayed. 4.5.34 NEG The NEG command is used to invert the current color palette, turning the image into a negative. It takes no keywords or arguments. 4.5.35 PLOT The PLOT command is used to draw plots of image lines and spectra on the screen. If the current file is an image, you must specify which line you wish to plot. PLOT takes the following keywords: LIN n plot line n of the image (required for 2-D files) SYMbol x draw the plot using character x instead of connecting the points with a line ZOOm prompt user to zoom in on a region of the plot after it is drawn OVErlay overplot - do not erase the current plot MAX n set the maximum y value in the plot MIN n set the minimum y value in the plot COLor n use DN value n to plot the data Example: to compare lines 200 and 210 of the current image on the same vertical scale, first plot line 200 (as a line) with the command PLOT LINE 200 MIN 0 MAX 255 Now overlay the plot of line 210 using "+" signs and color 10 of the current palette with the command PLOT LINE 210 OVERLAY MIN 0 MAX 255 COLOR 10 SYMBOL + 4.6 OTHER UTILITY PROGRAMS There are several utility programs also provided on the distribution disk. These programs can read PDS labeled, VICAR2 labeled, or unlabeled images. The output images are always written with PDS ODL labels. The programs prompt for the necessary input values. 4.6.1 COPIM COPIM is a simple image copying program. It can copy the whole image, for example to put PDS labels on a foreign image), or extract a window from the image. It can subsample the image with an integral subsampling factor. The program prompts for the input and output file names, the window to extract (just type return for the whole image), and the subsampling factor (the default is 1). If the input file is not in VICAR2 or PDS image format the program will also prompt for the number of lines and samples, pixel size and header size of the image. For example, to extract the first 100 lines and samples from the file LOGO.IMG the following commands would be used: COPIM Input Image: LOGO.IMG Lines: 350 Samples: 340 Bits per pixel: 1 Output Image: LOGOSUB.IMG Starting line and sample, number of lines and samples: 1 1 100 100 Line Subsampling factor (1): 1 Sample Subsampling factor(1): 1 4.6.2 CONVERT CONVERT is simple pixel format conversion program. It converts an image to an integer (16 bits), byte (8 bits), nibble (4 bits), or binary (1 bit) image. It can also perform a user specified scaring. The program prompts for the input and output file names, the output format (must be 1,4,8, or 16 bits), and the input and output numerical ranges for scaling. The default scaling values are appropriate for the data types being used. For example, to convert MONTAGE.IMG to an 8-bit per pixel image and scale the output pixels evenly between the values of 0 and 127 the following commands would be used: CONVERT Input Image: MONTAGE.IMG Lines : 350 Samples : 640 Bits per pixel : 4 Output Image: MONTBIG.IMG Output bits per pixel (1, 4, 8, 16) : 8 Input DN range (O 15) : Output DN range (O 255) : 0 127 Chapter 5 CREDITS IMDISP is maintained and updated (since version 4.4) by a small group of volunteers -- Mike Martin, Ron Baalke (JPL) and Archie Warnock (ST Systems). It was originally written by Mike Martin, Frank Evans and Dan Nakamura of the Jet Propulsion Lab. The plotting code was written by Ed Esfandari (Interferometrics). Paradise and Trident video drivers were added by Gregg Gunnells of the USGS. Jerry McFaul (USGS), Ed Grayzeck (U of MD) and Nick Beser (JHU/APL) have been valiant testers of the program through its many iterations, and have made many suggestions for improvements along the way. IMDISP would not have its current capabilities if it weren't for the generous efforts of several software authors who have seen fit to donate their work into the public domain. Through their work, we are able to keep IMDISP in the public domain, free to anyone who wants it. We want to publicly thank all of them here: Gershon Elber - GIF I/O routines (GIF_LIB.ZIP) Michael Walraven - High resolution timer (TIMERHI.ZIP) Max Medley - Mouse interface code James Birdsall - EMS, XMS allocation code (EMSLB215.ZIP, XMSLB121.ZIP) Marty Del Vecchio - EMS/XMS swap routines (SWAP300.ZIP) And, of course, we would also like to thank our users, from whom we continue to receive ideas, bug reports and fixes. They exercise the program in ways we never imagined. GIF and 'Graphics Interchange Format' are trademarks of CompuServe, Incorporated, an H&R Block Company. Appendix COMMAND SUMMARY Within this command summary listing, brackets ([]) indicate optional parameters or keywords. Filename is the name of a file in the current directory or a fully qualified filename which can include drive letter and pathname. Directory name is an MS-DOS directory path specification, a valid directory mask a specification containing wild card characters (*, ?) per MS-DOS rules for wildcard use in the DIRECTORY command. The symbol "n" is used to indicate an integer value. BATCH [filename] BRIGHTEN [n] BROWSE [directory mask] [SIZe n] [SUB n] [NOLabel] [DNLOw n] [DNHIgh n] [PAUse n] [ALL] [SELect] [FILe] [BUFFERS] [AUToset n] CD [directory name] [..] CHDIR [directory name] [..] COPY [buffer [TO buffer]] [FILE] CURSOR [DSL n] [DSS n] DARKEN [n] DIRECTORY [directory mask] [/w] DISPLAY [SUB n] [SL n] [SS n] [NL n] [NS n] [BP n] [CENTer] [DSL n] [DSS n] [FLIP] [NOPrompt] [NOMemory] [AUToset] [SOUrce] [buffer] ENHANCE [BAAlke] [CONvolution n] [EDGe n] [LOG n] [MEAn n] [MEDian] [POWer n] [STAir n] [SMEar] [SCReen] [UNSharp] ERASE [REFRESH] [buffer] EXIT [NOClear] FILE [filename[.GIF]] ["CD:mm:ss:bb"] [NOMemory] HELP [command name] HISTOGRAM [SUB n] [SL n] [SS n] [NL n] [NS n] [BP n] [CENter] [VOYager] [VIKing] [buffer] LABEL LOG [ON] [FILe filename] [CLOse] [OFF] MASK [LO n [WITH n]] [HI n [WITH n]] MENU [filename] MERGE [buffer [scale] [WITH buffer [scale] [TO buffer]]] [FILE] NEG OVERLAY [MAXLAT n] [MAXLON n] [MINLAT n] [MINLON n] [LEGend] PALETTE [EDIT n] [PS n] [LOAd filename] [SAVe filename] [DISplay] [ERAse] [CYC n [FAST] [TIME n]] PERSPECTIVE [SL n] [SCR] PLOT [LINE n] [SYMBOL x] [COLOR n] [MAX n] [MIN n] [OVERLAY] [ZOOM] PROFILE QUIT [NOClear] REFRESH SAVE filename[.GIF] [SL n] [SS n] [NL n] [NS n] [BP n] [REFRESH] SET [DNLO n] [DNHI n] [BROwse filename] [DIS name] [NS n] [PAL dir] [REFresh ON/OFF] [DELay ON/OFF] [PROmpt ON/OFF] [BUFFERS dir] SLANT [RIGht] [LEFt] STRETCH [LO n] [HI n] SYSTEM [MS-DOS command] TEXT [LINe n] [SAMple n] "text" or 'text' [NOPrompt] TYPE filename