This is the README file for qtpfsgui v1.5
-------------------------------------------------------------------
Copyright (C) 2006 Giuseppe Rota, <grota@users.sourceforge.net>
Webpage:       http://qtpfsgui.sourceforge.net/
Sourceforge:   http://sourceforge.net/projects/qtpfsgui/


Contents
---------

0. What it is
1. Dependencies
2. Workflow in the gui
3. Changes
4. Contact and Links



0. What it is
---------------------------------------------------------------------
This is version 1.5 of qtpfsgui, a Qt4 graphical user interface that
enables users to work on hdr images.
Supported operations include: creations of a HDR file from a set of
images of a scene taken at different exposure setting, loading an
existing HDR image, saving an image in a HDR format, rotating HDRs,
and tonemapping an HDR image into a common LDR image format (e.g jpeg or png).

MAKE SURE YOU READ THE "Dependencies" CHAPTER IN THIS FILE.
Read section 3 (Changes) to read the changes for version 1.4.

The code is in part based on the existing opensource program "pfsview"
(belonging to the pfstools package) by Grzegorz Krawczyk 
and on "qpfstmo", by Nicholas Phillips.
Without their contribution all of this would have not been possible.
The code also integrates the packages pfstools and pfstmo by
Grzegorz Krawczyk, see below for links.

This README is still work in progress. Check the webpage in the meanwhile:
http://qtpfsgui.sourceforge.net/



1. Dependencies
-------------------------------------------------------------------
Qtpfsgui has 1 dependency:
1) libexiv2
If you want to compile the software from source in linux you also need
OpenEXR (development package).

libexiv2 is a C/C++ library used to extract EXIF tags from LDR image files
(usually from JPEG files).
libexiv2 can be obtained from:
http://www.exiv2.org/

WARNING: the naive build system makes the assumption that the exiv2
headers are in /usr/include/exiv2/ and the libraries in /usr/lib.
If that is not true on your system, please change the related 
variables in qtpfsgui.pro before running qmake as explained below.
(On ubuntu run "apt-get install libexiv2-dev")

If you want to compile the sources in windows you need to have a compiled
version of libexiv2. You also need Qt4 Opensource Edition by trolltech.
Also check the variables in the win32{} section in project.pro: they need
to be changed according to your setup.

Once you have both Qt4 and exiv2 you can compile the code both in
Windows and in Linux with:
> qmake
> make
In linux you can also run
# make install
(as root)



2. Workflow in the gui
-------------------------------------------------------------------
Here I'll describe the workflow in qtpfsgui: pretty much the same
information can be found in the Help->About dialog.

From the main window you can see the buttons that enable the user
to work on HDR images:

"New Hdr..." launches a wizard that asks you to select the set of images
(of the same scene, but taken at different exposures) that are going
to contribute to the final hdr.
The wizard will also ask you which kind of configuration you want to use
to create the hdr from the source images: usually the first choice leads
to good results, so feel free to accept the default "Config 1" option
by pressing next.
Only if you feel that the results can be improved you can try one of
the other predefined configurations.
If you want to fiddle with settings you can check the "custom" option and
another page of the wizard will show up with a complete set of configurations.
It is worth mentioning that you should use the custom option as a
last resort because the predefined configurations (which are a sub-set of the
all possible configurations you can have in the custom configuration panel)
are known to yield good results.
Starting v1.5 there's also a new feature (BETA, results should be checked),
anti-ghosting: if you images are slightly misaligned or moving leaves and/or
wave ripples are in your image set, the resulting hdr has got blur (ghosting).
Enabling anti-ghosting should reduce this blur, but the feature is still beta
and very cpu demanding.

"Save Hdr as...", "Open Hdr..." and "Tonemap the Hdr...":
Once the hdr is loaded into the main workspace you can choose to rotate it,
save it (in one of the HDR supported formats) or to tonemap it.

You can also choose to open an existing HDR image format and load it
into the workspace.

Clicking on the tonemap button will pop up a dialog that will enable you
to tonemap your HDR image and save to one of the plain LDR formats,
like PNG or JPEG.

The tonemapping dialog consists in a series of tabs (and related settings).
Each tab pertains to a different tonemapping operator (TMO).
You can also choose a working size different from the original
one (the TMO will be faster: this is useful for getting
a quick peek at the results of the current settings).

After you're satisfied with the results you can press the big save
button to save the results to one of the plain LDR formats,
like PNG or JPEG.



3. Changes
-------------------------------------------------------------------
v1.5:
New feature (BETA): anti-ghosting.
Restored the "what you see is what you save" behaviour in TMO dialog (fixed saveLDR bug).
Removed buttons in the TMO section: modifying the settings implies istantaneous computation.
Zoom in/out/original and fit to window enabled.
Fixed save ldr dialog (if no extension specified it uses the one belonging to the current ``filter'').
The application now remembers the last used directory for
	open/save hdr
	load/save settings
	load input exposures
v1.4:
New feature: tonemapping settings, you can save the current tonemapping settings and the pre/post gamma values to a text file(s) which you can later re-load.
Changed behaviour in the TMO dialog:
	Combobox moved to the top of the preview image.
	Clicking save you'll get the full (100%) input hdr tonemapped with current settings.
fixed several memory leaks and inefficiencies.

v1.3: some cameras (NIKON D50) don't write ISO values in the JPEGS. That led to a wrong (completely red) hdr result. Now if qtpfsgui doesn't find a ISO value, it uses internally a default value of ISO=100 for all input exposures.



4. Contact and Links
-------------------------------------------------------------------
All comments and suggestions concerning this package or implementation
of particular algorithm are very welcome. Please report bugs and
comments to Giuseppe Rota <grota@users.sourceforge.net>.

See also:
PFStools library:
http://www.mpii.mpg.de/resources/pfstools/

PFStmo web-page (a tone mapping library):
http://www.mpii.mpg.de/resources/tmo/

pfshdrcreate, a commandline tool used to create an HDR from a set 
of LDR images (branch of pfscalibration), hosted on the same 
sourceforge page as qtpfsgui:
http://sourceforge.net/projects/qtpfsgui/

PFScalibration, the original software from which the backend pfshdrcreate
was obtained (not needed for qtpfsgui):
http://www.mpii.mpg.de/resources/hdr/calibration/pfs.html

