UFRaw - Unidentified Flying Raw
Raw photo loader plugin for The GIMP
(http://ufraw.sourceforge.net/)
by Udi Fuchs,

UFRaw is a utility to read and manipulate raw images from digital cameras.
It can be used by itself or as a GIMP plug-in.
It reads raw images using Dave Coffin's raw conversion utility DCRaw.
And it supports basic color management using Little CMS, allowing
the user to apply color profiles.
 
Ufraw was originally based on the GIMP plug-in by Dave Coffin
http://www.cybercom.net/~dcoffin/
and on Pawel T. Jochym's (jochym at ifj edu pl) plug-in.

UFRaw is licensed under the GNU General Public License.

Installation
============
Requires GIMP 2.0, the GIMP development package, GTK+ >= 2.4 and lcms.
If you have GTK+ >= 2.6 you will get the extra option of seeing hidden
files in the file chooser dialogs.

(if you are using the CVS version you should first run ./autogen.sh
and check the "Development version" section in this README.)

The first step of the installation, is to run:
./configure

At the end of the configuration you will get a summary of the installation
settings. It should look like that:

configure: ====================== summary =====================
configure: build gimp plug-in: yes
configure: hidden directories support (GTK>=2.6): yes
configure: EXIF support: yes
configure: JPEG support: yes
configure: TIFF support: yes
configure: lossless compressed TIFF support: yes

If some of the lines end with 'no' instead of 'yes', it is not the end of
the world. It only means that this option in UFRaw will be disabled.

The libjpeg development package is required for saving image in the
JPEG format in the stand-alone tool. It is also needed to support
Kodak DC120. If the configuration script does not find this package
the above options will be suppressed.

The libtiff development package is required for saving images in the TIFF format.
If the configuration script does not find this package this option
will be suppressed.

The zlib package is required for saving images in the TIFF format with
lossless compression. If the configuration script does not find this package
this option will be suppressed.

The libexif development package is required for reading EXIF information
from some cameras.  If the configuration script does not find this package
this option will be suppressed. You can also suppress this option explicitly
by using the '--disable-exif' option to the configuration script.
A recent version of libexif is required, but since libexif-0.6.11
can crash UFRaw, it is recomended to use the CVS version.

Other options for the configuration script are:

--disable-gimp : do not build the gimp plug-in and hence the gimp development
                 package is not needed.

--enable-extras: build the extra binaries - dcraw, ufraw-exif, nikon-curve.

To build UFRaw:
make

To make a system wide installation:
make install

To install for a single user:
make install-user

You also need to make sure that rawphoto is not installed.

If one of the packages (lcms, libjpeg, libtiff, zlib) is not installed on your
system, you can build it locally and export PREFIX to its location.
To build any of the above packages download the package and type:
./configure --prefix=$PREFIX
make
make install

If zlib is built only locally you will have to configure libtiff with
the command:
./configure --prefix=$PREFIX --with-zlib-include-dir=$PREFIX/include --with-zlib-lib-dir=$PREFIX/lib

MS-Windows installation
=======================
Windows users can simply download ufraw-VERSION-setup.exe that automatically
installs UFRaw.

Here are a few pointers if you still want to build UFRaw yourself.

'make install' will try to make a unix like installation into /usr/local.
'make windows-installer' will create a windows installer and
'make install-windows' will run this installer.

pkg-config behaves differently under MinGW32. Therefore, if you are working
under CygWin or cross compiling from Linux, you will have to modify all the
*.pc files that come with the different packages. The following script should
do the trick (after updating TARGET to your needs):

TARGET=/opt/i586-mingw32msvc
for f in $TARGET/lib/pkgconfig/*.pc ; do
  cat $f | sed s+^prefix=.*+prefix=$TARGET+ > $f.tmp
  mv $f.tmp $f
done

The gimp-dev package can be tricky to find. You can download it from:
http://www.gimp.org/win32/gimp-dev-2.2.7.zip

CVS
===
UFRaw has a CVS repository on sourceforge. To use the repository you need
autoconf and automake to be installed. You should './autogen.sh' before
'./configure'.

Using the CVS, new versions of dcraw.c can be easily updated. Copy the latest
version of dcraw.c from Dave Coffin to a ufraw working directory. Then type:

cvs update -r dcraw-original-branch dcraw.c
cvs commit -m "dcraw original 7.30" dcraw.c
cvs update -A
cvs update -j dcraw-original-latest -j dcraw-original-branch dcraw.c
cvs commit -m "dcraw modified 7.30" dcraw.c
cvs tag -F -r dcraw-original-branch dcraw-original-latest dcraw.c

This would commit the original dcraw.c to the dcraw-original-branch and
update the modified dcraw.c in the main trunk.

This update procedure is not full proof. First there can be conflict that
have to be resolved. But even if there are no conflicts, one should check
if there where changes in scale_colors(), vng_interpolation(),
convert_to_rgb(), fuji_rotate(), flip_image(), main(). Such a change could
effect dcraw_indi.c or dcraw_api.c.

Development version
===================
The development version has the following caveats:

./autogen.sh must be run before ./configure.

The format of these ID files and of the configuration file $HOME/.ufrawrc
may and will change before the final release. I try to make sure that the
new releases will read such files correctly even if they are from previous
releases. No attempt is made to keep backward compatibility with the different
stages of the development versions. If you use the development version you
might have to delete or fix manually such files from time to time.

Reading EXIF data is only supported for NEF, PEF and CR2 files and even then
your milage may vary. In the worst case UFRaw may crash and in the best case
it will read some, but not all of the data.

There are some changes in the UI. The "Spot size" adjustment is gone, you can
get the same effect and more by pressing the mouse button on the image and
dragging the mouse as you press. Also, you should try clicking the right
button on both histograms, for some histogram related options.

The old curve file format is not supported any more. Instead UFRaw reads
a new format, and can also read the Nikon curve formats NTC, NCV.

Last but not least, the developement version is poorly tested and has some
half written features, therefore it is bound to have bugs...

History
=======
08/02/2005 - UFRaw-0.4 released, based on DCRaw v6.33.
* Rotate Fuji images by 45 degrees.
* Preview dialog is more responsive.
* Disable internationalization for Hebrew and Arabic (The right to left setting
  doesn't do good to the preview dialog).
* Bug correction - ufraw --batch did not calculate WB in some cases.
* Bug correction - Seg Fault for some images.

23/01/2005 - UFRaw-0.3 released, based on DCRaw v6.23.
* Added basic color management support using Little CMS.
* Made a stand-alone version with a GUI interface and batch processing support.
  Images can be saved in the PPM, TIFF, and JPEG formats.
* Settings are saved between sessions in a configuration file.
* Added white balance presets (direct sunlight, cloudy, shade, flash, etc.)
* Several possible live histograms.
* Initial (a bit slow) support for thumbnails in the Gimp 2.0 open file dialog.
* Many smaller changes.

28/10/2004 - UFRaw-0.2 released, based on DCRaw v6.10.
* Added support for Nikon Tone Curves.
* This version can be used on the smaller 1024x768 screens.
* I'm finally satisfied with the Saturation control.
* Many small changes.

11/10/2004 - UFRaw-0.1 released, based on DCRaw v6.07.
* Initial version.

Todo
====
* Show some Exif Data in dialog and export all the Exif data to the Gimp.
* Add the UFRaw parameters used to the Exif data.
* Allow the use of camera curve together with color management.
* Improve curve controls.
* Curve corrections per channel.
* Option to save a copy of the configuration file with every image.
* Load a different configuration file (not ~/.ufrawrc).
* Configurable preview image size.
* Sort out the color temperature.
* Invert colors for negatives.
* Rotate by 90 degrees.
* Zoom.
* Crop.
* Spot query - mark on histograms.
* Multi spot query (when pressing the control key).
* Show camera overexposures.
* Help (based on the webpage).
* Calculate width of the dialog control coloumn
  and set raw histogram to that width.
