Squishes the contrast in an input HDR image, and saves the result. Both the input and the output images are in EXR format. A great deal of tweaking of the "alpha", "beta", "delta" and "theta" arguments is usually required before one gets pleasing results. The HDR contrast processing is performed using an implementation of: Raanan Fattal, Dani Lischinski and Michael Werman. "Gradient Domain High Dynamic Range Compression". Proceedings of the 29th annual conference on computer graphics and interactive techniques. Pages 249-256. 2002. The alpha, beta and saturation parameters are analagous to those described in the paper, except that in this implementation, alpha is a proportion of the average gradient magnitude, and beta is what would be 1-beta in the paper. Gamma is the maximum gradient attenuation factor at a given level, which is needed in order to cope with small gradients. The paper isn't clear on whether the average gradient magnitudes used for the alpha scaling should be the overall averages, or the average only over the current level in the pyramid. We use a convex combination of these two averages, mediated by the theta parameter, where 0 chooses the overall average, and 1 the average on the current pyramid level. Essentially, alpha controls the point at which contrast-magnification gives way to contrast-attenuation, beta controls the overall extent to which contrast-squishing is performed, and increasing theta causes large-scale (spatially) contrast differences to be given greater importance, relative to small-scale differences. Changing delta seldom has any great effect. Epsilon is the termination threshold--increasing it will reduce the quality of the solution, but improve runtime, while decreasing it will have the opposite effect. One warning: if epsilon is too small, then the solution may never converge, and you'll need to abort this program. Usage: hdr_squish.exe [OPTION...] -h, --help show help -i, --input=INPUT input file (EXR) -o, --output=OUTPUT output file (EXR) -a, --alpha=FLOAT(=0.1) alpha parameter -b, --beta=FLOAT(=0.1) beta parameter -d, --delta=FLOAT(=1.1) delta parameter -t, --theta=FLOAT(=0) theta parameter -e, --epsilon=FLOAT(=0.0001) epsilon parameter -s, --saturation=FLOAT(=1) saturation parameter