Fixes CCD noise in an HDR input file, in EXR format, and saves the result to a new HDR file, also in EXR format. The denoising is performed using an algorithm related to: Jeff Orchard, Mehran Ebrahimi and Alexander Wong. "Efficient Nonlocal-Means Denoising Using the SVD". Proceedings of the IEEE Conference on Image Processing. Pages 1732-1735. 2008. This paper accelerates the original non-local means algorithm by restricting the search for similar pixels to only a neighborhood of the pixel of interest, rather than the entire image. The window parameter is the size of this neighborhood. The weight on each pixel is the Gaussian-like function exp(-gamma*(d^2)), where d is the Tukey-window weighted L2 distance between windows of size 2*radius+1 around the pixel of interest, and the candidate pixel, both projected onto the PCA subspace of the specified dimension. The gamma parameter to this weight function is determined by first finding the descriptor distances between many adjacent pixels (the number of samples is determined by the pixels parameter), and then choosing gamma such that differences of the alpha*100th percentile have the weight given by the beta parameter. The PCA subspace is found using the subspace iteration algorithm, applied to a covariance matrix calculated from the specified number of pixels, with termination threshold epsilon. This program is extremely slow! Be patient. Usage: hdr_denoise.exe [OPTION...] -h, --help show help -i, --input=INPUT input file (EXR) -o, --output=OUTPUT output file (EXR) -p, --pixels=FLOAT(=10000) how many pixels should we use? -r, --radius=INT(=4) descriptor radius -d, --dimension=INT(=32) descriptor dimension -a, --alpha=FLOAT(=0.2) alpha parameter -b, --beta=FLOAT(=0.5) beta parameter -w, --window=INT(=63) window side length -e, --epsilon=FLOAT(=1e-12) epsilon parameter