Perform projective transformations of spherical images
pfspanoramic <source projection>+<target projection> [--width <val>] [--height <val>] [--oversample <val>] [--interpolate] [--xrotate <angle>] [--yrotate <angle>] [--zrotate <angle>]
Transform spherical maps between various projections. Currently polar (latitude-longitude), angular (light probe), mirrorball and cylindrical are supported. The syntax for specifying the transformation is \|source_projection\|+\|target_projection\|, where \|source_projection\| is the current mapping that source image uses and \|target_projection\| is the projection you'd like it to be transformed to. If the projection has some optional parameters, you can specify them with syntax: <source projection>/<argument>/...+<target projection>/<argument>/...
As of now only angular supports a parameter - angle - which defines how many degrees from the viewing direction the projection should cover, e.g. angular+angular/angle=180 converts angular image to show only half of a hemisphere around the viewing direction.
--width <val>, -w <val>
--height <val>, -h <val>
Make the target image respectively <val> pixels wide and/or high. If only one is specified, the other is computed from the target projection's typical W/H ratio. If neither is specified, the width is taken from the source image and height is computed as above.
--oversample <val>, -o <val>
Oversample each target pixel <val>x<val> times, improving 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.
--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 X axis.
--yrotate <angle>, -y <angle>
Rotate the spherical image <angle> degrees around Y axis.
--zrotate <angle>, -z <angle>
Rotate the spherical image <angle> degrees around Z axis.
pfsin grace_probe.hdr | pfspanoramic angular+polar -i -o 3 -y 90 -w 500 | pfsout grace.hdr
Transform grace angular map to polar (latitude-longitude) projection applying bilinear interpolation and 3x3 oversampling, while rotating it by 90 degrees around Y axis. The image will be resized to 500x250 pixels (as the polar projection has 2:1 width-to-height ratio) and finally saved in grace.hdr.
Please report bugs and comments to Miloslaw Smyk <[email protected]>.