Differences between revisions 10 and 11
 ⇤ ← Revision 10 as of 2010-01-08 21:38:53 → Size: 2438 Editor: penczek Comment: ← Revision 11 as of 2013-07-01 13:12:38 → ⇥ Size: 2440 Editor: localhost Comment: converted to 1.6 markup Deletions are marked like this. Additions are marked like this. Line 7: Line 7: . Here are some examples of creating a Transform3D object. Much more here: [http://blake.bcm.edu/emanwiki/Eman2TransformInPython]. . Here are some examples of creating a Transform3D object. Much more here: [[http://blake.bcm.edu/emanwiki/Eman2TransformInPython]].

Transform Class

# Usage

## Examples

All angles are in degrees

def get_params2D(ima, xform = "xform.align2d"):

• """
• retrieve 2D alignment parameters from the header alpha tx ty mirror scale
"""
• t = ima.get_attr(xform)
• d = t.get_params("2D")
• return d[ "alpha" ], d[ "tx" ], d[ "ty" ], d[ "mirror" ], d[ "scale" ]

def set_params2D(ima, p, xform = "xform.align2d"):

• """
• set 2D alignment parameters in the header alpha tx ty mirror scale
"""
• t = Transform({"type":"2D","alpha":p,"tx":p,"ty":p,"mirror":p,"scale":p})
• ima.set_attr(xform, t)

def get_params3D(ima, xform = "xform.align3d"):

• """
• retrieve 3D alignment parameters from the header phi theta psi tx ty tz mirror scale
"""
• t = ima.get_attr(xform)
• d = t.get_params("spider")
• return d[ "phi" ], d[ "theta" ], d[ "psi" ], d[ "tx" ], d[ "ty" ], d[ "tz" ], d[ "mirror" ], d[ "scale" ]

def set_params3D(ima, p, xform = "xform.align3d"):

• """
• set 3D alignment parameters in the header phi theta psi tx ty tz mirror scale
"""
• t = Transform({"type":"spider","phi":p,"theta":p,"psi":p,"tx":p,"ty":p,"tz":p,"mirror":p,"scale":p})
• ima.set_attr(xform, t)

def get_params_proj(ima, xform = "xform.projection"):

• """
• retrieve projection alignment parameters from the header phi theta psi s2x s2y
"""
• t = ima.get_attr(xform)
• d = t.get_params("spider")
• return d[ "phi" ], d[ "theta" ], d[ "psi" ], -d[ "tx" ], -d[ "ty" ]

def set_params_proj(ima, p, xform = "xform.projection"):

• """
• set projection alignment parameters in the header phi theta psi s2x s2y
"""
• t = Transform({"type":"spider","phi":p,"theta":p,"psi":p})
• t.set_trans(Vec2f(-p, -p))
• ima.set_attr(xform, t)

Notes:

• a) We could have used EMAN, IMAGIC, SPIN, QUATERNION, SGIROT, MRC, XYZ, MATRIX instead of the SPIDER of EULER_SPIDER above.

# Description

Purpose: to apply rotation/shift/scaling operations for 2D or 3D images via a variety of methods.

P.A. Penczek

P. R. Baldwin

category 1
FUNDAMENTALS

libEM