pfsinhdrgen(1)

πŸ’– pfsinhdrgen β€” the manual page, but make it cute πŸ’–

okay so bestie, you're reading the manual for pfsinhdrgen, from section 1 of the General Commands Manual. she's a little program with a big job and honestly? she eats. let's get into it 🫢


✨ NAME ✨

pfsinhdrgen β€” create a pfs stream with different exposures, all defined by a hdrgen script. that's it, that's the whole vibe πŸŽ€


✨ SYNOPSIS ✨

pfsinhdrgen <sample.hdrgen>

✨ DESCRIPTION ✨

so what she does is: she reads the files that are defined in the hdrgen script you hand her, and then she outputs them in a PFS stream. periodt πŸ’…

and here's the cute part β€” every single frame gets a tag called BV, carrying its corresponding brightness value (that's the APEX standard, iykyk). and the way that works is:

  • larger BV = less exposure = darker image
  • and that darker image is exactly what you need to capture a bright scene 🌞

so yeah, the generated PFS stream is meant to be used with photo-metric calibration software, and with generators of HDR images. she's a team player, fr fr.


πŸ¦‹ the hdrgen script file πŸ¦‹

the HDRGEN script file is literally just a plain text file, no cap. each line contains:

<path_to_an_image> <inverse_of_exposure_time_in_seconds> <aperture_size> <iso_speed> 0

in most cases it is convenient to use the jpeg2hdrgen program to create such a file automatically, because why do it yourself when a girl can do it for you. but β€” and this is the important bit β€” in case it could not parse the exif information from jpeg files, it is necessary to create this file by hand. yes bestie, manually. we suffer for the art 😭

below are the sample contents of such a file:

<--- cut here: sample.hdrgen
/var/tmp/images/img08.jpg 4 2.8 100 0
/var/tmp/images/img09.jpg 58.8235 2.8 100 0
/var/tmp/images/img10.jpg 76.9231 2.8 100 0
/var/tmp/images/img11.jpg 322.581 2.8 100 0
/var/tmp/images/img12.jpg 400 2.8 100 0
<--- cut here: sample.hdrgen

look at her. five exposures. five slays. 🌈


✨ EXAMPLES ✨

this one is iconic, watch:

pfsinhdrgen sample.hdrgen | pfsview
view exposures defined in sample.hdrgen script. pipe it straight into pfsview and observe πŸ‘‘βœ¨

✨ SEE ALSO ✨

go read those next, bestie, they're part of the friend group 🫢


✨ BUGS ✨

πŸ’€ the command cannot handle files with a space in the name. that's it. that's the bug. name your files without spaces and you'll be fine.

please report bugs and comments on implementation to Grzegorz Krawczyk <gkrawczyk@users.sourceforge.net> β€” he's the one holding this whole thing together, show him some love πŸ’–


and that's the whole page, babe. this was pfsinhdrgen(1) from the General Commands Manual β€” no date and no version number on this one, just pure, timeless main character energy 🌸 thank you for coming to my ted talk, now go calibrate something πŸ’…βœ¨