Path: menudo.uh.edu!usenet From: per.e.hagen@ffi.no (Per Espen Hagen) Newsgroups: comp.sys.amiga.reviews Subject: REVIEW: ImageFX 1.50 Followup-To: comp.sys.amiga.graphics Date: 22 Dec 1993 16:15:02 GMT Organization: The Amiga Online Review Column - ed. Daniel Barrett Lines: 423 Sender: amiga-reviews@math.uh.edu (comp.sys.amiga.reviews moderator) Distribution: world Message-ID: <2f9rq6$1ac@menudo.uh.edu> Reply-To: per.e.hagen@ffi.no (Per Espen Hagen) NNTP-Posting-Host: karazm.math.uh.edu Keywords: graphics, image processing, morph, paint, 24-bit, commercial PRODUCT NAME ImageFX 1.50 BRIEF DESCRIPTION Complete image manipulation package, for image restoration, retouching, enhancement, analysis, painting, warping, and morphing; scanning and digitizing; printing; file conversion. Features a nice, configurable GUI and an extensive ARexx interface. AUTHOR/COMPANY INFORMATION Name: Great Valley Products, Inc. Address: 657 Clark Ave. King of Prussia, PA 19406 USA Telephone: (215) 337-8770 FAX: (215) 337-9922 LIST PRICE I paid GBP 170 ex. VAT. SPECIAL HARDWARE AND SOFTWARE REQUIREMENTS HARDWARE At least 3 MB RAM. More is recommended. Hard drive strongly recommended. Works with any CPU. 68020 or higher is recommended. FPU recommended for some operations, but not required. AGA chipset recommended, but by no means required. Image processing is of course one of the most CPU and memory intensive tasks there is. It goes without saying that a reasonably well-equipped Amiga is vital for any serious use of this program. SOFTWARE Requires AmigaDOS 1.3 or higher. AmigaDOS 2.0 or higher is recommended. COPY PROTECTION None. Hard drive installable. MACHINE USED FOR TESTING Amiga 1200 HD with MBX-1200z. 14.2 MHz 68020/68881. 2 MB Chip RAM, 4 MB Fast RAM. Kickstart/Workbench 3.0. SysInfo rating: 4.80 x A600. AIBB ratings: ~0.6 x A4000/030 (integer), ~1 x A4000/030 (graphics), 3-20 x A4000/030 (FP math). INSTALLATION The program comes on 4 floppies, and installation to a hard drive is very easy. It uses Commodore's Installer program. By using the "Expert" mode of Installer, you may choose to install portions or all of ImageFX. If used from floppy, the first disk contains the main program, ready to use (that is, in uncompressed form). FIRST IMPRESSIONS ImageFX can be run the instant the installation process is finished; i.e., no reboots or other nasty operations are necessary. The various menus, windows, and requesters looked a little blocky on the default setup. I soon changed this by using an Interlaced Panel and the Helvetica/11 font. The normal display consists of two or three screens on top of each other: the Preview screen, the Palette screen (which can be turned off), and the Gadgets screen. The latter two screens can be toggled on/off by clicking the right mouse button. This multiple-screen concept is similar to that of ImageMaster and Brilliance. Generally, the program is VERY configurable. The preview mode can be any ScreenMode, screen type (normal/EHB/HAM), and depth supported by the Amiga (or one of several 24-bit graphics cards). For instance, I often use "Super72:Super-High Res Laced HAM8" for precise painting, cropping, etc., and "DblPAL:Low Res HAM8" for faster response on other operations. The gadgets screen has five primary buttons that change the program "mode": Scanner, Palette, Toolbox, Render, and Print. Each of these buttons, when pushed, brings up various other buttons and gadgets. The Toolbox panel can be customized completely. The screen layout is generally quite intuitive and user-friendly. FEATURES ImageFX is absolutely packed with features, so I can only give a few examples in this review. First of all, the package has support for loading and saving in most image file formats you can think of, including IFF-ILBM, JPEG, GIF, TIFF, Targa, PBM, BMP, ANIM5/7, FLI/FLC, and even Amiga icon format (".info" files). The loader support is a bit more extensive than the saver support, but both should be more than adequate for most people. ImageFX will also render to any Amiga OCS/ECS/AGA screenmode, as well as several graphics boards (including DCTV, Retina, and OpalVision). The AGA rendering quality is high, although the LUT selection can sometimes be very slow. There are even three different algorithms for LUT selection (MedianCut, Enhanced, and Tibbett), for better control of the process. The Toolbox is the heart of ImageFX. It features a decent range of 24-bit painting tools and modes: freehand, line, curve, box, airbrush, fill, brush, etc. One very useful feature is the Pantograph painting mode, where you copy from one part of the image to another. You can paint with varying degrees of Blend, use the Alpha buffer, and other options. The painting tools are quite useful for image retouching etc, but ImageFX certainly is no rival to Brilliance for image creation. Among the other buttons in the Toolbox are Balance, Composite, Rotate, Size, Color, Convolve, Transform, Filter, and Effect. Pressing any of these buttons pops up a small list of possible operations. Selecting any of these in turn usually causes a requester with detailed options to appear. For instance, you can select Convolve, then select Edge Detect from the list, and then set the detection threshold for edges. Press Okay, and the Edge Detect filter is run. I really like this method of organization. By dividing the operations into several groups, each list becomes short and synoptic (a quick summary). And if you don't like the default grouping of operations, you can always define your own. As for the operators themselves, many look strangely familiar for an ADPro (ASDG's Art Department Professional) user. The Balance window, for instance, is more or less identical to that of ADPro (except that you can select the colour space with ImageFX: RGB, HSV, or CMYK). Another difference is that ImageFX lacks the intermediate colour table of ADPro. Once you Okay any balance changes, these are applied to the buffer. This is unfortunate, as you lose some information each time you modify the colour balance (overflow/multiple-colours-to-one). Of course, ImageFX can Undo any changes, but that's hardly the ideal way of handling this. (Also, an intermediate colour map would probably be quite slow if the balancing was performed in the HSV colour space; but for RGB and CMYK, it would simply be a LUT for each RGB component.) HSV balancing means you can "rotate" the colours (purple becomes red, yellow becomes green, etc.), by adjusting the Hue. A fun effect, if not particularly useful. The way I use this feature is to try out the settings in a small region of the image (and Undo them again) until the results are satisfactory, then apply to the full image. So it's not so bad after all, just different I guess. One of ImageFX's biggest fortes is the processing of regions. Most of the above operations can be performed on any user-defined region of the image. (The operations that don't support it are the ones for which regional processing makes no sense, such as Size.) A region can be a box, polygon, or any free-hand closed shape. The region is defined simply by moving the pointer up to the Preview screen and drawing it. There are also three buttons marked R, G, and B, respectively, that can be used to select which one(s) of the Red, Green, and Blue buffers to operate on. For instance, you can deselect Red and Green, and run Dynamic Range. Minimums and maximums are then sought for, and modifications applied to, the Blue buffer only. Again, I find ImageFX's approach very sensible. The modular design makes it an extremely flexible and powerful program; almost ANY operator can be applied to almost ANY region of ANY subset of the RGB buffers, simply by clicking a button or three. I find the handling of regions very intuitive and easy to use. ImageFX also supports Epson and Sharp scanners, plus a few digitizers. I haven't tested any of these modules. There's also good printing support (Preferences and PostScript). Oh yes, and there's a great warping/morphing program supplied as well... a special version of CineMorph, which works in tandem with ImageFX (e.g., it can use ImageFX's Load, Save, and Render modules). And there's IMP (ImageFX's version of Sentry, more or less), and the well-known Viewtek image viewer. AREXX INTERFACE As I said, ImageFX is packed with features. Nevertheless, I find its ARexx interface adds even more power. ImageFX's ARexx port is definitely the most extensive I have ever seen in any program. Not just a tool for interprocess communication and macro generation, ARexx is of course a general programming language. This means that complete application programs can be written under ImageFX/ARexx, though speed might be a problem with an interpreted ARexx script. As one example of the range of ImageFX's ARexx port, I can mention the ComplexRequest command. This is used to build user-defined requesters! Such requesters can contain integer, string, checkbox, and cycle gadgets (and more). The gadgets are defined in an ARexx stem variable. Not all of the standard Intuition gadgets can be defined -- for instance, radio buttons and sliders (potentiometers), are missing -- but it has all that's NECESSARY for any requester. Other commands allow you to read and write the RGB values of any pixel of the current image, to draw "virtual" lines and boxes on the preview screen, to add wedges (like notifying an ARexx port when the left mouse button is clicked), and so on. Of course, all the regular stuff is there too -- load, operate, render, save, etc. Preview screen updating can be temporarily turned off via ARexx for faster operation. Many commands have synonyms - Mono2Grey can also be written MonoToGrey, Mono2Gray, and MonoToGray. Very elegant. One command that seems to be missing is a multiple-file requester. This isn't too much of a problem, though, as I use Rafael D'Halleweyn's RexxReqTools.library for these (and other) requesters anyway. About 200 pages of ImageFX's manuals are devoted to the ARexx interface. However, you can also create ARexx macros without ever reading the manual! ImageFX 1.50 has a "learn" mode, where all actions are "translated" to ARexx and stored in a file. For example, to create an anim from a set of individual files, you can (1) turn on learn mode, (2) set the desired rendering options, (3) load, render, and save the first image, (4) turn off learn mode, and (5) add a DO I=1 TO N loop to the script. ET VOILA, a complete ARexx script for creating anims. (Well, more or less...) ImageFX comes with very few pre-written ARexx scripts. This isn't really a problem if you're familiar with ARexx, but newcomers to this weird and wonderful language would probably have wanted more scripts. Of course, the need for pre-defined ARexx scripts is also alleviated by the Learn mode. OTHER ASPECTS I have to mention a few of the other features of this package. First of all, ImageFX contains a rather useful online help function. An operation-sensitive AmigaGuide manual pops up any time you press the Help key (except when ImageFX is busy). Although not more than a quick reference, it can save quite a few look-ups in the paper manual. ImageFX also comes with its own virtual memory system, which can be configured in several ways -- "Use Always", "Never", "When Needed", "Ask Before Using". You can specify the maximum amount of RAM to use, and the VMEM page size in KBytes. I find ImageFX's memory handling system good, but not ideal. With any setting except "Never Use VMEM", ImageFX automatically allocates and holds on to the specified maximum amount of RAM. This memory has to be contiguous. If you use Ask or When Needed, the program will use any extra (not necessarily contiguous) available RAM before it goes to virtual memory. One problem with this is that ImageFX sometimes runs out of memory when rendering (or, to be precise, when making histograms for CLUT selection. The histogram memory must also be contiguous). There might be a way to limit the amount of RAM to use for the buffer, but I haven't found it yet. If you select "Never Use VMEM", ImageFX allocates memory only when it is needed. The memory does not have to be contiguous. ImageFX needs only 3 bytes per pixel for the buffer. (ADPro always allocates 4 bytes per pixel, using the extra one for rendering.) After having used the "Ask Before Using VMEM" initially, I have now switched to "Always Use VMEM", with about 1.5 MB as maximum amount of RAM to use. This setting is good for multitasking (plenty of Fast RAM available), and I never have memory problems when rendering. If the whole buffer fits in the 1.5 MB of memory, VMEM isn't really used. I can also use huge 24-bit images (2000x1500, say) without any problems. (I am actually running ImageFX on another screen with a 1280x1024x24 picture as I am typing this... while playing a MOD with MultiPlayer, and running about a dozen other commodities, etc. And I still have (checking...) about 1 MB of free Fast RAM!) Unfortunately, at least one effect (Oil Transfer) will not work on disk-based buffers. I have no idea why. One last feature: ImageFX has a VERY useful Undo/Redo command. Multiple Undo is supported; the maximum number of Undos is user-specified. It's only limited by the free RAM and/or disk space of your machine. DOCUMENTATION As ImageFX 1.50 comes with approximately 600 pages of documentation, one might think that this subject was handled excellently. Wrong. In fact, the documentation is my one major gripe about this package. First of all, the main manual describes only ImageFX 1.03. All modifications and extensions for version 1.50 are described in a separate addendum. This is perhaps marginally acceptable for people who have upgraded to 1.50, but it's intolerable for new users. What are we supposed to do? Read both manuals at the same time? (It might seem that this is the intention, because the 1.50 addendum doesn't even fit into the original binder!) No, this isn't good enough, GVP. Secondly, I find the manual a bit too shallow. The explanation of some operators is rather superficial. For instance, what algorithm is used for "Smooth" scaling? Is it a bilinear approximation? The manual only states that "Smooth mode smoothly anti-aliases the image as it is rescaled"... wow, I would never have guessed! Well, I guess the manual is OK for beginners. It is definitely too shallow for advanced users. Thirdly, it's difficult to navigate the manual. As previously mentioned, the manual's coverage of the ARexx interface spans about 200 pages. Yet it is only given one line in the Contents, and there's no chapter introduction detailing the disposition. You have to browse through it to find that it contains (1) 127 pages of commands, (2) a 7-page Quick Reference, (3) loading commands, (4) rendering commands, and so on. This might sound awfully harsh, so I should say that the manual IS usable. As a matter of fact, it's about average for this kind of software. It's just not the same excellent quality as the rest of this package. LIKES AND DISLIKES I really like the flexible, extensible and customizable nature of ImageFX. It can be configured to suit pretty much anyone's taste. The program's number of features is formidable. Having used ImageFX extensively for about a month, I still feel like I'm only scratching the surface of this program (and I usually get the hang of programs very quickly). The ARexx interface is also brilliant. As is the regional processing, the 24-bit painting tools, the always-present Preview buffer, not to mention the consistent and pretty (once you've tailored it to your personal taste) GUI. Also, virtual memory and multiple Undo are wonderful features. Finally, I like the fact that everything is included in the basic package; no vital tools are sold separately. I dislike that some effects don't work with VMEM buffers. And I STRONGLY dislike the poorly written and assembled manual. Also, the AGA chipset is supported only for preview and rendering. For instance, the palette screen is only LoRes HAM6, with a 12-bit colour space (at least it looks that way to me). I would like to see more ARexx macros supplied with the package. COMPARISON TO OTHER SIMILAR PRODUCTS It is of course impossible to test this package without comparing it to ASDG's Art Department Professional. I have used ADPro for some time, including the current version (2.3.0). I have only very slight experience with ImageMaster, so I can't really compare ImageFX to that product. ImageFX can do more or less everything that ADPro can. Quality and time consumption are also quite similar. But ImageFX can do much, much more than ADPro, and some operations are a lot easier to perform. Furthermore, ImageFX utilizes the Amiga's intrinsic advantages much better than ADPro does: o Multiple and "split" screens. o A HAM screen for the palette. o Images are rendered directly to auto-scrolling screens in Chip RAM (ultra-fast scrolling of large images). o Good memory usage (multitasking-friendly). o HAM8 preview mode. o Gadgets, requesters, etc. ADPro, on comparison, is designed almost as if it were a PC product. But sure, it works, and it's quite easy to get used to. And there are a few options that are unique to ADPro; e.g., the Antique operator. I seriously can see no reason why anyone would use ADPro once they get to know ImageFX. Being an image processing scientist, I have used quite a few IP packages professionally (under Unix and VAX/VMS). I can honestly say that ImageFX comes quite close to several of these. BUGS The program is reasonably bug-free. I've noticed a few minor bugs, but nothing really serious. ImageFX seems very stable; it has never crashed on my machine, without being SERIOUSLY provoked. One "bug" is that small rendering screens sometimes look like complete garbage. This is actually a bug of the AGA chipset, which apparently doesn't handle arbitrary screen widths. The screens look right when moved horizontally. However, if the machine is not meant to handle such screens, ImageFX should not try to open them. SUPPORT Author Tom Krehbiel and co-author Kermit Royce Woodall are both on the Internet. Kermit frequently answers ImageFX questions in the USENET newsgroup comp.sys.amiga.graphics. I have e-mailed Tom Krehbiel with a question, and he answered me a few days later. Telephone and fax numbers to GVP Technical Support are given in the manual. I haven't tried these. CONCLUSIONS ImageFX is a very good program, quite possibly the best Amiga program I have ever used. On a scale from 1 to 10, I'd give it a 9: The program and the UI are a solid 10, but the manual is hardly worth more than 6. ImageFX is highly customizable, and it really utilizes the Amiga (multiple/split screens, HAM, multitasking-friendly, ARexx, etc). The ARexx interface is the best I've ever seen, and allows for creation of complete new image processing applications. The program is also very stable. In my opinion, ImageFX is well worth its price. COPYRIGHT NOTICE Copyright 1993 Per Espen Hagen. All rights reserved. The author can be contacted on e-mail as per.e.hagen@ffi.no (or peh@ffi.no if you're lazy...) --- Daniel Barrett, Moderator, comp.sys.amiga.reviews Send reviews to: amiga-reviews-submissions@math.uh.edu Request information: amiga-reviews-requests@math.uh.edu Moderator mail: amiga-reviews@math.uh.edu Anonymous ftp site: math.uh.edu, in /pub/Amiga/comp.sys.amiga.reviews