: : Black Belt Systems PI Module Description Document : Last Update: August 20th, 1992 : Document: Ben Williams : Introduction ------------ This document describes, very briefly, each of the Public Interface (PI) modules which are supplied with Imagemaster. All of these modules are installed by the proceedure described in the document ``PI_Exec.doc'' which you will find on the disk with the installation data and programs. In order to use the PI Modules described here, you must complete that installation. Using PI Modules ---------------- Once the PI Modules have been installed, using them is very, very easy. PI Modules are grouped into five logical ``classes'' of operations: F1 - Load ------ decode and load a specific file format F2 - Save ------ encode and save a specific file format F3 - Operate --- perform a function on an image in Imagemaster F4 - Capture --- fetch an image from a device such as a scanner F5 - Generate -- display an image devices such as a 24-bit card To use a module from one of these classes within Imagemaster, you simply press one of five function keys, F1 through F5, as shown at the left of the list in the previous paragraph. After pressing a function key, you will be presented with a list of the available PI Modules of that particular type - pressing F1 brings up a list of all the image loader types available. Simply click upon the loader module you wish to use and select ``done'', or double-click on the module; either way starts the loader running. In the following portion of this document, we will briefly explain each of the modules for all five classes so that you have a reference for the types of operations each PI Module performs; also, each of the five classes will be explained further. Load Modules (F1) ----------------- Load Modules are used to decode and load images into Imagemaster, from files which have been saved in unusual or alien (from another machine) file formats. Load Modules present you with one (or more, in some cases) file requester(s) and allow you to specify where in your computer (on which disk and in which directory) the file is, so that the loader can find it and load it. JPEG/JFIF ========= Loads JPEG files which are in JFIF format. JPEG is a file format which is ``lossy'', which means that when the image is changed into JPEG format, some of the image information is lost. For this reason, JPEG images may not be of as high a quality as you usually expect from a 24-bit file format. Note that the compression used by the JPEG process is extremely effective; so much so that images may be only 1/50th of their uncompressed size. Because of this, you may find that a JPEG file which appears to be quite small uncompresses to a very large image, which you may not be able to load into Imagemaster without having additional RAM memory available. JPEG images contain a full 24-bits of color information. For more information on the JPEG format, see the JPEG save module documentation. IFF Palette =========== Loads IFF Palettes from IFF images created by most Amiga software. These palettes are loaded into Imagemaster's internal paint system palette for later use. The currently loaded image is not affected by the loading of this palette. IFF Palettes usually contain 12 bits of color information. On occasion, they will contain 24-bits of color information. PMBC ==== PMBC image files are loaded by this module. PMBC files are true color, 24-bit images in a completely lossless format, along with an alpha channel and image shape mask. For more information on PMBC, see the PMBC save module documentation. RAW === RAW image files are files of literally raw image data. There are no extra bits of information describing anything about the image, such as it's size or resolution. For color raw images, there need to be three separate (but related) image files. One will contain the red information, one the green information and one the blue information. The RAW loader will present you with a file requester for each of these files so that you can specify each one. In addition, you need to tell the RAW loader what size the image is, since that information is not in the image file itself. RAW files contain a full 24-bits of color image data. For more information on RAW files, refer to the documentation for the RAW save module. Rendition ========= Rendition format files are likely to have been produced by software from Octree corporation, makers of the Caligari line of image rendering systems. Rendition files contain 24-bits of color information, and possibly alpha (transparency) information. Rendition Alpha Channel Data ============================ This loader creates a buffer which you may then use as transparency information from the alpha data in a rendition file. Board Master ============ This loader can load any Board Master file as a B&W graphic image of the PCB traces and structures. PCX Loader ========= This loader will load 2-256 color PCX files. Animation Frames ================ Animations, in this context, are IFF ANIM OP-5 animations such as those produced by Electronic Arts DPaint program, or Imagemaster itself. This loader asks you which frame it is you wish to load from within the animation. ANIM files may contain normal Amiga images, HAM-E images, or DCTV images. Targa ===== Targa images (usually) come from IBM computers. There are a number of different Targa formats; some are 24-bits, some 16-bits and so on. So what you get when you load the image will depend upon the particular file format ebing used. These images were invented by Truevision, Inc. SHAM (and AHAM) =============== SHAM, or ``Sliced HAM'', is a format especially designed for the Amiga. These HAM-mode files contain palette information for every scan line, or some groups of scan lines. When these images are loaded, Imagemaster obtains the correct palette information and applies it to the 24-bit image it creates in the new buffer. These images were invented by NewTek Inc. AHAM is a compatible clone from ASDG. DHRZ (and ARZ0/ARZ1) ==================== DHRZ, or ``Dynamic Hi-Res'', is a format especially designed for the Amiga. These hires mode files contain palette information for every scan line, or some groups of scan lines. When these images are loaded, Imagemaster obtains the correct palette information and applies it to the 24-bit image it creates in the new buffer. These images were invented by NewTek Inc. ARZ0 and ARZ1 are compatible clones from ASDG. DKB Trace ========= These images are created by the PD Ray-Trace program of the same name. They are 24-bit full color images. DKB Trace was written by David K. Buck. RGB8/RGBN ========= These formats contain 24-bit and 12-bit color images, respectively. They are created by programs such as Turbo Silver and Imagine, from Impulse Inc. FITS ==== These images are created by software from NASA (National Aeronautic and Space Administration) and JPL (Jet Propulsion Laboratories). These images (usually) contain images obtained by space probes, or similar data. There are many FITS formats; we have attempted to support the most common ones. The FITS specification is incomplete and contradictory, so some images may not load with this PI Module. If this happens to you, please send one or more of these image to us on a floppy disk and we will attempt to update the loader to handle them. UPB8 ==== These files are saved from our own 256 color paint system for the HAM-E. UPB8 files contain images with up to 256 24-bit colors. Save Modules (F2) ----------------- Save Modules are used to take an image which is already available (loaded) inside Imagemaster, encode them (compress and/or encrypt) and then save them to a file in a specific format suitable for loading by another program, possibly on another type of computer. Save Modules present you with a file requester, which you use to specify a location for the newly created file to be placed. JPEG/JFIF ========= JPEG (Joint Photographic Experts Group) format images are highly compressed, 24-bit color accurate images. No mask or alpha channel information is saved; the image compression method used is ``lossy''. This save module provides you with the ability to set the compression used from light to heavy. More compression results in more loss of image detail. JPEG is great for some things... and absolutely the worst thing to use for others. Consider: JPEG loses some quality when it compresses an image. Not a lot, if you use minimum compression, but still, some loss of quality occurs. If you're a scientist or a doctor, don't think "loses quality", instead think "loses and changes data"! Consider what happens if you're working on this image over a number of sessions. Each time you save and load the image in JPEG format, it deteriorates a little more (or a lot, if you compress it a great deal). The lesson, and the rule that comes from it, is obvious: Don't EVER use JPEG as a storage format for an image you're working on, or for an image that will be used in another image (unless you positively KNOW that the loss of quality won't matter, for whatever reason). JPEG is really good for archival storage of images you like, but aren't "serious" about. On minimum compression, a single use of the JPEG technique on an image will not seriously degrade it. And that's what you'd normally do with an archived image. Store it once, then load it as you please to view it, as many times as you like. PMBC ==== PMBC stands for Plane Minimizing Bitmap Compression. It is a format invented at Black Belt Systems for lossless compression of high-color images. Using PMBC results in an image file which generally will be considerably smaller than the same file in 24- bit IFF format, the normal Amiga standard. PMBC is especially good at compressing images with gradients and areas of monochrome color in them. PMBC is not good at compressing images which contain large amounts of dither, such as an image which has been rendered to 256 colors for VGA use. You can expect an average improvement in storage requirements of about 16% over IFF-24; many images will exceed this average by a large amount, particularly those with monochromatic (by which we mean B&W, cyan, magenta, yellow, red, green or blue) information. Rendition ========= These images are 24-bit color files. Used with Octree Software products on the Amiga. Vista Binary ============ These images are actually altitude maps in a special binary format that Virtual Reality's VistaPro can read. Once saved in this format, VistaPro can load the file, and then generate a landscape from the data Imagemaster placed in the file. RAW === RAW images contain no control information. Images are saved left to right, top to bottom, one byte per pixel in three files: red, green and blue. A five-by-five black image that had a dark red spot near the upper left would be saved as follows: red file green file blue file ---------------------------------------------------- 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 For each of the preceeding three files, the bytes are saved in the following order: All Files -------------- 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 RGB8 ==== This file format is an Impulse file format. Images saved in this format can be loaded into Imagine as various brushes and maps. RGB8 is a 24-bit byte-level non-lossy compressed format, which is generally not as efficient as IFF24 or PMBC; for this reason, you normally would only use this for compatibility with Impulse products. Targa ===== This file format is used with Truevision's Targa boards and related software on the IBM PC. Process Modules (F3) -------------------- Process Modules are used to perform operations upon an image which is already loaded into Imagemaster. These operations could be something as simple as applying contrast, or very complex, somthing like the morph function in Imagemaster. Each process will present you with a series of control panels appropriate for it's particular needs. HIST ==== This module will create a text-file containing detailed numeric reports on all 256 levels each of red, green, blue, average (R + G + B) / 3, and Luma ((R x .30) + (G x .59) + (B x .11)). The file will detail each of these five reports, mark the name of the image and the total number of pixels involved in the analysis. Each level will have a number of pixels data item. Lines in the text file which begin with the asterisk (*) character are not data lines. Other lines have the format: cNNN:v Where "c" is R, G, B, L or A for Red, Green, Blue, Luma and Average; where "NNN" is a three digit number from "000" to "255", leading zeros always present. The colon character ":" is always present in a data line. "v" is a number without leading zeros that may range from "0" to the number of pixels in the region being analyzed. This module is specifically intended for those analyzing image data. KOCH ==== This PI Module generates a Koch fractal snowflake into the image which is the primary image. Graphs ====== Executing the graph PI Module will bring up a file requester. You should select a graph file such as EXAMPLE.GRAPH . The graph will then be drawn in a new buffer. There is also an example graph file called EXAMPLE.table which you can use to see how to prepare graphs. Tesselate ========= The PI Module will provide you with a choice of triangle edge length. This is the size of each smooth area on the final result. Then you are presented with the normal area selection panel to identify the area you want to tessellate on. Erode ===== 'Brightness Erode' thins brighter areas of the image and expands darker areas. This can result in a water color paint like effect, especially on dithered images. 'Brightness Dilate' does the opposite to Erode. It has a dramatic effect on human portraits. Small cell sizes of 2 to 4 are recommended. Pressing F1 will provide you with a choice between 'Erode' and 'Dilate'. Then you adjust the cell size. A larger cell size will yield more dramatic results. Then you are presented with the normal area selection panel to identify the area you want to change. Capture Modules (F4) -------------------- Capture Modules operate external equipment in such a way as to allow you to bring an image into Imagemaster from a real-life source, such as an electron microscope, video camera, flatbed or handheld scanner, etc. Each Capture Module will provide you with the appropriate controls to perform the operation it is intended for. ES-300c ======= This module is commercial; it is available from Metadigm, Inc. You can contact Metadigm at (714) 253-2828. The ES-300c scanner module is available stand-alone or as an upgrade from the ASDG software for the ES-300c (the upgrade allows you to use the cable that came with the ASDG software). If you do own the ASDG scanner module, we strongly recommend the Metadigm upgrade; the module's performance is better and the module is much easier to use. Display Modules (F5) -------------------- Display Modules are essentially the opposite of Capture Modules. They allow you to take an image currently loaded into Imagemaster and ``send'' it to a display device such as a 24-bit display card, or a photographic imager like the Polaroid Digital Palette. The most common use of a Display Module is to view an image on a high-color device. IV-24 ===== This PI Module supports GVP's 24-bit display card, the IV-24. It provides output to the IV-24 display only. It cannot be used for automatic update operations, as the IV-24 shares the screen with the Amiga's display. FC24 ==== This PI Module supports Impulses FireCracker 24 display card. If you place the script (rxpi:imfc24r.rexx) in the "Redraw Script" text entry field found in the Display panel, and activate the "Call Redraw Script" button in the display panel, then as soon as Imagemaster completes redrawing on the Amiga screen, it will also redraw on the FC24 screen. This allows continuous monitoring of the image on the second monitor. DMI Resolver ============ This PI Module supports Digital Micronics ``Resolver'' 256-color 24-bit display board. If you place the script (rxpi:resolver.rexx) in the "Redraw Script" text entry field found in the Display panel, and activate the "Call Redraw Script" button in the display panel, then as soon as Imagemaster completes redrawing on the Amiga screen, it will also redraw on the Resolver screen. This allows continuous monitoring of the image on the second monitor.