Provided by: pfstools_2.2.0-4build1_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>] [--saturation-offset <val>] [--deghosting <val>] [--noise-
       parameters <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.

       The  merging  of multiple exposures is done in a noise-optimal manner, as explained in the
       paper:

              Hanji, Param, Fangcheng Zhong, and Rafal K. Mantiuk.
              “Noise-Aware  Merging  of  High  Dynamic  Range   Image   Stacks   without   Camera
              Calibration.”
              In     Advances     in     Image     Manipulation     (ECCV     Workshop),    2020.
              http://arxiv.org/abs/2009.07975.

OPTIONS

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

              Allows one 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 information 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.

       --saturation-offset <val>, -o <val>

              Pixels are considered saturated if their value exceeds  max_val  *  (1-sat_offset),
              where  max_val is the maximum pixel value (e.g. 255 or 65535) and sat_offset is the
              percentage of the maximum value. The default value is 0.01. Use this if you can see
              banding or wrong colors in the regions in which one of the exposures is saturated.

       --noise-parameters <val>, -n <val>

              Measured  noise parameters for the specific camera used. This can be specified in 2
              ways. The first is using a comma separated list of 5 values (3 color  coefficients,
              std_readout  and std_adc). Alternatively, some presets have been defined and can be
              used by specifying the camera name. Cameras currently supported: SonyA7r1, CanonT1,
              SonyA7r3

       --deghosting, -d [<val>]

              EXPERIMENTAL.  Try to use a simple rejection criterion to reduce ghosting artifacts
              due to movement. If the option is specified, the pixel values that  <val>  standard
              deviations  of  the  noise  away from the reference exposure are rejected. When the
              option is missing from the argument list, the  deghosting  is  disabled.  When  the
              option is specified without any value, 2 standard deviations are used.

       --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.
       Pink  pixels  may  appear  in  saturated areas of outdated version of DCRAW is used. It is
       recommended to install libraw instead of DCRAW (which is discontinued).
       Robertson's method may produce banding or  wrong  colors  in  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)