Using evalglare for HDR images

I just started learning HDR images and using evalglare command. There are some questions:

  1. I got a few HDR images from others. The header of the HDR images is as follow.

But when i use evalglare, is shows " header contains invalid exposure entry!!! check exposure and correct header “. How to solve this problem?
2) I find “VIEW= -vtv -vh 132.979172 -vv 113.747666” in the header.
When i use evlaglare command to get DGP, should i input “-vtv -vh 180 -vv 180” or "-vtv -vh 132.979172 -vv 113.747666 "?
3) If I want to use a fisheye lens to obtain an LDR image and generate HDR images, and finally use the Evalglare command for glare analysis, what should i do? Do you have a tutorial?

Best, Jing

Hi Jing,

Evalglare is very protective to make sure that the luminance values are correct. In this case, your circular mask and vignetting functions indent the previous exposure values as a comment, and evalglare rejects the image type as a result.

What you can do in this case is to open the HDR in a nice text editor (such as Notepad++) and delete all of the tabbed-in lines from the header. Save the result, and verify that the luminance values are correct in an external viewer program (HDRscope, wxFalsecolor, Photosphere on Windows). Then evalglare should work.

If the image is a fisheye, use evalglare -vta -vh 180 -vv 180.
(note: I accidentally put down -vtv before. Your image is most likely an angular fisheye (vta).)

Clotilde Pierson just published a very nice tutorial in Leukos. You should check it out! Our conference papers on HDR accuracy might be helpful supplemental reading.


1 Like

Hi Jing,

I could see two posts on the same topic, so I answer/add one topic here:
You should use the “real” angle from your fish-eye-lens in the header. 180° is what you use when you render an image or if your lens “accidentally” covers exactly that range. For HDR capture of course you have the specify the real angle (which you should measure), otherwise all internal angular calculations are not correct. So if you have a 184.5° lens (e.g. this is our Sigma lens), then you put that value for vv and vh.
For the right projection method (vta or others), please check the tutorial paper, it is explained there in detail.

Thanks a lot. What do you mean if the real angle of view of the lens is 133 ° or 184 °, when I compose HDR images, I need to specify the real angle of view in the header, but when I need to use the evalglare command to obtain the dgp value, I need to set it to 180 ° ?

to be a bit more general:
If you want to use an image with a radiance tool (in your case evalglare, but it is the same for any other) you have to make sure that :
a) the projection method of your lens corresponds to a supported radiance projection method (e.g. angular fish-eye-> vta, hemispherical fish-eye -> vth or perspective projection -vtv
b) you know the real opening angle of your lens and put these “real” values as vv and vh parameters in the header.

Only with these information any angle and glare metric can be calculated correctly, whatever tool you apply.
To determine both please follow the instructions in the tutorial paper.

Evalglare can actually handle all angles, even if they are smaller than 180. Of course if your lens is smaller than 180° you cannot calculate the Ev corectly any more - the smaller the angle, the larger the mistake.
For DGP calculations you can provide evalglare also with an external measurement value (e.g. if you use the 133° lens), but this is not recommended due to the reasons mentioned above.

As mentioned, evalglare was mainly published to enable people to calculate glare from simulated scenes, that’s why the 180° should be used for simulations - it does not mean it cannot handle other angles. You have to put the real angles in the header.

In short: The header should always reflect the reality of the lens, how should the program otherwise know what lens you used?

good luck

1 Like

Thanks a lot. I used the evalglare command to perform several different processing on the existing HDR image. The daily command is as follows:

  1. I kept the original -vv and -vh in the header, and then entered: evalglare -vtv -vv 180 -vh 180 -b 2000 -r 0.2 -d -c , it will shows: error: header contains invalid exposure entry!!!check exposure and correct header setting !
    2.If enter: evalglare -vtv -vv 113.747666 -vh 132.979172 -b 2000 -r 0.2 -d -c, the same thing happened: header contains invalid exposure entry!!!check exposure and correct header setting ! But the exposure is not in the header.
  2. Then i deleted the VIEW information in header, then entered: evalglare -vtv -vv 113.747666 -vh 132.979172 -b 2000 -r 0.2 -d -c, it will shows: warning: image has perspective view type specified in header ! corner pixels are to 99.518114 % black! error! The image has black corners AND header contains a perspective view type definition !!!stopping…!!!
  3. If i deleted the VIEW information in header, then entered: evalglare -vta -vv 113.747666 -vh 132.979172 -b 2000 -r 0.2 -d -c, it can output normally.
  4. If i deleted the VIEW information in header, then entered: evalglare -vta -vv 180 -vh 180 -b 2000 -r 0.2 -d -c, it can output normally too. But the results of DGP and DGI is different from the previous case.
    So In which case is the output of DGI and DGP more accurate?