---
name: "pfspanoramic"
section: "1"
platform: "linux"
package: "pfstools"
version: "2.2.0-9"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/pfspanoramic"
---

# pfspanoramic(1)

Perform projective transformations of spherical images

## 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

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.

## OPTIONS

- \--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.

## EXAMPLES

- 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.

## SEE ALSO

[**pfsin**(1)](/pfsin/1.md) [**pfsout**(1)](/pfsout/1.md)

## BUGS

Please report bugs and comments to Miloslaw Smyk \<thorgal@wfmh.org.pl\>.
