home *** CD-ROM | disk | FTP | other *** search
/ Shareware 1 2 the Maxx / sw_1.zip / sw_1 / DTP / OVIP1.ZIP / OVIP1.DOC < prev    next >
Text File  |  1992-01-26  |  51KB  |  1,201 lines

  1.           
  2.           
  3.           
  4.           
  5.                  *********************************************
  6.                  *                                           *
  7.                  *                                           *
  8.                  *    OOO                      1      000    *
  9.                  *   O   O         o          11     0   0   *
  10.                  *   O   O                     1     0   0   *
  11.                  *   O  VVVVV  VVV I PPPP      1     0   0   *
  12.                  *   O   O  V V    I P   P     1     0   0   *
  13.                  *   O   O  VV     I P   P     1  .. 0   0   *
  14.                  *    OOO   V      I PPPP     111 ..  000    *
  15.                  *                   P                       *
  16.                  *                   P                       *
  17.                  *                   P                       *
  18.                  *                                           *
  19.                  *********************************************
  20.           
  21.           
  22.                     U S E R S   M A N U A L
  23.           
  24.           
  25.           
  26.           
  27.           
  28.                  OVIPAROUS SOFTWARE
  29.  
  30.           
  31.           
  32.                        Copyright
  33.           
  34.           
  35.                           (C)
  36.           
  37.           
  38.                   1 9 9 2
  39.           
  40.  
  41.           
  42.                ALL  RIGHTS  RESERVED
  43.           
  44.           
  45.           
  46.           
  47.           
  48.  
  49.           
  50.           
  51.           
  52.           
  53.           
  54.           
  55.  
  56.  
  57.           TABLE OF CONTENTS
  58.           =================
  59.           
  60.           
  61.           REGISTRATION INFOMATION
  62.           
  63.           
  64.           1.0 GENERAL
  65.           
  66.               1.1 About this document
  67.           
  68.               1.2 About OVIP
  69.           
  70.           
  71.           2.0 RUNNING OVIP
  72.           
  73.               2.1 Hardware requirements
  74.           
  75.               2.2 Installation
  76.           
  77.               2.3 User interface
  78.           
  79.           
  80.           3.0 MENU OPTIONS
  81.           
  82.               3.1 About OVIP menu
  83.           
  84.               3.2 File menu
  85.               3.2.1 a word on file formats
  86.               3.2.2 opening an image file
  87.               3.2.3 importing an image
  88.               3.2.4 creating a new image
  89.               3.2.5 duplicating an image
  90.               3.2.6 saving an image
  91.               3.2.7 printing an image
  92.               3.2.8 exiting OVIP
  93.           
  94.               3.3 Edit menu
  95.               3.3.1 copying image data
  96.               3.3.2 pasting an image
  97.               3.3.3 clearing an image
  98.               3.3.4 converting a color image to monochrome
  99.           
  100.               3.4 Analysis menu
  101.               3.4.1 point values
  102.               3.4.2 intensity profiles
  103.               3.4.3 perspective plots of intensity
  104.               3.4.4 image statistics
  105.           
  106.               3.5 Enhance menu
  107.               3.5.1 histogram equalization
  108.               3.5.2 linear stretch
  109.               3.5.3 interactive binary threshold
  110.               3.5.4 image scaling
  111.               3.5.5 image rotation, mirroring, and transposition
  112.  
  113.  
  114.               3.6 Filter menu
  115.               3.6.1 high-pass filtering
  116.               3.6.2 low-pass filtering
  117.               3.6.3 order statistics filtering
  118.           
  119.               3.7 Draw menu
  120.               3.7.1 palette manipulation
  121.               3.7.2 drawing tools
  122.           
  123.               3.8 Miscellaneous menu
  124.               3.8.1 changing the cursor
  125.           
  126.           
  127.           REGISTRATION FORM
  128.           
  129.           
  130.           CUSTOMER SURVEY
  131.           
  132.           
  133.           
  134.  
  135.  
  136.           REGISTRATION INFOMATION
  137.           =======================
  138.           
  139.               Copyright
  140.           
  141.             OVIP is a shareware product.  You are granted the right
  142.           to distribute this software freely, provided you always
  143.           distribute the executable program along with all of the
  144.           original documentation and provided you do not charge for
  145.           the software.  You may not alter any file nor may you
  146.           modify the package through the addition or omission of any
  147.           file.
  148.           
  149.           
  150.               How to register
  151.           
  152.             You are granted a limited license to use this product on
  153.           a trial basis for a period of 15 days.  If you wish to
  154.           continue using the product after this trial period, you
  155.       must register by sending twenty dollars ($20) US to:
  156.           
  157.           
  158.                   OVIP 1.0 Registration
  159.             Oviparous Software
  160.             P.O. Box 611992
  161.             San Jose, CA 95161-1992
  162.           
  163.           A registration form at the end of this document is provided
  164.           for you to fill out and mail along with your registration
  165.           fee.
  166.           
  167.           
  168.           Why you should register
  169.           
  170.         OVIP 1.0 took a considerable amount of work to complete.
  171.       You are obligated, both morally and legally, to adhere to
  172.       the terms of use outlined above.
  173.           
  174.           
  175.               What you get for registering
  176.           
  177.             When you register, you will receive a letter confirming
  178.       the receipt of your registration fee.  By registering, you
  179.           are entitled to use all releases of OVIP in the version 1.X
  180.           series.  In addition, you will be able to upgrade to
  181.           future versions at a discount rate.
  182.           
  183.  
  184.  
  185.               Limitation of liability
  186.           
  187.           
  188.             In no event shall Oviparous Software be liable for any
  189.           damages whatsoever arising out of the use or inability to
  190.           use OVIP 1.0 and any of its accompanying files.  Because
  191.           some states do not allow the exclusion of liability for
  192.           consequential or incidental damages, the above limitation
  193.           may not apply to you.
  194.           
  195.           
  196.               Technical support
  197.           
  198.             Technical support is currently available only by mail.
  199.           All problems and queries will be answered promptly.  Please
  200.           provide as much detail as possible (preferably including
  201.       any image files necessary to recreate the problem).  As
  202.       well, please provide complete details of your computer's
  203.       configuration.  Send your support questions to:
  204.           
  205.                   OVIP 1.0 Technical Support
  206.             Oviparous Software
  207.             P.O. Box 611992
  208.             San Jose, CA 95161-1992
  209.           
  210.           
  211.           
  212.  
  213.  
  214.           1.0 GENERAL
  215.           ===========
  216.           
  217.               1.1 About this document
  218.           
  219.           
  220.             This document serves to inform the user of the functions
  221.           performed by OVIP 1.0.  The first chapter gives a brief
  222.       history of why OVIP was created.
  223.           
  224.             The second chapter describes the hardware and software
  225.           requirements of OVIP 1.0.  As well, the user interface is
  226.           also described.
  227.           
  228.             Chapter three is broken into sections that correspond to
  229.           the pull-down menus in the graphical user interface.
  230.           Each section has subsections that roughly correspond to
  231.           the menu items in each pull-down menu.  The functions
  232.           of each menu item are described in detail in their
  233.           respective subsection of chapter3.
  234.           
  235.             At the end of the manual is a customer survey that you
  236.           are strongly encouraged to fill out after you have used
  237.           OVIP 1.0 for a few hours.
  238.           
  239.           
  240.           
  241.               1.2 About OVIP
  242.           
  243.           
  244.             OVIP was created for the purpose of displaying, analyzing,
  245.           and manipulating images on PC-AT compatibles with SVGA
  246.           video systems capable of displaying at 640x480 pixels
  247.       with 256 colors.  It is aimed specifically at "high-end"
  248.       systems (those with SVGA, mouse, and substantial amounts
  249.       of memory).  While many of the image filtering and
  250.       enhancement functions are useful only for gray-scale images,
  251.       overall OVIP was designed for use with both gray-scale and
  252.       color images.
  253.           
  254.  
  255.  
  256.           2.0 RUNNING OVIP
  257.           ================
  258.           
  259.               2.1 Hardware requirements
  260.           
  261.             The following minimum system requirements are needed to
  262.           run OVIP 1.0:
  263.           
  264.                 1)  Super VGA card with enough memory (usually 512K
  265.             or more) to use the 640x480x256 mode.  The
  266.             following video cards are currently supported:
  267.           
  268.                      Paradise
  269.                      Trident
  270.                Orchid Prodesigner II (Tseng ET4000)
  271.                      ATI
  272.           
  273.                 2)  Super VGA monitor (color recommended).
  274.           
  275.         3)  80286, 80386, or 80486 CPU
  276.           
  277.                 4)  DOS 4.1 or better
  278.           
  279.                 5)  Microsoft mouse (or compatible)
  280.           
  281.                 6)  Some extended memory.
  282.  
  283.         7)  Epson RX series printer (optional)
  284.           
  285.           
  286.           When an image is loaded, it resides entirely in extended
  287.           memory.  There is no lower limit to the amount of extended
  288.           memory that your system must have to run OVIP.  The more
  289.           extended memory your system has, the more (or larger) images
  290.           can be loaded at the same time.  If no extended memory is
  291.           available, then it will not be possible to load any images.
  292.       Extended memory is used directly without conforming to the
  293.       XMS standard.  Thus if HIMEM.SYS is installed, it will appear
  294.       to OVIP that no extended memory is available.  The call to
  295.       install HIMEM.SYS usually is made in your CONFIG.SYS file.
  296.       By commenting out the call to install HIMEM.SYS, you will be
  297.       able to use OVIP.
  298.  
  299.           
  300.           
  301.               2.2 Installation
  302.           
  303.             OVIP 1.0 is released with two files:
  304.           
  305.         OVIP1.EXE
  306.         OVIP1.DOC
  307.           
  308.           The first file is the executable and the second file is the
  309.           ASCII text version of this document (the users manual).
  310.           You may run OVIP from any floppy or hard disk.  Once you
  311.       have copied OVIP1.EXE into a suitable directory, go to that
  312.           directory (using the change directory command) and simply
  313.       type 'OVIP1'.  There are currently no command-line options
  314.           in OVIP.
  315.           
  316.  
  317.  
  318.               2.3 User interface
  319.           
  320.             It is assumed that the user has had enough experience with
  321.           graphical user interfaces to be familiar with the operation
  322.           of a mouse (including functions such as "clicking on"
  323.           objects), pull-down menus, dialog boxes, and windows.
  324.           OVIP 1.0 has its own graphical user interface.  The
  325.           interface consists of three main features:
  326.           
  327.                 1)  The menu bar
  328.           
  329.                 2)  Windows
  330.           
  331.                 3)  Dialog boxes
  332.           
  333.           
  334.           When OVIP is first started, only the menu bar and mouse
  335.           cursor will be displayed.  The menu bar is located at the
  336.           top of the screen and displays a series of text strings
  337.           horizontally across the screen.  Clicking on one of these
  338.           text strings causes the corresponding pull-down menu to
  339.           appear.  To select an item from a menu, click on the menu
  340.           and drag the cursor to the menu item, then release the
  341.           mouse button.  Once a menu item is selected, an action of
  342.           some sort will usually occur.
  343.           
  344.             Dialog boxes are used as the primary means of getting
  345.           information from the user.  Dialog boxes are static
  346.           graphics objects and the presence of one on the screen
  347.           precludes the use of any other graphical object (including
  348.           the menu).  Dialog boxes come in many forms and are
  349.       described in detail in chapter 3.
  350.           
  351.             Windows are used to display images, as well as a few other
  352.           things (such as the palette).  Windows differ from dialog
  353.           boxes in that they are not static.  Windows may be moved
  354.           around, and the presence of one does not preclude the use
  355.           of other graphics objects.  When several windows exist,
  356.           they may overlap each other.  An occluded window may be
  357.           brought to the front by clicking on it.  The front-most
  358.           window (the current window) will be used in all processing
  359.           functions selected.  The upper left box of all windows
  360.           is used to close the window.  The drag bar (which also
  361.           displays the window's title) is used to move the window
  362.           around.  Windows that are used for images have additional
  363.           features.  The upper right corner of an image window is
  364.           used to display the image, centered on the screen, on
  365.           a black background (no other images will be visible, nor
  366.           will the menu bar or cursor).  Clicking the mouse button
  367.           will restore the graphics state of the program.  The lower
  368.           right corner is used to resize the image window.  The
  369.           scroll-bars may be used when the dimensions of the image
  370.           exceed the dimensions of the window.
  371.           
  372.             As with many programs, the best way to understand the OVIP
  373.           user interface is to try it out and learn as you go.
  374.           
  375.           
  376.  
  377.  
  378.           3.0 MENU OPTIONS
  379.           ================
  380.           
  381.               3.1 About OVIP menu
  382.           
  383.             This menu item starts a series of dialog boxes that treat
  384.           the user to a rendering of the illustrious Oviparous
  385.       Software logo.  As well, the version number, copyright,
  386.           and registration information are given.
  387.           
  388.           
  389.               3.2 File menu
  390.           
  391.               3.2.1 a word on file formats
  392.           
  393.             In addition to raw binary (or raster) images, OVIP 1.0 is
  394.           capable of loading and storing images under three different
  395.           file formats.  One of the main advantages of using one of
  396.           the formatted file types is that the image parameters (size,
  397.           radiometric resolution, color lookup table (LUT)) need not
  398.           be re-entered every time the image is loaded.  A secondary
  399.           benefit of using a file format is the possibility of
  400.           incorporating data compression into the format specification
  401.           to reduce the amount of space needed to store the image.
  402.           
  403.             There are dozens of competing file formats in use today.
  404.           OVIP 1.0 uses the following three image file formats; GIF,
  405.           TIFF, OVIP.
  406.           
  407.             GIF (an acronym for Graphics Interchange Format) was
  408.           developed by Compuserve.  GIF was chosen because of its
  409.           popularity (especially in the PC arena).  OVIP 1.0 only
  410.           supports the GIF87a format.  The more recent GIF89a format
  411.           is not yet supported.  The GIF format is based on a
  412.           compression algorithm known as LZW (the initials of the
  413.           authors).
  414.           
  415.             TIFF (an acronym for Tag Image File Format) was developed
  416.           jointly by Aldus and Microsoft.  TIFF was also chosen to be
  417.           included in OVIP 1.0 because of its popularity across many
  418.           platforms.  TIFF is capable of storing images in a wide
  419.           variety of ways (both compressed and uncompressed).
  420.           OVIP 1.0 uses TIFF Rev. 4.0 tags and only uses a somewhat
  421.           minimal set of tags.  Only uncompressed TIFF files are
  422.           supported.  Thus, most TIFF files created by OVIP will be
  423.           portable, however, some TIFF files (especially compressed
  424.           ones) created by other programs may not be readable by
  425.           OVIP.
  426.           
  427.             The OVIP format was created to address some of the short-
  428.           comings of the other two file formats.  Similar to the
  429.           GIF format (but simpler), it has a fixed-length header.
  430.           Unlike GIF, it can be used to store images either compressed
  431.           or uncompressed.  The compression algorithm used is a
  432.           combination of DPCM and run-length coding, coupled with
  433.           variable-length coding (shift-codes).
  434.  
  435.  
  436.             Given the choice of file formats, which one is best for
  437.           you?  Obviously it depends on your application.  The first
  438.           question is whether to compress or not compress.
  439.           Compression adds a considerable delay when loading and
  440.           storing images.  This is because of the computation required
  441.           to unpack and decode (or pack and encode when saving) the
  442.           image data.  So, if you have lots of space on your hard disk
  443.           and you want to load images frequently, use the OVIP
  444.           uncompressed or TIFF formats.  If your disk space is limited
  445.           (this is especially true when storing images on a floppy
  446.           disk) or if you only access the image infrequently, use the
  447.           OVIP compressed or GIF formats.
  448.           
  449.             If you decide to use a compressed format, you must choose
  450.           between the OVIP compressed and GIF formats.  Both formats,
  451.           as currently implemented, take about the same time to load
  452.           an image.  One approach to deciding which format to use is
  453.           to save the image using both formats and delete the larger
  454.           of the two files.
  455.           
  456.             The LZW algorithm used in GIF files was designed to
  457.           recognize patterns.  It gathers statistics on the image
  458.           data, on-the-fly, in the form of a table that records
  459.           strings that have been encountered.  Once the string table
  460.           gets too large, it is reset and starts to get filled again.
  461.           Thus, this algorithm is fairly adaptive.  Unfortunately,
  462.           this algorithm is only capable of matching EXACT patterns.
  463.           This becomes a serious problem for digitized video images
  464.           containing many quantization levels and even small amounts
  465.           of background noise.
  466.           
  467.             OVIP, on the other hand, gathers all the statistics, up
  468.           front, in a single pass through the image.  It then uses
  469.           the statistics to determine the parameters that will
  470.           optimize the performance (i.e. maximize the compression) of
  471.           the algorithm.  Thus, OVIP is slower at saving files than
  472.           GIF, and the compression technique is less adaptive since
  473.           global image statistics are used.  However, since the
  474.           statistics are precomputed, OVIP compressed files load
  475.           faster than GIF files.  This is important since images
  476.           are usually saved once and then loaded many times.
  477.           Because OVIP uses DPCM, it is much more robust when noise
  478.           is added to the image.  Unlike GIF files, the OVIP
  479.           algorithm is capable of recognizing when it cannot compress
  480.           an image and will then use its uncompressed format.  GIF
  481.           will apply its algorithm to an image regardless of the
  482.           results.  This means that GIF files are sometimes larger
  483.           compressed than the original uncompressed binary file!
  484.  
  485.  
  486.             Unfortunately, there is no fast method to determine
  487.           which format to choose.  A number of images were downloaded
  488.           from BBSs and Usenet.  Almost all of these images were
  489.       color and with varying amounts of radiometric resolution.
  490.           The GIF LZW compressor consistently performed marginally
  491.           better than the OVIP compressor.  Next, a series of large
  492.           (512x480) monochrome images were taken using a CCD camera
  493.           and an 8-bit frame-grabber.  In this case the OVIP
  494.           compressor consistently compressed the images to just over
  495.           half their original size.  The GIF compressor consistently
  496.           performed worse than the OVIP compressor and in one case
  497.           actually used 20% more disk space than the original binary
  498.           image. Note that both of these formats are lossless, meaning
  499.           that when compressed and decompressed, the pixel values are
  500.           identical to those prior to compression.
  501.           
  502.             Another issue in choosing a file format is portability.
  503.           TIFF was developed to maximize the flexibility of the
  504.           format.  This flexibility approach was taken to such an
  505.           extreme that the cost to the developer trying to use all tag
  506.           types becomes excessive.  This problem is compounded by the
  507.       open-ended nature of the file structure that allows any user
  508.           to obtain a set of unique tags for their personal
  509.           definitions.  Thus, TIFF files of any complexity will
  510.           probably not be very portable.
  511.           
  512.             OVIP, being a new entrant into the image file format arena
  513.           is, on the surface, not very portable.  When uncompressed
  514.           OVIP is used, the raw binary image data is relatively easy
  515.           to extract.  The uncompressed OVIP file format is shown
  516.           below:
  517.           
  518.           
  519.                  +------------------------------+
  520.                  |       256 Byte Header        |
  521.                  |------------------------------|
  522.                  |  256*3 Byte 8-bit Color LUT  |
  523.                  |------------------------------|
  524.                  |          Image Data          |
  525.                  +------------------------------+
  526.           
  527.           
  528.           Thus, by stripping off the first 1024 bytes of the file,
  529.           the raw image data may be directly accessed.  The OVIP
  530.           compressed format requires a program capable of decoding
  531.           that data.  The OVIP format may be used without royalty
  532.           payment, so long as proper acknowledgment is made to
  533.       Oviparous Software.  Complete specifications (including
  534.           documented 'C' files) are available free of charge by
  535.           sending a floppy disk and SASE to:
  536.           
  537.                   OVIP 1.0 Developers Documentation
  538.             Oviparous Software
  539.             P.O. Box 611992
  540.             San Jose, CA 95161-1992
  541.  
  542.  
  543.             Of the three formats, GIF is currently the most widely
  544.           used.  Raw binary images are also very portable, but require
  545.           the user to remember the image parameters.
  546.           
  547.  
  548.  
  549.               3.2.2 opening an image file
  550.           
  551.             The OPEN menu item calls up a dialog box with several
  552.           controls.  At the top of the dialog box is the current
  553.           directory path.  The boxes directly below the path show the
  554.           files (on the right) and the sub-directories (on the left).
  555.           Clicking on a file will highlight it.  Clicking on a
  556.           sub-directory or disk will immediately change the current
  557.           path, causing the file and directory boxes to be refreshed.
  558.           The user may move through the directory tree until the
  559.           desired image file is located.  Below the file box are
  560.           a set of buttons that allow the user to select the file
  561.           type (GIF, TIFF, OVIP).  The default setting is AUTO
  562.           DETECT.  If the image files conform to their specifications,
  563.           the user should never have to explicitly select a file
  564.           format.  Once the appropriate format has been selected, the
  565.           user selects the file from the file box (the highlighted
  566.           file is the one that will be opened).  To open the selected
  567.           file, click on the OPEN button.  Pressing CANCEL will abort
  568.           the process.  Once the OPEN button has been pressed, the
  569.           image will be loaded and placed in a window which will
  570.           be the current window.  Note that when loaded using
  571.           AUTO DETECT, the name of the file is irrelevant, the file
  572.           format is detected using the first few bytes of the file.
  573.           Also note that when an image is loaded, its pixel values
  574.           and LUT are re-mapped (if necessary) to make LUT[0] black
  575.           and LUT[255] white.
  576.           
  577.           
  578.               3.2.3 importing an image
  579.           
  580.             The IMPORT function is used to load 8 bits/pixel images
  581.           stored in a binary raster format.  The dialog box for the
  582.           IMPORT function is very similar to that of the OPEN function
  583.           (see 3.2.2).  The only difference is that the file format
  584.           selection controls have been replaced with four text boxes
  585.           in which the user must enter the size of the file header,
  586.           the number of pixels per scan line, the number of lines per
  587.           band, and the number of bands.  Once an image has been
  588.           selected, and the OPEN button is pressed, the image will
  589.           be loaded.  The number of bytes specified in the header
  590.           entry will be skipped, and then the data for the image is
  591.           read in and displayed in a new window (which will be the
  592.           current window).
  593.           
  594.             Note that since raw binary images do not carry an
  595.           associated LUT, a gray scale LUT will be automatically
  596.           assigned to the image.  Note also that, although OVIP 1.0
  597.           can read in multiband images, only the first band will
  598.           be displayed.
  599.  
  600.  
  601.               3.2.4 creating a new image
  602.           
  603.             The NEW function allows the user to create a new image.
  604.           A dialog box appears which allows the user to select the
  605.           horizontal and vertical size of the image.  As well, the
  606.           user can select one of two palettes for the image (gray
  607.       scale or color spectrum).  Finally, the user may choose
  608.           the fill color of the image.  When the OK button is
  609.           pressed, the specified image is created (the image is a
  610.           solid fill of the specified color).  A window then appears
  611.           with the new image.
  612.           
  613.           
  614.               3.2.5 duplicating an image
  615.           
  616.             When DUPLICATE is selected, the current window is checked.
  617.           If it is not an image window (or if there are no windows)
  618.           the user is alerted and nothing happens.  Otherwise, a copy
  619.           of the image in the current window is made in memory and
  620.           the image is then displayed in its own image window.
  621.           
  622.           
  623.               3.2.6 saving an image
  624.           
  625.             When selected, the current window is checked.  If it is
  626.       not an image window, or if no windows exist, the user is
  627.           alerted and no action is taken.  Otherwise, a dialog box
  628.           appears.  The dialog box is similar in appearance to those
  629.           for opening and importing images (see 3.2.2 and 3.2.3).
  630.           The current path is displayed at the top of the dialog box.
  631.           Below the path, to the left, is a box listing the sub-
  632.           directories and disks.  This box is used to move around in
  633.           the DOS directory tree. Thus a file may be saved anywhere
  634.           on the disk.  The name of the file is to the right of the
  635.           directory box and is contained in two text boxes (one for
  636.           the 8-character file name, and one for the 3-character
  637.           extension).  Below the directory box is a set of buttons
  638.           that allow the user to select the format that the image is
  639.           to be saved as (see 3.2.1).  Note that selecting a format
  640.           causes the extension of the file name to be set to the
  641.       default for that file format.  Thus, in cases where
  642.           "non-standard" extensions are used, always select the file
  643.           format prior to changing the name.
  644.           
  645.             Pressing the SAVE button initiates the file writing
  646.           routine.  If the named file already exists, the user is
  647.           prompted for a decision as to whether or not to overwrite
  648.           the existing file.  Note that, regardless of the number of
  649.           bits per pixels of radiometric resolution the image
  650.           originally had when loaded, it will always be represented
  651.           internally and saved using 8 bits per pixel.
  652.           
  653.  
  654.  
  655.               3.2.7 printing an image
  656.           
  657.         Image printing (hardcopy) has only been implemented on
  658.       an Epson RX series dot-matrix printer.  Unfortunately, I've
  659.       got no other printers to do tests with. If you really need
  660.       printer support, make sure you fill in your customer survey
  661.       and let your voice be heard!
  662.           
  663.           
  664.               3.2.8 exiting OVIP
  665.           
  666.             Selecting the QUIT option terminates OVIP 1.0.  All
  667.           images currently on the screen will be lost.  OVIP 1.0
  668.           will return the graphics state to its original mode
  669.           upon termination.
  670.           
  671.  
  672.  
  673.               3.3 Edit menu
  674.           
  675.               3.3.1 copying image data
  676.           
  677.             Before COPY is selected, the user must define a
  678.           rectangular region within the current window.  This is done
  679.           by clicking on a point within the window and dragging the
  680.           cursor to a second point.  In the process, a rectangular
  681.           outline will be interactively updated.  Upon release of the
  682.           mouse button, the outline will remain until another action
  683.           is taken (at which time the outline will be erased).  If
  684.           the action immediately following the area selection is a
  685.           COPY command, the set of pixels within the rectangle is
  686.           copied into OVIP's internal copy storage area (hidden from
  687.           the user).  The copied data will remain there until the
  688.           COPY option is selected again.
  689.           
  690.           
  691.               3.3.2 pasting an image
  692.           
  693.             Like COPY (see 3.3.1), PASTE requires the user to use the
  694.           mouse to define a rectangular region within the current
  695.           window.  If the region defined is smaller than the image
  696.           previously copied, the image will be clipped on the right
  697.           and bottom so that it will fit in the paste rectangle.  If
  698.           the rectangle exceeds the size of the image previously
  699.           copied, then the copied image will be placed in the upper
  700.           left corner of the paste rectangle.
  701.           
  702.           
  703.               3.3.3 clearing an image
  704.           
  705.             When CLEAR is selected, the current image will be cleared
  706.           by setting all of its pixels to the current color.  The
  707.           default current color is 255.  Actually, the term "current
  708.           color" is a misnomer.  Perhaps "current pixel value" is
  709.           more accurate.  In any event, the current color is set
  710.           using the palette (see 3.7.1).
  711.           
  712.           
  713.               3.3.4 converting a color image to monochrome
  714.           
  715.             When COLOR->B&W is selected, the current image is
  716.           converted to a black and white image.  This is done by
  717.           mapping each pixel in the image using:
  718.           
  719.                new_pixel_value = (LUT[RED][old_pixel_value] +
  720.                       LUT[GREEN][old_pixel_value] +
  721.                       LUT[BLUE][old_pixel_value]) / 3
  722.           
  723.           The image is then given a gray scale LUT and redisplayed in
  724.           its original window.
  725.  
  726.  
  727.               3.4 Analysis menu
  728.           
  729.               3.4.1 point values
  730.           
  731.             When POINT VALUES is selected, the menu bar is erased.
  732.           In its place the coordinates of the cursor are displayed
  733.           along with the pixel value at that coordinate.  These values
  734.           are updated as the user moves the cursor around the screen.
  735.           When the mouse button is pressed, the process stops and
  736.           the menu bar is returned to its normal state.
  737.           
  738.           
  739.               3.4.2 intensity profiles
  740.           
  741.             The PROFILE option requires two points to be input by the
  742.           user.  The points are entered using the mouse.  When first
  743.           selected, the menu bar disappears and the coordinates of the
  744.           cursor are displayed in its place.  The coordinates of the
  745.           first point are updated until the mouse button is pressed.
  746.           Once pressed, the second coordinate is displayed.  As the
  747.           mouse is moved around further (with the mouse button still
  748.           depressed), the second coordinate is updated.  As well, a
  749.           line between the first coordinate and the second coordinate
  750.           is displayed and updated as the cursor is moved.  Finally,
  751.           when the mouse button is released, the menu bar is restored
  752.           and the line between the coordinates is erased.
  753.           
  754.             Next, a new image is displayed which is a plot of the
  755.           pixel values that were under the line between the two
  756.           points.  The axis of ordinates of the plot is the pixel
  757.           value (from 0 to 255) and the axis of abscissas is the
  758.           pixel (where pixel 0 is the pixel under the first point and
  759.           the last pixel is that under the second point).  Hence the
  760.           term intensity profile.  This profile plot is itself an
  761.           image and may be processed and saved as such.
  762.           
  763.           
  764.               3.4.3 perspective plots of intensity
  765.           
  766.             The PERSPECTIVE PLOT option, like the intensity profile
  767.           option (see 3.4.2), also requires two points.  The two
  768.           points are selected interactively using the mouse
  769.           (see 3.4.2) and define a rectangle.  The set of pixels
  770.           under the rectangle are then plotted using a perspective
  771.           projection and a "wire-frame" to give the appearance of a
  772.           3-D surface in which the height component is the pixel
  773.           value.  The resulting plot is displayed in an image window
  774.           and is thereafter treated as an image.
  775.           
  776.  
  777.  
  778.               3.4.4 image statistics
  779.           
  780.             When the STATISTICS option is selected, the image in the
  781.           current window is run through an elementary statistical
  782.       analysis.  An image window is then displayed showing a
  783.           histogram of the image (this gives details of the relative
  784.           frequency of the pixel values).  As well, the maximum,
  785.           minimum, mean, and standard deviation of the pixel values
  786.           are shown.  The image window containing the histogram plot
  787.           with the statistics is thereafter treated the same as any
  788.           other image.
  789.           
  790.  
  791.  
  792.               3.5 Enhance menu
  793.           
  794.               3.5.1 histogram equalization
  795.           
  796.             The EQUALIZE function is a commonly used image enhancement
  797.           technique.  It is applicable only to images with a gray-
  798.           scale LUT.  Applying this function to a color image will
  799.           most likely lead to an unrecognizable result.  The histogram
  800.           equalization process is a contrast enhancement technique
  801.           which has the effect of transforming the image so that the
  802.           histogram is flat (uniform distribution of pixel values).
  803.           Of course, because of the discrete nature of the image, the
  804.           histogram will be only approximately flat.  The histogram
  805.           equalization process is documented in [Schowengerdt R.A.,
  806.           "Techniques for Image Processing and Classification in
  807.           Remote Sensing" Academic Press, 1983].  When selected, the
  808.           current image is transformed and the pixel values of the
  809.           image are re-mapped.  The transformed image is then
  810.           displayed in the original image window.
  811.           
  812.           
  813.               3.5.2 linear stretch
  814.           
  815.             LINEAR STRETCH is another commonly used contrast
  816.           enhancement algorithm.  Like the histogram equalization
  817.           technique (see 3.5.1), this method is only applicable to
  818.           black and white (gray-scale) images and will produce
  819.           unpredictable results if applied to color images.  The
  820.           actual algorithm used is very simple.  First the minimum
  821.           and maximum pixel values are found.  Then all pixels in
  822.           the image are re-mapped according to:
  823.           
  824.           
  825.                new_value = (255 * (old_value - minimum_value) /
  826.                           (maximum_value - minimum_value))
  827.           
  828.           
  829.           The transformed image replaces the original image in
  830.           memory, after which the window is refreshed.
  831.           
  832.           
  833.               3.5.3 interactive binary threshold
  834.           
  835.             The THRESHOLD option calls up the binary threshold window
  836.           (or brings it to the front if it was already present).
  837.           Within the threshold window are three sliding controls.
  838.           The controls represent the thresholds for the red, green,
  839.           and blue components of the RGB color space.  If a pixel
  840.           value is less than the threshold value, then the pixel value
  841.           is dropped to zero.  Otherwise it is raised to its maximum
  842.           (255).  Hence, for each of the primary colors, the image is
  843.           binary.  Note that the thresholding process is applied to
  844.           the LUT of the most current image window.  The binary
  845.           threshold window may remain on-screen indefinitely, but the
  846.           controls and thresholds are applied only if the threshold
  847.           window is the current window.
  848.  
  849.  
  850.             The user may change the threshold interactively by
  851.           clicking on the sliding controls.  The text boxes to
  852.           the right of the sliding threshold controls hold the
  853.           threshold value.  The values in these boxes may be altered
  854.           in order to effect a change on the threshold.  If the
  855.           "coupled" button is activated, all three thresholds will be
  856.           given the same value and will retain the same value as
  857.           any control is moved.  By pressing on the APPLY TO IMAGE
  858.           button, the threshold is applied to the most current image
  859.           by altering all of its pixel values according to the
  860.           threshold chosen.  The binary threshold window will close
  861.           itself after APPLY TO IMAGE has been pressed.
  862.           
  863.           
  864.               3.5.4 image scaling
  865.           
  866.             Selection of the SCALE option calls up a dialog box with
  867.       several controls.  The two buttons at the top allow the
  868.           user to choose whether to allow independent scaling along
  869.           the two axes of the image.  By default, the image is scaled
  870.           the same on both axes.  Below this button are the text
  871.           box(es) (two if independent scaling is chosen, one
  872.           otherwise) in which the user is to enter the scale
  873.           factor(s).  The next two buttons determine the interpolation
  874.           method used in the scaling process.  Bilinear interpolation
  875.           produces substantially better results than nearest-neighbor
  876.           interpolation, however the computation time required is
  877.           increased.  The user is referred to [Schowengerdt R.A.,
  878.           "Techniques for Image Processing and Classification in
  879.           Remote Sensing" Academic Press, 1983] for details on these
  880.           interpolation methods.
  881.           
  882.             Once a scale factor and interpolation method are chosen,
  883.           pressing the OK button initiates the scaling process,
  884.           after which the scaled image is re-displayed in its window.
  885.           
  886.           
  887.               3.5.5 image rotation, mirroring, and transposition
  888.           
  889.             The ROTATE option calls up a dialog box with a choice of
  890.           four transformations; 90 degree rotation, horizontal flip,
  891.           vertical flip, and transpose.  The user is to select
  892.           one of these transformations and then press the OK button,
  893.           after which the image will be transformed and re-displayed
  894.           in its window.  The 90 degree rotation is a counter
  895.           clockwise rotation which has been implemented as a
  896.           horizontal flip followed by a transpose
  897.           
  898.  
  899.  
  900.               3.6 Filter menu
  901.           
  902.             The filters described in this section are only useful
  903.           for gray-scale images.  Using them on color images will
  904.           give unpredictable results.  The interested reader is
  905.           referred to [Pratt W.K., "Digital Image Processing", Wiley
  906.           Interscience, 1978] for detailed descriptions of the
  907.           filters discussed below.
  908.           
  909.           
  910.               3.6.1 high-pass filtering
  911.           
  912.             When the HIGH-PASS option is chosen, a dialog box prompts
  913.           the user for the kernel type (Sobel, Prewitt, or simple)
  914.           and for the operation (gradient magnitude, horizontal
  915.           derivative, vertical derivative, or orientation).  When used
  916.           in conjunction with the THRESHOLD option (see 3.5.3), these
  917.           filters can be used for edge detection.
  918.           
  919.               3.6.2 low-pass filtering
  920.           
  921.             The LOW-PASS option allows the user to select a low-pass
  922.           filter.  A choice of four filter kernels is available to
  923.           select from.  The 2x2 and 3x3 kernels tend to blur the image
  924.           evenly in both directions.  The 3x1 (horizontal) and
  925.           1x3 (vertical) filters are directional.  These filters are
  926.           typically used for noise reduction in images.
  927.           
  928.           
  929.               3.6.3 order statistics filtering
  930.           
  931.             The ORDER STATISTICS option allows the user to choose one
  932.           of three order statistics filters; the median filter, the
  933.           maximum filter (or dilation), or the minimum filter (or
  934.           erosion),  As well, the user may select the direction
  935.           of the filter.  The median filter is an edge-preserving
  936.           smoothing filter (that is, it tends to reduce sharp noise
  937.           spikes without blurring edges).  The minimum and maximum
  938.           filters are morphological filters and together are useful
  939.           for skeletonizing binary images.
  940.           
  941.  
  942.  
  943.               3.7 Draw menu
  944.           
  945.               3.7.1 palette manipulation
  946.           
  947.             The SHOW PALETTE option displays the palette window (or
  948.           makes it the current window if it is already on-screen).
  949.           The palette window initially displays a gray-scale palette.
  950.       The controls to the right allow the user to choose a
  951.           different palette.  By pressing the box labeled IMAGE, the
  952.           LUT of the most current image window is transferred to the
  953.           palette LUT.  The APPLY TO IMAGE button copies the palette
  954.           LUT to the most current image window.  The combination of
  955.           these two controls allows the user to transfer LUTs across
  956.           images.
  957.           
  958.             The INVERT box "inverts" the palette LUT according to:
  959.           
  960.                NEW_LUT[i] = OLD_LUT[255-i]   (0 < i < 255)
  961.           
  962.           Note that LUT[0] (black) and LUT[255] (white) are never
  963.           changed.  This is because doing so would spoil the OVIP
  964.           graphical user interface which depends on having these
  965.           two LUT values stable.  The ROTATE box causes the palette
  966.           to be rotated according to:
  967.           
  968.                NEW_LUT[i] = OLD_LUT[i+1]   (0 < i < 254)
  969.           
  970.                NEW_LUT[254] = OLD_LUT[1]
  971.           
  972.           This rotation is synchronized with the computer's clock-
  973.           calendar which counts time in divisions of 1/100 second.
  974.           The [+] and [-] boxes beside the rotate box allow the
  975.           user to speed up and slow down the rate of the palette's
  976.           rotation.
  977.           
  978.             The text boxes on the left of the palette window are used
  979.           to alter the palette LUT.  A pixel value may be chosen by
  980.           selecting the value box and typing the value in, or by
  981.           simply clicking on the palette at the appropriate value.
  982.       Either way, the value becomes the current color (see 3.3.3)
  983.           and the red, green, and blue color components are shown.
  984.           These components may be altered to change the color of the
  985.           chosen pixel value.
  986.           
  987.           
  988.               3.7.2 drawing tools
  989.           
  990.             Unfortunately, this feature did not get developed in time
  991.           for this release of OVIP.  If you really need drawing tools,
  992.           make sure you fill in your customer survey and let your
  993.           voice be heard!
  994.           
  995.  
  996.  
  997.               3.8 Miscellaneous menu
  998.           
  999.               3.8.1 changing the cursor
  1000.           
  1001.             The default cursor is the arrow cursor.  Selecting the
  1002.           CHANGE CURSOR option displays a dialog box with all the
  1003.           available cursors.  Currently there are three cursors to
  1004.           choose from.  By clicking on one of them, the cursor
  1005.           selected becomes the cursor that will be used until another
  1006.           call to CHANGE CURSOR is made.
  1007.           
  1008.           
  1009.           
  1010.           
  1011.  
  1012.  
  1013.           REGISTRATION FORM
  1014.           =================
  1015.           
  1016.             Registration for OVIP 1.0
  1017.           
  1018.           
  1019.             ___________________________________________________
  1020.             NAME
  1021.           
  1022.           
  1023.             ___________________________________________________
  1024.         ORGANIZATION
  1025.           
  1026.           
  1027.             ___________________________________________________
  1028.             STREET
  1029.           
  1030.           
  1031.             ___________________________________________________
  1032.             CITY
  1033.           
  1034.           
  1035.             ___________________________________________________
  1036.             STATE/PROVINCE
  1037.           
  1038.           
  1039.             ___________________________________________________
  1040.             COUNTRY
  1041.           
  1042.           
  1043.             ___________________________________________________
  1044.             ZIP/POSTAL CODE
  1045.           
  1046.           
  1047.           
  1048.         Please enclose $20 (US), making check payable to Oviparous
  1049.         Software.  Please do not send cash.  Send to:
  1050.           
  1051.           
  1052.                   OVIP 1.0 Registration
  1053.             Oviparous Software
  1054.             P.O. Box 611992
  1055.             San Jose, CA 95161-1992
  1056.           
  1057.           
  1058.           
  1059.  
  1060.  
  1061.           CUSTOMER SURVEY
  1062.           ===============
  1063.           
  1064.           
  1065.         Oviparous Software is always looking for ways to improve
  1066.       its products.  An integral part of this process is getting
  1067.       feedback from you, our customer.  If you have used this
  1068.       product, please take the time to fill in the survey and
  1069.       mail it in with your registration.  Even if you do not
  1070.       wish to register, your input is welcome and you are
  1071.       encouraged to fill out the survey and send it in.
  1072.           
  1073.           
  1074.           Q1) Where did you obtain this product:
  1075.               (circle one)
  1076.           
  1077.                  (a) bulletin board (BBS)
  1078.                  (b) commercial information service
  1079.                  (c) from a friend/co-worker
  1080.                  (d) from a mail-order shareware disk vendor
  1081.                  (e) from a retail shareware disk vendor
  1082.                  (f) other (specify) ___________________________
  1083.           
  1084.           
  1085.           Q2) Approximately how many hours (total) have you used
  1086.               this product?
  1087.               (circle one)
  1088.           
  1089.                  (a)  < 1  hour
  1090.                  (b)  < 10 hours
  1091.                  (c)  > 10 hours
  1092.           
  1093.           
  1094.           Q3) Have you found this product to have:
  1095.               (circle one)
  1096.           
  1097.                  (a)  no bugs
  1098.                  (b)  minor bugs
  1099.                  (c)  major (program-crashing) bugs
  1100.                  (d)  so many bugs the product is unusable
  1101.           
  1102.           
  1103.           Q4) Would you recommend this product to someone else?
  1104.               (circle one)
  1105.           
  1106.                  (a)  yes
  1107.                  (b)  no
  1108.                  (c)  maybe
  1109.           
  1110.  
  1111.  
  1112.           Q5) What is your primary use for this product?
  1113.               (circle one or two)
  1114.           
  1115.                  (a)  viewing images
  1116.                  (b)  file format conversion
  1117.                  (c)  compression for archival purposes
  1118.                  (d)  manipulation of images
  1119.                  (e)  analysis of images
  1120.                  (f)  other (specify) ________________________
  1121.           
  1122.           
  1123.           Q6) Which of the following are the most important features
  1124.               that need to be added to this product?
  1125.               (circle two)
  1126.           
  1127.                  (a)  increase speed
  1128.                  (b)  increase user-friendliness
  1129.                  (c)  drawing tools
  1130.          (d)  image printing (specify) ___________________
  1131.                  (e)  more filters and processing
  1132.                  (f)  more analysis tools
  1133.                  (g)  greater color support
  1134.                  (h)  more file formats (specify) ________________
  1135.                  (i)  more hardware support (specify) ____________
  1136.                  (j)  other (specify) ____________________________
  1137.           
  1138.           
  1139.           Q7) How important would phone-in technical support be?
  1140.               (circle one)
  1141.           
  1142.                  (a)  very important
  1143.                  (b)  moderately important
  1144.                  (c)  not too important
  1145.                  (d)  not important at all
  1146.           
  1147.           
  1148.           Q8) How do you feel about the price of this product
  1149.               (circle one)
  1150.           
  1151.                  (a)  incredibly good price
  1152.                  (b)  good price
  1153.                  (c)  competitive price
  1154.                  (d)  expensive
  1155.                  (e)  outrageously over-priced
  1156.           
  1157.           
  1158.           Q9) Overall, on a scale of 1 to 10, where 10 is total
  1159.               satisfaction and 1 is total disgust, how would you
  1160.               rate this product?
  1161.               (enter rating below)
  1162.           
  1163.                  ______________
  1164.           
  1165.           
  1166.           
  1167.  
  1168.  
  1169.           PLEASE LIST YOUR SYSTEM SPECIFICATIONS:
  1170.           
  1171.           CPU:         ()8086/8088  ()80286  ()80386  ()80486
  1172.           CPU SPEED:   _____ MHz
  1173.           FLOPPIES:    _____ 5.25"  _____ 3.5"
  1174.           HARD DRIVE:  _____ Mbytes
  1175.           MEMORY:      Expanded _____ Mbytes
  1176.                Extended _____ Mbytes
  1177.           GRAPHICS:    ()CGA  ()EGA  ()VGA  ()SVGA 256K
  1178.                         ()SVGA 512K
  1179.                         ()SVGA 1024K
  1180.           
  1181.           
  1182.           
  1183.           
  1184.           COMMENTS: _________________________________________________
  1185.             _________________________________________________
  1186.             _________________________________________________
  1187.             _________________________________________________
  1188.             _________________________________________________
  1189.             _________________________________________________
  1190.           
  1191.  
  1192.  
  1193.           
  1194.           
  1195.           
  1196.           
  1197.           
  1198.           
  1199.           
  1200.           
  1201.