NAME¶
pfsouthdrhtml - Create a web page with an HDR viewer
SYNOPSIS¶
pfsouthdrhtml [<page_name>] [
--quality <1-5>]
[
--image-dir <directory_name>] [
--page-template
<template_file>] [
--image-template <template_file>]
[
--object-output <file_name.js>] [
--html-output
<file_name.html>]
DESCRIPTION¶
The command creates in the current directory an HTML web page containing
multi-exposure HDR viewer. The multi-exposure viewer displays a portion of the
available dynamic range with minimum contrast distortions and provides a
slider control to move the dynamic range window towards brighter or darker
tones. The interface is very similar to
pfsview, which is a pfstools
application for displaying HDR images. The web page employs only JavaScript
and CSS opacity property and does not require Java applets or the Flash
plugin. Note that because this techniques encodes 20-60 exposures using only
few images, the displayed exposures may not be identical to the exposures that
are shown in pfsview. For examples and more information, visit
http://pfstools.sourceforge.net/hdrhtml/.
<page_name> specifies the file name, of the web page to be
generated. If
<page_name> is missing, the file name of the first
image with .html extension will be used.
The command can take as input several images and put them all on the same web
page. For each image, its file name (from the FILE_NAME tag in the pfsstrem)
without extension and a leading path will be used as a name for all JavaScript
variables corresponding to that image. If the filename contains illegal
characters (such as space, '-', '[', etc), these will be converted to '_'.
- --quality <1-5>, -q <1-5>
- Quality of the interpolated exposures, from the worst (1) to the best (5).
The default is 2, which is sufficient for most applications. Higher
quality will introduce less distortions in the brightest and the darkest
tones, but will also generate more images. More images means that there is
more data that needs to be transferred to the web-browser, making HDR
viewer less responsive.
- --image-dir <directory_name>, -d
<directory_name>
- Specify where to store the resulting image files. Links to images in HTML
will be updated accordingly. This must be a relative path and the
directory must exist. Useful to avoid clutter in the current
directory.
- --page-template <template_file>, -p
<directory_name>, --image-template <template_file>,
-i <template_file>
- Replaces the template files used to generate an HTML web page. The
template files contain all HTML and JaveScript code with special keywords
(@keyword@) that are replaced with image specific data, such as width,
height, image base name, etc. The default template files can be found in
INSTALL_DIR/share/pfstools/hdrhtml_default_templ/hdrhtml_*_templ.html.
There is an alternative template bundled with pfstools in the
hdrhtml_hdrlabs_templ directory, which contains many improvements and
looks much better but requires additional asset files. The example at the
end of this manual shows how to use alternative template. More details on
how to design own templates can be found in TEMPLATE FILE FORMAT
below.
- --object-output <file_name.js>, -o
<file_name.js>
- Store JavaScript objects (hdr_<base_name>) associated with
each image in a separate file. This is useful if you want to script
creating HTML pages.
- --html-output <file_name.html>, -l
<file_name.html>
- Store HTML code that shows HDRHTML viewer for each image in a separate
file. This is useful if you want to script creating HTML pages.
pfsouthdrhtml uses two template files
hdrhtml_page_templ.html and
hdrhtml_image_templ.html, located in
INSTALL_DIR/share/pfstools/, to generate a web page with an HDR HTML
viewer. The 'page' file contains the HTML of the entire web page and the
'image' file is used to paste a viewer code for a single image. You can
replace one or both these templates with your own using
--page-template
and
--image-template options.
Each template contains HTML code with additional keywords surrounded by @ marks
(@keyword@), which are replaced with HDR HTML specific code. Most of the
keywords are self explanatory, therefore only the most important are described
below.
- @hdr_img_def@ JavaScript objects that must be put in the 'body'
- section before any images. These define all the parameters needed to
control HDR HTML viewer.
- @cf_array_def@
- Pre-computed array of opacity coefficients. The same array is used for all
images that use the same quality setting. Currently only one such array
could be used per web-page, so images generated with different quality
setting cannot be mixed on a single web page.
- @image_htmlcode@ or @image_htmlcode[base_name]@
- Inserts HTML code of all images or a single image with the base_name (name
with no file extension) specified as a parameter. This should be put where
HDR HTML viewer should be located.
EXAMPLES¶
- pfsin memorial.hdr | pfshdrhtml memorial_church
- Generates a web page memorial_church.html with a set of images
memorial_church_*.jpg in the current directory.
- pfsin ~/hdr_images/*.exr | pfssize --maxx 512 --maxy 512 | pfsouthdrhtml
hdr_images
- Generate a web page with all OpenEXR images from ~/hdr_images/. The images
are resized so that they are not larger than 512x512.
- templ_dir=$INST_DIR/share/pfstools/hdrhtml_hdrlabs_templ/; pfsin img1.hdr
img2.exr | pfssize -r 0.2 | pfsouthdrhtml -p
${templ_dir}/hdrhtml_page_templ.html -i
${templ_dir}/hdrhtml_image_templ.html test.html && cp -r
${templ_dir}/hdrhtml_assets ./
- The commands above will use an improved template from hdrlabs.com instead
of the default one. Note that this template requires html_assets directory
to be copied manually to the destination directory. Replace $INST_DIR with
the directory where pfstools is installed (/usr/local by default).
SEE ALSO¶
pfsin(1) pfsout(1)
BUGS¶
Please report bugs and comments to the discussion group
http://groups.google.com/group/pfstools