fotoxx Photo Editor, version 6

Some differences compared to fotoxx version 5:
   * Read and edit most digital camera RAW files.
   * All image editing is done with 48 bits/pixel (16 bits/color).
   * Edit and save jpeg files or tiff files with 24 or 48 bits/pixel.
   * Improved GUI for image tuning and HDR weight adjustments
     (editable spline curves instead of a row of sliders).
   * Automatically turn rotated images upright.
   * Level a tilted image by dragging the right edge with the mouse.
   * Undo/redo memory is on disk, and limit is now 50 edit steps.
   * Only 2 parameters to set for panoramas: lens_mm and lens_bow.
   * One function synchs both image thumbnails and tags.
   * Global warp: pull image with mouse to fix perspective problems.

Technical Notes:
   * Uses the FreeImage library for reading and writing image files.
   * Uses exiftool to read and update EXIF data and tags.
   * Uses ufraw program to read camera RAW files.
   * Some functions are slightly slower due to image size 2x larger.
   * Some functions are faster from greater use of parallel threads
     (on computers having multiple and/or hyperthread processors).
   * Image editing requires more main memory (10 megapixels > 160 MB).
   * Tiff files (limited compression) are larger than jpeg files.
   * Use of GDK/GTK functions in threads has been eliminated.
   * New prerequisite packages: FreeImage, exiftool, ufraw. 
   * Rescale image to a larger size: pixels are not interpolated to 
     smooth "jaggies". Use the blur function with radius=1 to fix.


Benchmarks:

   1. Compare fotoxx-5 and fotoxx-6 using a 2.4 GHz quad core 
      processor for two panorama jobs and two HDR jobs:

         fotoxx-5     33  38  36  38   elapsed seconds
         fotoxx-6     31  32  25  26

      The speedup is due to greater use of parallel threads.

   2. Compare fotoxx-5 and fotoxx-6 panorama on a netbook (Atom 1.6 GHz):
         fotoxx-5: 152 seconds   fotoxx-6: 159 seconds

      The slowdown is because fotoxx-6 images are 2x larger in memory.


Installation:

   There are some dependencies to install first. Here are the 
   package names for Ubuntu (other distros may be different):
      o   g++
      o   libgtk2.0-dev
      o   libfreeimage-dev
      o   ufraw
      o   exiftool (libimage-exiftool-perl)
      o   xdg-utils (usually present by default)
      o   printoxx 

   The first three packages are required for building fotoxx.
   The first two are available in every Linux distro. FreeImage
   may or may not be available. See the note below about how
   to get it if it is not already in your distro's repository.
   
   ufraw       converts digital camera RAW files to tiff
   exiftool    read/write EXIF data, for tag editing
   xdg-utils   open online HTML user guide (Firefox, Konqueror...)
   
   printoxx is an optional program for arranging images and text
   in a layout and then printing. It is available from:
       http://kornelix.squarespace.com/printoxx.

   I have tested fotoxx-6.0 on recent versions of Ubuntu, Fedora,
   and Open Suse. Other distros have not been tested. 


FreeImage notes:

   Ubuntu has a package for FreeImage in the Universe repository.

   Check your distro to see if FreeImage is available as a package.
   If not, you must download and install FreeImage yourself. This 
   is fairly painless. Download FreeImageXXXX.zip for Linux from 
   freeimage.sourceforge.net. Unpack the zip file and read the 
   README.linux file. Basically all you have to do is 'make' and 
   'make install'. The compilation takes 1-2 minutes. Hundreds of
   messages come out. After this, fotoxx should build normally.
   
   Added on 20.03.2009:
   Libfreeimage-3.9.3 in Ubuntu 8.04 crashes with fotoxx. Either 
   replace it with the newest version from the FreeImage web site, 
   or use FreeImage version 3.10 from Ubuntu 8.10. 


