Source: https://www.emse.fr/~bruchon/articles/HDR_bruchon.pdf