pfstools for HDR images / News: Recent posts

pfstools 2.1.0 released

This release adds support for .yuv video files encoded as PQ2020 or HLG2020 (used by the reference implementation of h265). pfsview was updated to link with Qt5 instead of Qt4. Several compilation issues on Ubuntu have been resolved.

Posted by Rafal Mantiuk 2017-11-13

pfstools 2.0.6 released

This is a bug-fix release, solving compilation and library issues on Ubuntu 16.04. Matlab MEX files can now be compiled on Windows.

Posted by Rafal Mantiuk 2017-03-15

pfstools 2.0.5 released

This is a bug fix release, addressing issues in Octave interface, newer compilers and with some HDR file formats.

Posted by Rafal Mantiuk 2016-05-26

pfstools 2.0.3 released

This is a minor release, which fixes several important issues, including a bug in pfshdrcalibration, storing 32-bit EXR files and improvements in cmake build scripts.

Posted by Rafal Mantiuk 2015-04-28

pfstools 2.0.2 released

pfstools 2.0.2 is a minor release, which fixes several issues in the cmake files and in the documentation.

Posted by Rafal Mantiuk 2015-03-15

pfstools 2.0.1 released

This version contains two major changes as compared with 1.9.x: 1) pfstools now include all "tools" from pfstmo and pfscalibration in one package so there is no need to install and compile them separately, which should save time; and 2) the build system has been changed from automake to cmake. This should make it easier to compile pfstools on different platforms.

This version adds also a new tone-mapping operator (mai11) and a number of bug fixes and minor improvements. Refer to the ChangeLog.txt for details.... read more

Posted by Rafal Mantiuk 2015-02-07

pfstools 1.9.0 released

This release brings two major changes: The way the Radiance RGBE files
are handled has been altered to be compatible with most of the
software; and this is the first release with CMake build
system. Although automake files are still supported, that support will
be dropped in future releases. Other changes include two new tools:
pfsretime and pfscolortransform, performance improvements and bug

Posted by Rafal Mantiuk 2014-09-17

pfscalibration 1.6 released

This release adds a new command, pfsalign, for aligning multiple exposures using homographic transformation. The command uses a similar feature-point based method as most panorama stitching software. The command requires OpenCV library to compile. For details, see:

Posted by Rafal Mantiuk 2013-11-16

pfstmo 1.5 released

Besides numerous bug fixes, this revision contains a more accurate
solver for fattal02 and improved video filtering in mantiuk08. The new
solver should make the results of fattal02 closer to the algorithm
presented in the original paper. This, however, also radiaclly changes
the look of the results produced by this operator. The new temporal
filtering in mantiuk08 does not require two-pass processing, allows to
specify the frame-rate (one of three pre-defined), and reduces some
artifacts of previous filtering.

Posted by Rafal Mantiuk 2012-06-25

pfstools 1.8.3 released

This realease brings an updated "pfsview", which is now 100% QT4
application. Some cosmetic problems as well as "Fit window to content"
have been fixed. Other minor fixes are listed below.

* fixed: pfsdisplayfunction properly interpolates display LUT
* fixed: bug #3080304 - configure uses non-portable test(1) syntax
* fixed: bug #1766263 - pfsinhdrgen fails silently on pfsin failure. - partially
* fixed: pfsview the entire code converted from qt3 to qt4 (fixes bug #3127946)
* fixed: "Fit window to content" works again in pfsview
* added: window icon in pfsview
* added: improved image file saving in pfsview

Posted by Rafal Mantiuk 2011-03-23

pfscalibration 1.5 released

This release of pfscalibration fixes many issues with handling RAW (more than 8-bit) images. Robertson's algorithm should produce less banding. Mitsunaga and Nayar's algorithm is still broken. Two new scripts have been added: pfsinme - to skip generating an intermediate hdrgen file; and pfsplotresponse - for plotting camera response functions.

Posted by Rafal Mantiuk 2011-03-11

pfstools 1.8.1 released

This release fixes several bugs in pfsview, hdrhtml, and pfsinppm. You may also appreciate much better OS X support and updated README.OSX. The compilation on Mac has been tested with Fink and native qt3-mac.

Posted by Rafal Mantiuk 2009-06-01

pfstools 1.8 released

Probably the most interesting addition is an HDRHTML viewer for displaying HDR images with exposure control in a web-browser ( Matlab functions can now read and write multi-channel images, and have updated documentation ( Other changes:

* fixed: problem with inheriting matlab's LD_LIBRARY_PATH when running pfs commands
* fixed: improved search for NETPBM header files in the configure script
* fixed: pfssize keeps aspect ratio when resizing many images with --min/max/x/y

Posted by Rafal Mantiuk 2009-03-03

New HDR image gallery

Check the collection of downloadable HDR images:

Posted by Rafal Mantiuk 2009-03-03

pfstmo 1.4 released

New features:
* pfstmo_mantiuk08 and pfstmo_durand02 use the method from to correct colors after tone-curve manipulation. This should better preserve colors, especially after strong contrast compression or enhancement.

Bug fixes:
* fixed dependency on libgsl
* fixed compilation errors on some platforms due to _underscored variables
* removed bogus flag -march=nocona; added CPU detection and --disable-portable option for enabling non-portable optimizations
* some code refactoring

Posted by Rafal Mantiuk 2009-02-23

New project web page

The new web page (
should be easier to navigate and updated more often. We are
trying to better integrate pfstmo and pfscalibration with
pfstools. The new element is the "examples"
page ( with
ready to use code snippets. You can expect some additions to
pfstools that will be better advertised on the new pfstools web

Posted by Rafal Mantiuk 2009-02-06

pfstmo 1.3 released

This release adds new tone mapping operator "pfstmo_mantiuk08", which
implements recent SIGGRAPH'08 paper "Display adaptive tone mapping"
( The new operator
attempts to preserve contrast of the original (HDR) image as close as
possible given the characteristic of the output display. Use this tone
mapping operator if you want to preserve original image appearance, or
slightly enhance contrast (-e option) while maintaining the natural
look of images. The operator can also compensate for ambient light
reflections on a screen, and for varying dynamic range and brightness
of a display. The release includes also some minor fixes in

Posted by Rafal Mantiuk 2008-06-16

pfstmo 1.2 released

PFStmo 1.2 features an improved version of the manntiuk06 tone-mapping
operator, which is faster and consumes less memory (thanks to Ed
Brambley). Some serious bugs causing "stripes" in some images have
been fixed.

Posted by Rafal Mantiuk 2008-02-19

pfstmo 1.1 released

This is the first release of pfstmo on SourceForge. pfstmo provides implementation of state-of-the-art tone mapping operators.

The version 1.1 includes new algorithm (mantiuk06), substantial revision of reinhard05, and bug fixes and improvements in fattal02.

We plan to focus our next steps on gathering all algorithms in one library 'libpfstmo'. Such a library will offer an easy and common access to all tone mapping algorithms for third party programs. Particularly, it will allow to use pfstmo algorithms in programs running on less 'pipe-friendly' systems like Windows.... read more

Posted by Grzegorz Krawczyk 2007-07-11

pfstools 1.6.2 released

This is a bug-fix release, with a major fix for the sRGB color transform.

Posted by Rafal Mantiuk 2007-07-04

pfstools 1.6.1 released

This is a bug-fix release with some improvements in the matlab
interface, tiff logluv loading and dcraw integration.

Posted by Rafal Mantiuk 2007-04-24

pfstools 1.6 released

The new release is equipped with a preliminary binding to
matlab. Images can be read, written and displayed with pfsview using
matlab functions. Improved image readers / writes can to load LDR
images with the alpha channel. Those that do not like QT can use
OpenGL HDR viewer - pfsglview (does not requires X Window client under
Win32). Finally, several compatibility and compilation issues have
been resolved.

Posted by Rafal Mantiuk 2007-03-01

pfscalibration 1.3 released

The main feature of this release is the full support for exposure
parameters. That is, any combination of exposure time/aperture/iso
speed can now be used to shoot source exposures. Furthermore, the
luminance in the output HDR image is now in [cd/m2], providing that
the exposure parameters in hdrgen file have been given precisely. The
relative error in the luminance values of HDR image with respect to
the readouts from a luminance meter can be expected to be below 8%,
see README file for details.... read more

Posted by Grzegorz Krawczyk 2006-08-23

pfstools 1.5 released

This version introduces several important bug fixes and small
improvements in TIFF file loading, pfsview and pfscut. All Octave
scripts have been redesigned to use 'popen' instead of named pipes,
which should resolve dead-lock issues, especially for cygwin port. If
you use Octave interface, you are recommended to update. The precision
of transformation matrices for RGB <-> XYZ conversion has been
improved, so that back and fourth conversion should result in
negligible errors. This affects all programs that use pfs
library. Tiff files with alpha channel are now recognized
properly. pfsview has now a useful command for copying it current view
to clipboard. pfscut can be given two coordinates of the clipping
window instead of margins or image size. Finally, a set of --disable-*
arguments has been added to configure script for quick resolution of
configuration issues - if something does not compile and you do not
need it, just disable it.

Posted by Rafal Mantiuk 2006-08-17

pfstools 1.4 released

New command 'pfsindcraw' can read RAW camera files (requires
dcraw). 'pfsview' now displays pixel values under the cursor in
several color spaces and has a new color clamping method. The better
qt configuration script should solve some compilation problems.

Posted by Rafal Mantiuk 2006-04-21