RT SQ - Rotate and Shift - image, Quadratic interpolation ||

(03/30/12)

PURPOSE

Rotates, scales, and shifts image circularly. (Circularly means image is assumed to be periodic). Rotates counter-clockwise around the image center (NX/2 + 1, NY/2 + 1). (Negative angles = clockwise. Output image has SAME size as input image. Order: Scales, rotates, shifts.   Example.

SEE ALSO

RT SF [Rotate and Shift - image, Fourier based spline interpolation ||]
ROT [ROTate image/volume around center by specified angle(s)]
RB 3F [Rotate, Shift, Back Projection in Fourier space |]
SH [Shift - using bilinear/trilinear interpolation ||]
SH F [Shift - using Fourier interpolation ||]

USAGE

.OPERATION: RT SQ

.INPUT FILE NAME OR TEMPLATE (E.G. STK@****): INSTACK03@
[Enter the name of the file to be altered. This name can be for a single file, a whole stack (ending in @), or a template for a set of images (e.g stack3@****** or fil***). Templates containing an asterisk will have the astericks substituted with a number for the file.]

If there is only a single input file specified the following final four prompts appear:

.OUTPUT FILE: rot001
[Enter the name of the file for the rotated and shifted image.]

.ROTATION ANGLE, SCALE: 90, 1
[Enter the rotation angle in degrees, and scale factor (>0). Default scale is set to 1.0 (see Note 2).]

.X, Y SHIFT : 12.34, -1.98
[Enter the X and Y shift distances.]

Otherwise if the input file name contains astericks for a set of images the following prompts appear:


.FILE NUMBERS OR SELECTION DOC. FILE NAME: select_03
[Enter the file numbers to be substituted into the file name template or name of a selection document file that contains the file numbers in the first register.]

.REGISTER POSITIONS FOR ANGLE, SCALE, X, & Y SHIFT: 6 0 78
[Enter the register positions in the document file where these parameters are found. If scale register is zero the scale defaults to 1.0. Note that the first two columns in a document file are NOT not called registers so the 3'rd column is the first register. ]

.ANGLE/SCALE/SHIFT DOCUMENT FILE: ANGDOC
[Name of document file that contains angle in degrees, scale factor (>0), X, and Y shifts.

.OUTPUT FILE: STACK03@
[Enter the name of the stack file where the rotated and shifted images are to be placed. This stack will contain the whole set of images.

Otherwise if the input file name contains astericks for a set of images the following prompts appear:

.FILE NUMBERS OR SELECTION DOC. FILE NAME: select_03
[Enter the file numbers to be substituted into the file name template or name of a selection document file that contains the file numbers in the first register.]

.REGISTER POSITIONS FOR ANGLE, SCALE, X, & Y SHIFT: 6, 0, 7, 8
[Enter the register positions in the document file where these parameters are found. If scale register is zero the scale defaults to 1.0. Note that the first two columns in a document file are NOT not called registers so the 3'rd column is the first register. ]

.ANGLE/SCALE/SHIFT DOCUMENT FILE: ANGDOC
[Name of document file that contains angle in degrees, scale factor (>0), X, and Y shifts.

.OUTPUT IMAGE FILE NAME OR TEMPLATE (E.G. STK@****): outstk@***
[Enter template for the names of the output image files. The rotated and shifted images are placed in these files. This template can alternatively refer to a series of single images (e.g. img***), or to a series of stacked images (e.g stack3@***), or to a whole stack of images ending in '@' (e.g. stk@). Templates containing an asterisk will have the astericks substituted with a number for the file.]

Otherwise if the input file is a whole stack the following prompts appear:

.REGISTER POSITIONS FOR ANGLE, SCALE, X, & Y SHIFT: 6, 0, 7, 8
[Enter the register positions in the document file where these parameters are found. If scale register is zero the scale defaults to 1.0. Note that the first two columns in a document file are NOT not called registers so the 3'rd column is the first register. ]

.ANGLE/SCALE/SHIFT DOCUMENT FILE: ANGDOC
[Name of document file that contains angle in degrees, scale factor (>0), X, and Y shifts.

.OUTPUT STACK FILE: STACK03@
[Enter the name of the file where the centerd images are to be placed. This output file will be a whole stack. Image numbers within the stack will correspond to the input stack]

Different prompt variations occur for other possible combinations of input and output file stacks.

NOTES

  1. The operation is done using a single interpolation of the input image; thus, there is no problem of accumulation of interpolation errors.

  2. A change of scale does not change the image dimensions. All the parameters agree with the output of the marker program (operation 'MK').

  3. The input file may be three-dimensional. In this case, each of the slices is separately rotated and shifted with respect to the z-axis, and stored in the output file, which will be created with the same dimensions.

  4. Shifts can be any real numbers.

  5. The accuracy of interpolation is higher than that of the bilinear interpolation used in the 'RT' operation, but it is much lower than the accuracy of Fourier based bicubic spline used in: 'RT SF'. The speed, however, about 2.5 times faster than 'RT SF' interpolation.

  6. Since interpolation is used, it is possible for the output image min. & max. intensities to be outside the range of the input image.

  7. Implemented by: P. Penczek.

SUBROUTINES

ROTQSS, RTSQ, QUADRI, GETDOCDAT

CALLER

UTIL3