Provided by: pfstools_2.0.4-5build1_amd64 bug

NAME

       pfshdrcalibrate  -  Create  an  HDR image or calibrate a response curve from a set of differently exposed
       images supplied in PFS stream.

SYNOPSIS

       pfshdrcalibrate [--response <type>] [--calibration <type>] [--gauss <val>] [--response-file <filename.m>]
       [--save-response  <filename.m>]  [--multiplier  <val>]  [--bpp  <val>]  [--luminance]  [--samples  <val>]
       [--help] [--verbose]

DESCRIPTION

       Create  an  HDR  image or calibrate a response curve from a set of differently exposed images supplied in
       PFS stream.

       When used with 8bit images, luminance in the output  HDR  image  corresponds  to  real  world  values  in
       [cd/m^2]  provided  that  hdrgen  script contained correct information on exposure time, aperture and iso
       speed. Note that sometimes ISO speed indicated by camera does not correspond to standard (ISO-100  is  in
       fact ISO-125).

       The accuracy of absolute calibration has not been thoroughly tested with different camera models, however
       one can expect the relative measurement error below 8%. Use pfsabsolute in case of systematic error.

OPTIONS

       --response <type>, -r <type>

              Allows  to  choose from predefined response curves. This can be used either to apply this response
              or use it as an initialization for automatic self-calibration.  Predefined  response  curves  are:
              "linear", "gamma", "log". Default is "linear". This option can be used only with Robertson method.

       --calibration <type>, -c <type>

              Type  of  automatic self-calibration method used for recovery of the response curve and/or type of
              method used for HDR merging. Accepted types include: "robertson", "mitsunaga". "robertson" is  the
              default and recommended algorithm (see commends in the Bugs section below). More infomation on the
              algorithms can be found in:

              M.A. Robertson,  S. Borman and R.L. Stevenson
              Dynamic range improvement through multiple exposures
              In: Proc. of International Conference on Image Processing 1999 (ICIP 99), pp 159-163 vol.3

              and

              T. Mitsunaga and S. K. Nayar
              Radiometric Self Calibration
              In: Proc on IEEE Conf. on Computer Vision and Pattern Recognition (CVPR'99). Volume 1, p. 1374

       --gauss <val>, -g <val>

              Sigma  value  for  the  Gaussian  used  as  a  weighting  function  (in the range 0-1). Applies to
              Robertson02 algorithm. Default value: 0.2

       --response-file <filename.m>, -f <filename.m>

              Use response curve saved in the matlab format file. Turns  off  automatic  self-calibration.  Uses
              Robertson02 or Mitsunaga99 model to apply the response curve (see -c option).

       --save-response <filename.m>, -s <filename.m>

              Saves  the  response  curve  calculated during automatic self-calibration stage in a matlab format
              file. Can be later reused for set of images captured  with  given  camera.  Also  works  fine  for
              plotting with gnuplot.

       --multiplier <val>, -m <val>

              Input multiplier value. Can be used to manipulate the range of source exposures. Default value for
              Robertson  method  is 256 since LDR images are by default scaled to 0..1. This value is set to 1.0
              for Mitsunaga method.

       --bpp <val>, -b <val>

              Number of bits per pixel in input data from the camera. Default value is 8.

       --samples <val>, -p <val>

              Number of samples used during the self-calibration in Mitsunaga algorithm. Default is 50000.

       --fix-saturated, -x

              Use this option if you see black pixels in overexposed / saturated areas.  The  black  pixels  are
              visible if all exposures contain pixel values that are outside reliable range (are under- or over-
              exposed).  This flag gives non-zero weight for the brightest and the darkest pixels, thus avoiding
              zero-weighted pixels. Note that the calculated luminance values for these pixels are not reliable.

       --luminance, -Y

              Recovery of response curve will be performed for luminance channel only.

       --verbose

              Print additional information during program execution.

       --help

              Print list of command line options.

EXAMPLES

       pfsinme *.JPG | pfshdrcalibrate -v -s response.m | pfsview

              Recover the response curve from set of all JPEG files in the current  directory  and  save  it  to
              response.m file. To view the response curve, use pfsplotresponse command.

       pfsinme *.CR2 | pfssize  --maxx 1200 | pfshdrcalibrate -r linear -v --bpp 16 | pfsout result.exr

              Read  Camera  RAW  images  (from Canon), resize them so that the image width is equal or less 1200
              pixels, merge them into an HDR image using all 16 bits and save as an Open EXR image.

       pfsinhdrgen sample.hdrgen | pfshdrcalibrate -x -f response.m | pfsview

              Create an HDR image from exposures defined in sample.hdrgen using the response curve  "response.m"
              and view it. Fix the problem with black values given to overexposed pixels.

       pfsinhdrgen sample.hdrgen | pfshdrcalibrate | pfsview

              Create  an  HDR  image  from exposures defined in sample.hdrgen using the default self-calibration
              method and view it.

       pfsinhdrgen sample_dcraw.hdrgen | pfshdrcalibrate -b 16 -r linear -c none | pfsview

              Given that the script sample_dcraw.hdrgen refers  to  camera  RAW  files  (see  pfsindcraw),  this
              example will generate an HDR image assuming a linear response.

       pfsinhdrgen sample.hdrgen | pfshdrcalibrate | pfsview

              Create  an  HDR  image  from exposures defined in sample.hdrgen using the default self-calibration
              method and view it.

       pfsinhdrgen sample.hdrgen | pfshdrcalibrate -c mitsunaga -samples 100000 -s resp_mitsunaga.m >/dev/null

              Create an HDR image from exposures defined in sample.hdrgen using the  mitsunaga  self-calibration
              method with 100000 samples and save it to "resp_mitsunaga.m".

SEE ALSO

       pfsplotresponse(1) pfsinhdrgen(1) jpeg2hdrgen(1) pfsview(1) pfsindcraw(1) pfsabsolute(1) pfsglview(1)

BUGS

       Currently  Mitsunaga  and  Nayar's  method  does not produce reliable camera response curves. Robertson's
       method should be used instead.

       Robertson's method may banding or wrong colors in strongly over-saturated and under-saturated areas.  For
       best  results,  there  should  be a sufficient numbers of exposures in which no pixels is over- or under-
       saturated in all the exposures. It is possible to fix these issues with  some  heuristics  (as  most  HDR
       merging software does), but it is currently not done in this release. pfscalibration was meant to be used
       for  research purposes and getting accurate result is more important than generating good looking images.
       The heuristics could hide the well visible artifacts, but would also introduce error to the measurements.

       For any other issues  please  report  bugs  and  comments  on  implementation  to  the  discussion  group
       http://groups.google.com/group/pfstools

                                                                                              pfshdrcalibrate(1)