ROT L - ROTate volume around specified line

(11/04/11)

PURPOSE

Rotates a volume around specified line by a specified angle. Can choose type of interpolation (which affects accuracy) and corner values. This operation replaces: , 'RT 3LS',   Example.

SEE ALSO

ROT [ROTate image/volume around center by specified angle(s)]
ROT A [ROTate image/volume around arbitrary center]

USAGE

.OPERATION: ROT L

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

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

.ROTATION ANGLE: 10.5
[Enter the rotation angle in degrees.]

.X, Y, & Z FOR FIRST POINT ON ROTATION AXIS: 50,50,1
[Enter location of one point on the rotation axis.]

.X, Y, & Z FOR SECOND POINT ON ROTATION AXIS: 50,50,50
[Enter location of another point on the rotation axis.]

.TRI- LINEAR OR TRI- QUADRATIC INTERPOLATION (L,Q): Q
[Quadratic interpolation is slower than linear interpolation.]

If Tri-quadratic interpolation is requested following question appears:

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

NOTES

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

SUBROUTINES

ROTATES, ROTATES3Q, ROTATES3L, ROTL3

CALLER

UTIL3