Euler angles convention

From Dynamo
Revision as of 17:06, 28 April 2016 by Daniel Castaño (talk | contribs)
Jump to navigation Jump to search

Dynamo uses a ZXZ convention to express the rotation in terms of Euler angles. A triplet of Euler angles is read as [tdrot, tilt, narot], with the following visual depiction: imagine a particle with an axis aligned with the z direction. The action of the triplet of angles of this particle would be like this.

  1. tdrot (for tilt direction gets rotated)
    The particle rotates clockwise about its z axis.
  2. tilt
    the particle rotates clockwise about its new x axis.
  3. narot (for NewAzymuthal rotation)
    the particle rotates clockwise about its new z axis.

In the context of subtomogram averaging, they are understood as the rotation that we need to operate on the template in order to align it with the particle. Note that the inverse rotation would be parametrized -[narot, tilt, tdrot], i.e., applying the inverse of each original rotation, in reversed order.

Technical information

Subtomogram averaging requires continuously the combined application of shifts and rotations onto different type of objects. Dynamo includes several low level commands that allow the application of this rigid body transformations to different entities: volumes, points or tables. These transformations are defined as a the sequential application of a rotation and a translation (marked with ‘type’ rotshift), or a translation of a rotation (marked with ‘type’ shiftrot). Dynamo handles them explicitely by “rigid body” structures created with dynamo_rigid. The same geometric transformation can be represented equivalently with a ‘rotshift’ or a ‘shiftrot’, that is, both forms are different parameterizations of the same operation. Each of these different parameterizations will be more 21 adequate than the other depending on the situation, and it is frequently useful to switch between the representations of the same object. Some of the command line utilities intended for these tasks are dynamo_rigid, dynamo_rigid_apply, dynamo_rigid_compose, dynamo_rigid_inverse.