**PURPOSE**- Rotate a volume by three Eulerian angles using tri-quadratic interpolation.

**SEE ALSO****RT**[RoTate - image or volume, use average as background, bilinear interpolation] **RT 3**[RoTate - volume, slow] **RT 3A**[RoTate - volume, arbitrary center, quadratic interpolation] **RT 3DS**[RoTate - volume, fast, tri-linear interpolation] **RT 3L**[RoTate - volume around an arbitrary line] **RT 90**[RoTate - image or volume, by 90, 180, or 270 degrees] **RT B**[RoTate - image or volume, supply Background, bilinear interpolation] **RT M**[RoTate - image or volume, use minimum as background, bilinear interpolation]

**USAGE**- .OPERATION: RT 3D

- .INPUT FILE: PIC001

[Enter name of the file to be rotated.].OUTPUT FILE: ROT001

[Enter name of the file where the rotated volume is to be stored.].PHI, THETA, & PSI: 10.5, 13.7, 45.8

[Enter the rotation angles Phi (around Z), Theta (around Y), and Psi (around Z).]

**NOTES**

- Program reads first volume into the memory - larger volumes
may not fit. In this case use 'RT 3' instead. Unfortunately
'RT 3' gives slightly incorrect results, does not use the
proper interpolation scheme, and has sign of theta reversed.
- First rotation is done around Z-axis (clockwise),
second rotation is done around Y-axis (clockwise) and
third rotation is done around Z-axis (clockwise).
All rotations are done in space coordinate system.
- 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

- In the 'corners', old values are left. Sometimes this
leads to non-intuitive results. E.g. a simple rotation around
the Z axis (psi = 0) leave the first and last slices of
a volume unrotated. If this causes problems you will have to
mask the resulting volume.
- How to determine parameters to match volumes:

If both X and Y axis rotations are needed, it may be simpler to use two rotations consecutively.

Pick a slice (either X or Y) from the volume and do a test rotation in 2D using operation: 'RT'.

Change the sign of the angle you determined using 'RT' and apply the angles as shown here.

For X rotation: 90, -angle, -90

For Y rotation: 0, -angle, 0

(Note provided by: Mike Marko) (Interpolation quality will be poorer.) - Implemented by A. Leith.

**SUBROUTINES**- ROTAS3, ROTS3Q, BLDR

**CALLER**- UTIL3

© Copyright Notice / Enquiries: spider@wadsworth.org