Testing Images and Image Rotations for Compliance to 3DEM Image Conventions

 

3DEM Image Conventions
Heymann et al. (2005) "Common conventions for interchange and archiving of three-dimensional electron microscopy information in structural biology" Journal of Structural Biology 151, 196-207; Corrigendum (2006) 153, 312.



Test image:  a model of a human left hand (boneless)
In the standard orientation, the palm faces the direction of the positive x-axis and the middle finger points in the direction of the positive z-axis.  The model is given as a density map in three datatypes.  Image origin (x,y,z) = (49.0, 49.0, 49.0), in pixel units.
Datatype, C (FORTRAN)
Size, bytes
Link to File, CCP4 (.map) or MRC (.mrc) format
byte (BYTE or INTEGER*1)
971323
left_hand_b.mrc
short (INTEGER*2)
1941622
left_hand_s.map
float (REAL*4)
3882220
left_hand_f.map



Coordinate and rotation convention
Coordinate convention is right-handed Cartesian coordinate system.  Display convention is for x-axis to increase from left to right, y-axis to increase from bottom to top, and z-axis to increase from back to front (pointing at viewer) as shown:
Diagram of x,y,z axes
A positive rotation is defined as anti-clockwise (for the coordinate system) when viewed with the axis of rotation pointing at the viewer.  For example, a rotation from the x-axis to the y-axis (about the z-axis) is positive.  Note that the object will rotate clockwise when the coordinate system rotates anti-clockwise.



Orientation Conventions:  Two inter-convertible notations

Euler Angles
Euler angles are three successive axial rotations:  1) phi, a rotation about the z-axis; 2) theta, a rotation about the y'-axis; and 3) psi, a rotation about the z''-axis.
Diagram of Euler angle convention, comparison to longitude, latitude, and compass bearingDiagram of Euler angle convention

View Vector and Angle
A unit vector (length, r=1) described by coordinates {x,y,z} and an angle of rotation (alpha) about that vector.
Diagram of View vector and angle

Equations to Inter-convert Between Euler Angles and View Vector and Angle
    x = cos(phi) sin(theta)
    y = sin(phi) sin(theta)
    z = cos(theta)
alpha = phi + psi

  phi = arctan(y/x)

theta = arccos(z)
  psi = alpha - phi

if x = y = 0, then phi = 0 deg. (theta = 0 or 180 deg.)




Table of orientations and corresponding pictures for test image
All angles are given in degrees.
Euler Angles

View Vector and Angle

Rotation Matrix*
{x,y,z}={1,0,0} rotated to**

Surface
Rendering
Projection
View
***Section
26
***Section
49 (central)
***Section
54

Comment
phi
theta psi x
y
z
alpha
x'
y'
z'
0
0
0
0
0
1
0
1   0   0
0   1   0
0   0   1
1
0
0
surface rendering of map at Euler angles 0,0,0
projection of map at Euler angles 0,0,0
section 26 of map at Euler angles 0,0,0
section 49 (central section) of map at Euler angles 0,0,0
section 54 of map at Euler angles 0,0,0
This orientation is the standard view.
0
0
45
0
0
1
45
   0.7071  0.7071  0
  -0.7071  0.7071  0
    0       0      1
0.7071
-0.7071
0
surface rendering of map at Euler angles 0,0,45
projection of map at Euler angles 0,0,45
section 26 of map at Euler angles 0,0,45
section 49 (central section) of map at Euler angles 0,0,45
section 54 of map at Euler angles 0,0,45
Positive rotation is defined****
0
90
0
1
0
0
0
0   0  -1
0   1   0
1   0   0
0
0
1
surface rendering of map at Euler angles 0,90,0
projection of map at Euler angles 0,90,0
section 26 of map at Euler angles 0,90,0
section 49 (central section) of map at Euler angles 0,90,0
section 54 of map at Euler angles 0,90,0
Positive x-axis pointing at viewer
90
90
0
0
1
0
90
 0   0  -1
-1   0   0
 0   1   0
0
-1
0
surface rendering of map at Euler angles 90,90,0
projection of map at Euler angles 90,90,0
section 26 of map at Euler angles 90,90,0
section 49 (central section) of map at Euler angles 90,90,0
section 54 of map at Euler angles 90,90,0
Positive y-axis pointing at viewer
180
90
0
-1
0
0
180
 0   0  -1
 0  -1   0
-1   0   0
0
0
-1
surface rendering of map at Euler angles 180,90,0
projection of map at Euler angles 180,90,0
section 26 of map at Euler angles 180,90,0
section 49 (central section) of map at Euler angles 180,90,0
section 54 of map at Euler angles 180,90,0
Negative x-axis pointing at viewer
45
120
60
0.612
0.612
-0.5
105
-0.7891  0.4356 -0.4330
-0.0474  0.6597  0.7500
 0.6124  0.6124 -0.5000

-0.7891
-0.0474
0.6124
surface rendering of map at Euler angles 45,120,60
projection of map at Euler angles 45,120,60
section 26 of map at Euler angles 45,120,60
section 49 (central section) of map at Euler angles 45,120,60
section 54 of map at Euler angles 45,120,60
Arbitrary orientation
0
180
0
0
0
-1
0
-1   0   0
 0   1   0
 0   0  -1
-1
0
0
surface rendering of map at Euler angles 0,180,0
projection of map at Euler angles 0,180,0
section 26 of map at Euler angles 0,180,0
section 49 of map at Euler angles 0,180,0
section 54 of map at Euler angles 0,180,0
-Negative z-axis pointing at viewer
0
180
225
0
0
-1
225
  0.7071 -0.7071  0
 -0.7071 -0.7071  0
    0       0    -1
0.7071 -0.7071 0
surface rendering of map at Euler angles 0,180,225
projection of map at Euler angles 0,180,225
section 26 of map at Euler angles 0,180,225
section 49 of map at Euler angles 0,180,225
section 54 of map at Euler angles 0,180,225
-Negative z-axis pointing at viewer, rotate -135 deg.

*Rotation matrices are displayed in the following order:

    r11   r12   r13

    r21   r22   r23
    r31   r32   r33


**The vector used in this example (1,0,0) is normal to the palm of the hand.  Arbitrary {x,y,z} coordinates are transformed to {x',y',z'} by the rotation matrix in the following manner:
Applying the rotation matrix to arbitrary {x,y,z} coordinates


***Along current z-axis of map.  First section is numbered zero.  Section 49 is the central section of the map.  (Add one to each number if first section is numbered one)


****A positive rotation is defined as an anti-clockwise rotation of the coordinate system and clockwise rotation of the object (axis of rotation pointing at the viewer)



back to main 3DEM Image Conventions page

by David Belnap, 10 Nov 2006
Comments, problems, questions?  Please send to David_Belnap@byu.edu