pfsinexr(1)
π pfsinexr β bestie edition π
okay so real talk, pfsinexr is the glow-up tool from the General Commands Manual, and it's here to load images or frames in OpenEXR format. she's iconic, she's specific, and she knows exactly what she's doing. π
β¨ SYNOPSIS β¨
pfsinexr [--keep-rgb] (<file> [--frames <range>] [--skip-missing])
[<file>...]
πΈ DESCRIPTION πΈ
So like, use this command when you wanna read frames in OpenEXR format, bestie. The frames get converted into a pfs stream and then sent straight to the standard output. π
She can read arbitrary channels from OpenEXR files, no big deal β but the color channels XYZ get special treatment, and if you wanna know what that's about, go look at the --keep-rgb option below, iykyk.
pfsinexr also reads all the string attributes from the OpenEXR file and writes them out as tags in the pfs stream. Attributes of other types? Not invited to the party, they get ignored, sorry. π And here's a lil detail that matters: if an attribute name contains a colon (:), then the part before the colon is treated as a channel name, and the attribute gets assigned to that channel β same notation as the command line argument of the pfstag program. periodt.
Now, pfsinexr recognizes the OpenEXR standard attribute WhiteLuminance and multiplies the data by that value to get absolute luminance values (also peep the --fix-halfmax switch in pfsoutexr, they're giving linked-energy π). On top of that, the tag LUMINANCE is set to ABSOLUTE unless the OpenEXR file contains an attribute LUMINANCE set to something else. Which is basically saying: channel Y is assumed to represent absolute luminance levels in cd/m^2. no cap. β
If an OpenEXR file contains a 'Z' channel, it gets renamed to 'DEPTH' β because otherwise it would beef with the Z color channel for the XYZ color space, and we do not do conflict here. π«
Wanna know the deets on the format of the pattern file names, the ones used for reading multiple frames? Those live in the manual page of pfsinppm. π¦
And if you want a file format to be auto-recognized from the extension, use the pfsin command instead β she's the main character for that job. π
the one option in here π
--keep-rgbβ by default, the color channelsR,GandBfrom an OpenEXR file get converted to XYZ color space, which is the suggested format for color data in pfs. But when you specify thekeep-rgboption, the color channels RGB are stored as they are, with zero conversion. not a single transformation. π«Ά
π EXAMPLES π
pfsin memorial.exr | pfsout memorial.hdr
Converts from one HDR format to another. slay. π₯
π BUGS π
pfsinexr and pfsoutexr can not take stdin / stdout as an input/output (so like, the dash '-' instead of a file name). it's giving limitation, and we respect it. π
Please report bugs and comments on implementation to the discussion group http://groups.google.com/group/pfstools β they wanna hear from you fr fr. π
π SEE ALSO π
pfsin(1) pfsinppm(1) pfsoutexr(1)
and that's the whole page, bestie β this was pfsinexr(1) hanging out in the General Commands Manual, brought to you by pfstools. go read an EXR file about it. π§β¨
π¦ where this page comes from
- debian bookworm: pfstools 2.2.0-5+b1 Β· GPL-2.0-or-later
- debian trixie: pfstools 2.2.0-9 Β· GPL-2.0-or-later
- fedora 43: pfstools-exr 2.2.0-23.fc43 Β· GPL-2.0-or-later
- fedora 44: pfstools-exr 2.2.0-25.fc44 Β· GPL-2.0-or-later
- opensuse-leap 16.0: pfstools-exr 2.2.0-bp160.1.20 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: pfstools-exr 2.2.0-bp160.1.20 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: pfstools-exr 2.2.0-bp160.1.20 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: pfstools-exr 2.2.0-bp160.1.20 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- ubuntu jammy: pfstools 2.2.0-2 Β· GPL-2.0-or-later
- ubuntu noble: pfstools 2.2.0-7build3 Β· GPL-2.0-or-later
- ubuntu questing: pfstools 2.2.0-9
- ubuntu resolute: pfstools 2.2.0-10 Β· GPL-2.0-or-later
- ubuntu stonking: pfstools 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