Euler angles convention
Dynamo uses a ZXZ convention to express the rotation in terms of Euler angles. A triplet of Euler angles is read with the colourful names [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.
- tdrot (for tilt direction gets rotated)
- The particle rotates clockwise about its z axis.
- the particle rotates clockwise about its new x axis.
- narot (for new azymuthal 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 as -[narot, tilt, tdrot], i.e., applying the inverse of each original rotation, in reversed order.
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.