ROT - ROTate image/volume around center by specified angle(s)

(10/24/11)

PURPOSE

Rotates an image/volume around center by specified angles. Can choose type of interpolation (which affects accuracy) and corner values. This operation replaces: 'RT', 'RT M', 'RT B', 'RT 3', 'RT 3D', and 'RT 3DS'   Example.

 ROT A [ROTate image/volume around arbitrary center] ROT L [ROTate volume around specified line] RT SF [Rotate and Shift - image, Fourier based spline interpolation ||] RT SQ [Rotate and Shift - image, Quadratic interpolation ||]

USAGE

.OPERATION: ROT

.INPUT FILE: PIC001
[Enter the name of the file to be rotated.]

.OUTPUT FILE: ROT001
[Enter the name of the file where the rotated input is to be stored.]

If input is a image SPIDER asks:

.Rotation angle: 10.5
[Enter the rotation angle (in degrees). Positive rotations appear counter-clockwise]

If input is a volume SPIDER asks:

.PHI, THETA, & PSI: 10.5, 13.7, 45.8
[Enter the Eulerian angle for the rotation (in degrees): Phi (around Z), Theta (around Y), and Psi (around Z).]

.LINEAR, QUADRATIC, OR FBS INTERPOLATION (L,Q,F): F
[Linear interpolation is faster but inferior to quadratic interpolation. Fourier-based spline interpolation gives best interpolation accuracy. Image interpolation is bi-linear, bi-quadratic or FBS. Volume interpolation is tri-linear, tri-quadratic, or FBS.]

.UNROTATED, AVG, MIN, OR SPECIFIED CORNERS (U,A,M,2.5): AVG
[Sets value for corner values, can input a numerical value or use input specific values.]

NOTES

1. Program usually reads volume into memory - huge volumes may not fit.

2. For volumes positive rotations are clockwise.

3. Rotation matrix used:
```
R = R(psi) * R(theta) * R(phi)
c  s  0        c  0 -s       c  s  0
-s  c  0    *   0  1  0   *  -s  c  0
0  0  1        s  0  c       0  0  1
```

4. Implemented by P. Penczek, A. Leith, & G. Kishchenko.

SUBROUTINES

ROTATES, ROTATES3L, ROTATES3Q, ROTATES3FBS, RTSQ, RTSF, FBS2, FBS3

CALLER

UTIL3