pfstmo_mantiuk06(1)
π pfstmo_mantiuk06 β tone mapping in the contrast domain π
okay bestie, so this is the manual page for pfstmo_mantiuk06, straight out of the General Commands Manual section. It's giving "I make your HDR pics look good in the contrast domain" and honestly? obsessed. π
β¨ NAME β¨
pfstmo_mantiuk06 β tone mapping in the contrast domain
πΈ SYNOPSIS πΈ
pfstmo_mantiuk06 [--factor <val>] [--equalize-contrast <val>]
[--saturation <val>] [--verbose] [--quiet] [--help]
π¦ DESCRIPTION π¦
So this command ships two tone mapping operators, and they're both main character energy: contrast mapping and contrast equalization. Both of them can pull off very sharp images (like, sometimes non-photorealistic sharp, no cap) while keeping contrast reversal β aka those ugly halo artifacts β to a minimum. π
Wanna read the actual receipts on these operators? Here's the paper:
Rafal Mantiuk, Karol Myszkowski, Hans-Peter Seidel. A Perceptual Framework for Contrast Processing of High Dynamic Range Images In: ACM Transactions on Applied Perception 3 (3), pp. 286-308, 2006. http://www.mpi-inf.mpg.de/~mantiuk/contrast_domain/
This version contains several performance improvements made by Ed Brambley. slay, Ed. π«Ά
If you find this TMO useful in your research project, please cite the paper above. (yes really, cite it, it's the polite thing to do π₯Ί)
β οΈ heads up: the result of this TMO requires gamma correction. Do not skip that step bestie, it's literally not optional.
π OPTIONS π
--equalize-contrast <val>,-e <val>β use the contrast equalization algorithm. If you don't pass this, the contrast mapping algorithm is what you get instead. The contrast equalization algorithm needs a scaling parameter that controls how much sharpenning happens, and it can range from0.1(very sharp) to1(less sharp).
real talk: contrast equalization gives you very sharp but also less natural images. and it may also enhance noise in low-quality images. π so like, vibe check your source image first.
--factor <val>,-f <val>β contrast scaling factor (values0-1) that determines how much the contrast magnitudes should be reduced. This option cannot be used withequalize-contrast. The lower value results in a sharper image. Default value:0.3--saturation <val>,-s <val>β saturation correction (values0-2). The lower value results in stronger desaturation. Default value:0.8--verbose,-vβ print additional information during program execution.--quiet,-qβ do not display progress report.--help,-hβ print list of commandline options.
π EXAMPLES π
pfsin memorial.hdr | pfstmo_mantiuk06 -f 0.5 | pfsgamma -g 2.2 | pfsout
memorial.png
Tone map an image using contrast mapping and save it in the PNG format. πΎ
pfsin memorial.hdr | pfstmo_mantiuk06 -e 0.5 | pfsgamma -g 2.2 | pfsout
memorial.png
The same as above, but use the contrast equalization algorithm. β¨
pfsin memorial.hdr | pfstmo_mantiuk06 -f 0.5 -s 1 | pfsview
For optimal results you can output the result to pfsview and manually adjust the dynamic range window. Then save the image in pfsview by selecting 'Save image...' from the 'Frame' menu or pressing 's'. π
pfsin bridge.jpg --linear | pfsclamp --min 0.007 | pfstmo_mantiuk06 |
pfsview
Enhance the low-dynamic range image 'bridge' and view the result. The pfsclamp command reduces noise for low code values. π§
π SEE ALSO π
pfsgamma(1) pfsclamp(1) pfsin(1) pfsout(1) pfsview(1)
π BUGS π
Please report bugs and comments to the pfstools discussion group (http://groups.google.com/group/pfstools). they're nice, fr fr π«Ά
and that's the whole page bestie, tysm for reading π this was pfstmo_mantiuk06(1) from the General Commands Manual β mwah, go gamma correct your images, ily, bye πβ¨
π¦ where this page comes from
- debian bookworm: pfstmo 2.2.0-5+b1 Β· GPL-2.0-or-later
- debian trixie: pfstmo 2.2.0-9 Β· GPL-2.0-or-later
- fedora 43: pfstmo 2.2.0-23.fc43 Β· GPL-2.0-or-later
- fedora 44: pfstmo 2.2.0-25.fc44 Β· GPL-2.0-or-later
- opensuse-leap 16.0: pfstmo 2.2.0-bp160.1.20 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: pfstmo 2.2.0-bp160.1.20 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: pfstmo 2.2.0-bp160.1.20 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: pfstmo 2.2.0-bp160.1.20 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- ubuntu jammy: pfstmo 2.2.0-2 Β· GPL-2.0-or-later
- ubuntu noble: pfstmo 2.2.0-7build3 Β· GPL-2.0-or-later
- ubuntu questing: pfstmo 2.2.0-9
- ubuntu resolute: pfstmo 2.2.0-10 Β· GPL-2.0-or-later
- ubuntu stonking: pfstmo 2.2.0-12 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms