[Radiance-general] High dynamic range image builder

Greg Ward [email protected]
Sat, 25 Oct 2003 08:09:10 -0700


Dear Group,

I have finally managed to recompile the command-line version of my HDR 
image builder.  I have uploaded two versions of this program, one for 
Linux and one for Mac OS X.  I have also written a separate program to 
perform lens flare removal, which may be applied during hdrgen or as a 
post-process.  I have a simple HTML man page for hdrgen, but not for 
hdrflare as it's pretty basic and has no options.

The files are available from my website at:

	http://www.anyhere.com/gward/pickup/hdrgen_linux.tar.gz
	http://www.anyhere.com/gward/pickup/hdrgen_macosx.tar.gz

Both programs will output either Radiance RGBE, 32-bit/pixel LogLuv 
TIFF, or PIZ-compressed EXR format images.  The input to hdrgen may be 
either JPEG or TIFF.  If the input files have valid camera exposure 
information in the header, this will be used to determine the relative 
and absolute exposure differences.  Otherwise, you will have to enter 
the exposure multipliers on the command line.  For those on a Mac who 
prefer a nice user interface, there is of course Photosphere.  The 
latest 1.1 release contains all the new goodies:

	http://www.anyhere.com/gward/pickup/photosphere.tar.gz

This version of the HDR builder includes a new ghost removal algorithm 
in addition to the alignment and lens flare removal options.  The ghost 
removal algorithm looks for parts of the scene where things have 
changed between exposures, and chooses the best exposure for those 
regions.  The alignment algorithm is written up in an upcoming JGT 
article.  I haven't written up the flare removal algorithm, but I hope 
to at some point, along with the ghost removal technique.  Everything 
is automatic, so if one of the techniques doesn't work, there's not 
much you can do about it but switch it off.  At least the whole thing 
is fast, so there's not much harm in running it multiple times.

Enjoy!
-Greg

P.S.  The Linux version is a little slower than it should be because 
the version of gcc I used has a broken optimizer.  I hope to recompile 
with optimizations in the near future, and will send out a follow-up 
announcement when I do.