pfspanoramic(1)

πŸ’– pfspanoramic β€” the glow-up page πŸ’–

okay bestie, so this is a General Commands Manual situation, section 1 β€” pfspanoramic(1) β€” and she does projective transformations of spherical images. literally reshaping the whole vibe of your panorama. πŸ¦‹


✨ NAME ✨

pfspanoramic β€” perform projective transformations of spherical images πŸ’«


🌸 SYNOPSIS 🌸

pfspanoramic <source projection>+<target projection> [--width <val>]
[--height <val>] [--oversample <val>] [--interpolate] [--xrotate
<angle>] [--yrotate <angle>] [--zrotate <angle>]

πŸŽ€ DESCRIPTION πŸŽ€

so basically, this icon transforms spherical maps between various projections. the projections that are supported right now, no cap:

  • polar (latitude-longitude)
  • angular (light probe)
  • mirrorball
  • cylindrical

the syntax for saying which transformation you want is source_projection+target_projection, where source_projection is the current mapping your source image uses, and target_projection is the projection you'd like it to be transformed to. simple. clean. main character energy. πŸ‘‘

and if the projection has some optional parameters, you can specify them with this syntax:

<source projection>/<argument>/...+<target projection>/<argument>/...

as of now, only angular supports a parameter β€” that's angle β€” and it defines how many degrees from the viewing direction the projection should cover. for example, angular+angular/angle=180 converts an angular image to show only half of a hemisphere around the viewing direction. half the sphere, all the slay. πŸ’…


⭐ OPTIONS ⭐

  • --width <val>, -w <val> β€” make the target image <val> pixels wide. πŸ“
  • --height <val>, -h <val> β€” make the target image <val> pixels high. πŸ“

okay so these two are besties, right, they team up: you're setting how big the target image is, respectively <val> pixels wide and/or high. if you only specify one of them, the other gets computed from the target projection's typical W/H ratio. and if you specify neither? then the width is taken from the source image and the height is computed as above. she always knows what to do. 🫢

  • --oversample <val>, -o <val> β€” oversample each target pixel <val>x<val> times, which improves quality in areas that are scaled down with respect to the source image. reasonable values are 2 to 5, while setting it higher may make the reprojection unbearably slow. 😭 so like, be cute about it, don't push her past 5.
  • --interpolate, -i β€” use bilinear interpolation when sampling the source image. increases quality in magnified areas. ✨
  • --xrotate <angle>, -x <angle> β€” rotate the spherical image <angle> degrees around the X axis. πŸ”„
  • --yrotate <angle>, -y <angle> β€” rotate the spherical image <angle> degrees around the Y axis. πŸ”„
  • --zrotate <angle>, -z <angle> β€” rotate the spherical image <angle> degrees around the Z axis. πŸ”„

πŸ”₯ EXAMPLES πŸ”₯

pfsin grace_probe.hdr | pfspanoramic angular+polar -i -o 3 -y 90 -w 500
| pfsout grace.hdr

so what's happening here, bestie: this transforms grace angular map to polar (latitude-longitude) projection, applying bilinear interpolation and 3x3 oversampling, while rotating it by 90 degrees around the Y axis. the image will be resized to 500x250 pixels β€” because the polar projection has a 2:1 width-to-height ratio, iykyk β€” and finally saved in grace.hdr. ate that. πŸ’―


πŸ‘‘ SEE ALSO πŸ‘‘

pfsin(1) pfsout(1)


πŸ’€ BUGS πŸ’€

please report bugs and comments to Miloslaw Smyk <thorgal@wfmh.org.pl>. she wants the feedback fr fr, don't be shy. πŸ™ˆ


not me writing a whole love letter to a reprojection tool... anyway. πŸ’–

and that's the whole page, girlie. this was pfspanoramic(1) from the General Commands Manual β€” go forth and rotate those spheres. periodt. πŸŒˆβœ¨πŸŽ€