Differences between revisions 37 and 38
Revision 37 as of 2013-07-01 13:12:45
Size: 2191
Editor: localhost
Comment: converted to 1.6 markup
Revision 38 as of 2015-07-06 21:18:53
Size: 2508
Editor: penczek
Comment:
Deletions are marked like this. Additions are marked like this.
Line 19: Line 19:

== Method ==
The rotation is performed first, second the shift (in one interpolation step). The scale will change the 'physical pixel size' of the image (scale >1 will reduce the pixel size, scale<1 will increase it). Note rescaling will not change the image size in pixels; to do that, use command [[resample]].

Name

rot_shift2D - Rotate, shift, mirror, and scale a 2-D image.

Usage

output = rot_shift2D(image, alpha, sx, sy, mirror, scale, interpolation_method)

Input

image
input image
alpha

in plane rotation angle (Note this angle is different from Euler in plane angle psi). Check I_O about 2D & 3D alignment parameter related conventions

sx
2-D x shift
sy
2-D y shift
mirror
0. does not mirror 1. mirror over x-axis
scale

re-scale size ratio after applying rotation. The scale will change the 'physical pixel size' of the image (scale >1 will reduce the pixel size, scale<1 will increase it). Note re-scaling will not change the image size in pixels; to do that, use command resample.

  • Attention: scale cannot be set as 0.
interpolation_method
interpolation method used to transform the image (default is set to "quadratic" in global_def.py).

Output

output
the transformed image

Method

The rotation is performed first, second the shift (in one interpolation step). The scale will change the 'physical pixel size' of the image (scale >1 will reduce the pixel size, scale<1 will increase it). Note rescaling will not change the image size in pixels; to do that, use command resample.

Options

interpolation_method
  • "linear" use linear interpolation to sample the rotated image
  • "quadratic" use quadratic interpolation to sample the rotated image
  • "gridding" use gridding to sample the rotated image ( This method is very slow )

Description

  • The rotation, shift, and scaling are achieved using the following procedure:
    • Construct a transformation matrix (a class objection of C++ or python) from the in_plane angles through Transform3D.
    • set translation attribute of the object to take care of translation shifts.
    • set scale attribute of the object to include scaling factor.
    • apply the class object to input image.
    • See P. R. Baldwin et al. below to find out how to construct transformation class.

Author / Maintainer

Zhong Huang

Keywords

category 1
FUNDAMENTALS

Files

fundamentals.py

See also

rtshg, rot_shift3D

Reference

  • P R Baldwin , Pawel A Penczek, The Transform Class in SPARX and EMAN2. J. Struct. Biol. 157 (2007), pp. 251-261.

Maturity

stable
works for most people, has been tested; test cases/examples available.

Bugs

None. It is perfect.

rot_shift2D (last edited 2015-07-06 21:18:53 by penczek)